Dènyèman, Xygeni te obsève yon modèl enkyete nan peyizaj atak chèn ekipman lojisyèl an 2025., ki parèt atravè de jesyonè pakè popilè: P&PI ta dwe apwouve bèso tibebe w la epi npmKòm yon pati nan efò kontinyèl nou yo pou nou jwenn enfòmasyon sou menas,Avètisman Bonè sou Lojisyèl Malveyan Xygeni a (MEW) Zouti a te idantifye yon egzanp diferan men metodolojikman menm jan an nan yon pake move ki te telechaje nan yon lòt rejis anvan. Ka sa a mete aksan sou kijan aktè menas yo ap evolye epi reitilize teknik atak atravè ekosistèm yo, espesyalman atravè pakè Python move ta dwe apwouve bèso tibebe w la epi pakè npm move, sa ki ogmante risk pou pakè move yo enfiltre nan chenn ekipman sous ouvè yo.
MEW Xygeni a: Detekte resanblans yo
Zouti MEW Xygeni a fèt pou detekte epi siyalize pakè move, sitou sa yo ki lye ak Atak Chèn Apwovizyonman Lojisyèl an 2025, le pli vit ke yo pibliye nan rejis sous ouvè. Li fonksyone lè li analize nouvo pakè yo pou konpòtman sispèk.
Nan ka sa a, li te idantifye de pakè Python move (graphalgo sou PyPI) ak pakè npm move (express-cookie-parser sou npm).
Pakè Python ak npm move nan atak chèn ekipman lojisyèl (2025)
Ann eksplore karakteristik komen ki te deklanche alèt nou yo:
typosquatting
Yo toulede te eseye imite pakè popilè ki deja egziste yo.
- grafalgo (PyPI): "Pakè Python pou kreye ak manipile graf ak rezo."Telechaje pa yon itilizatè ki rele "larrytech" Nan dat 13 jen 2025, pake sa a te prezante tèt li kòm yon altènativ PyPi pou pwojè orijinal graphalgo ki pa move a, ki pita te vin rele graphdict.
- analizè-bonbon-eksprès (npm)Pake sa a te imite pake analizè bonbon byen koni an, menm reflete li README.md. Imitasyon sa a se yon taktik klasik pou pwofite konfyans ki deja egziste.
Obfuskasyon kòm yon premye liy defans
Toulede pakè yo te kache kòd move yo nan dosye orijinal yo. Pou grafalgo, yo te jwenn kòd ki te bouche a anndan /utils/load_libraries.py. Nan ka a nan analizè-bonbon-eksprès, cookie-loader.min.js te genyen chaj itil ki te bouche a.
Premye kouch obfuskasyon sa a tipikman itilize pou anpeche enspeksyon aksidantèl ak analiz estatik. Obfuskasyon an te byen senp: konpresyon ZLib repete plis kodaj Base64. Kalite obfuskasyon sa a endike klèman ke lojisyèl la ap eseye kache konpòtman li. Ansanm ak lòt prèv, sa te pèmèt Xygeni MEW klase pakè yo kòm malveyan potansyèl. Pandan etap konfimasyon an, evalyatè nou yo te prepare san pèdi tan yon script deobfuskasyon ki te revele etap dropper move a.
Livrezon Chaj Plizyè Etap ak yon Pwen Orijin Pataje
Toulede pakè yo te fonksyone kòm inisyal "gout"," prepare teren an pou vrè chay la. Yo te pataje yon ekstèn komen "pitit pitit"URL fichye a:https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
Fichye grenn ekstèn sa a ki idantik se yon endikatè solid de yon aktè menas pataje. Sa ki enteresan, kontni fichye grenn sa a sanble ak varyab anviwònman senp (pa egzanp, JWT_SECRET, PORT), sa ki ka twonpe moun lè y ap tcheke fonksyon reyèl li.
Rezolisyon C2 dinamik ak yon DGA
Yon taktik sofistike yo obsève nan pakè move sa yo se itilizasyon yon Algorit Jenerasyon Domèn (DGA) pou rezoud sèvè Kòmand ak Kontwòl (C2) la dinamikman. Teknik sa a, souvan wè nan atak chèn ekipman lojisyèl avanse an 2025, depann sou yon hach SHA256 ki sòti nan kontni fichye grenn nan, konbine avèk lòt valè kode an dirèk. Lè yo fè sa, enfrastrikti C2 a chanje souvan, sa ki fè lis nwa tradisyonèl la mwens efikas. Nan ka sa a, varyant npm nan te itilize yon valè fiks de 496AAC7E kòm yon pati nan lojik DGA li a.
Etabli pèsistans
Toulede atakè yo te vle etabli yon prezans dirab sou sistèm ki afekte yo. Estrateji yo te enplike lage yon dosye, startup.py (pou PyPi) oubyen startup.js (pou npm), nan anyè done itilizatè Google Chrome komen atravè divès sistèm operasyon (Windows, Linux, macOS).
Netwayaj apre ekzekisyon
Pou minimize tras yo, toulede script move yo te fè operasyon netwayaj. Sa te gen ladan l efase fichye dropper inisyal yo (load_libraries.py, cookie-loader.min.js) epi modifye fichye pakè lejitim yo (__init__.py, index.js) pou retire referans yo sou konpozan ki efase kounye a yo.
Endikatè Konpwomi nan Pakè Python ak npm Malveyan
- Pakè PyPIgraphalgo (pibliye pa larrytech, 13 jen 2025)
- Pake npm: express-cookie-parser (espesyalman vèsyon 1.4.12)
- Aksè a URL Grenn Pataje a:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
- Non Fichye Pèsistan:
startup.py(Python)startup.js(JavaScript) - Chemen Pèsistan Komen (depann sou sistèm operasyon an)Nan anyè done itilizatè Google Chrome yo (pa egzanp,
AppData\Local\Google\Chrome\UserData\Scripts\sou Windows,~/.config/google-chrome/Scripts/sou Linux, elatriye).
Kijan pou defann kont pakè move nan atak chèn ekipman lojisyèl an 2025
Yon Apwòch Rekòmande pou Devlopè yo
Ensidan sa a sèvi kòm yon etid ka enpòtan nan jaden menas atak chèn ekipman lojisyèl k ap evolye an 2025. Li mete aksan sou kijan pakè Python move ak pakè npm move ka glise nan ekosistèm ou fè konfyans, souvan yo evite deteksyon jiskaske li twò ta. Se poutèt sa deteksyon bonè, zouti entelijan, ak ijyèn sistèm proaktif kounye a se pati esansyèl nan nenpòt workflow DevOps ki an sekirite. Yo ankouraje devlopè yo pou yo konsidere bagay sa yo:
Revizyon Depandans
Si pwojè ou yo te gen ladan yo grafalgo or analizè-bonbon-eksprès, li ta pridan pou kontinye ak retire yo.
- Pou PyPI:
pip uninstall graphalgo - Pou npm:
npm uninstall express-cookie-parser
Ijyèn Sistèm
Konsidere fè yon analiz konplè sou sistèm nan. Li rekòmande tou pou tcheke manyèlman chemen komen anyè done itilizatè Chrome yo pou nenpòt erè inatandi. startup.py or startup.js dosye.
Mezi sekirite pwoaktif
- Evalye Nouvo Depandans yoEtabli yon woutin pou evalye nouvo pakè yo byen anvan entegrasyon yo, sitou sa ki soti nan men piblikatè ou pa konnen.
- Entegre Zouti Sekirite yoZouti tankou MEW Xygeni a, ansanm ak lòt zouti analiz konpozisyon lojisyèl (SCA) solisyon yo, ka bay yon kouch defans kritik lè yo idantifye konpòtman sispèk ak vilnerabilite yo.
- Pi piti PrivilèjOpere anviwònman devlopman ak prensip privilèj minimòm lan ka ede limite enpak potansyèl yon konpwomi.
- Konsyantizasyon rezoSiveyans trafik rezo sortan pou koneksyon dwòl ka pafwa revele kominikasyon C2 ki pwodui pa DGA.
Konpozan kle nan load_libraries.py (soti nan grafalgo)
download_remote_content(): Jere rechèch fichye ki soti nan URL espesifik yo.run_process()Egzekite script Python ekstèn yo yon fason detache, siprime rezilta a pou l rete diskrè.get_output_file_path()Detèmine kote sistèm ideyal la pou fichye startup.py pèsistan an.remove_self()Òkestre netwayaj apre ekzekisyon premye fichye move yo ak modifikasyon pakè yo.simple_shift_encrypt()/simple_shift_decrypt()Fonksyon kriptografik pèsonalize pou kache chanèl kominikasyon yo, ki enpòtan pou aplikasyon DGA a.load_libraries()Fonksyon santral ki kowòdone tout pwosesis plizyè etap la, depi telechajman inisyal la rive nan ekzekisyon final chaj la ak netwayaj la.
Konsekans
Menm jan ak lòt pakè potansyèlman move ke MEW te idantifye, pare-feu depandans lan te pwoteje imedyatman itilizatè ki ta mete pakè move sa yo nan depandans yo. Apre konfimasyon, nou te swiv pwosedi notifikasyon yo pou tou de rejis yo, ki apre revizyon yo te retire tou de pakè yo.





