PhantomRaven ļaunprogrammatūra
Kiberdrošības pētnieki ir atklājuši ļoti aktīvu programmatūras piegādes ķēdes uzbrukumu, kas vērsts pret npm ekosistēmu. Ir identificētas vairāk nekā 100 ļaunprātīgas pakotnes, kas spēj nozagt sensitīvus izstrādātāju akreditācijas datus, tostarp autentifikācijas žetonus, CI/CD noslēpumus un GitHub akreditācijas datus, tieši no apdraudētajām iekārtām.
Kampaņa ar kodēto nosaukumu PhantomRaven pirmo reizi parādījās 2025. gada augustā. Kopš tā laika tā ir paplašinājusies līdz 126 npm bibliotēkām un ieguvusi vairāk nekā 86 000 instalāciju, demonstrējot šo ļaunprātīgo pakotņu straujo izplatību un pieņemšanu.
Satura rādītājs
Ļaunprātīgas paketes, kas lido zem radara
Vairākas no atzīmētajām pakotnēm ietver:
- op-cli-installer — 486 lejupielādes
- neizmantots imports — 1350 lejupielādes
- badgekit-api-client – 483 lejupielādes
- polyfill-corejs3 — 475 lejupielādes
- eslint-comments — 936 lejupielādes
PhantomRaven īpaši viltīgu padara attālo dinamisko atkarību (RDD) izmantošana. Ļaunprātīgās pakotnes nevis iegūst kodu no oficiālā npm reģistra, bet gan norāda uz pielāgotu HTTP URL (packages.storeartifact.com). Tas ļauj npm iegūt atkarības no neuzticama ārēja avota, efektīvi apejot npmjs.com aizsardzību.
Tradicionālie drošības skeneri un atkarību analīzes rīki nespēj noteikt šos RDD, jo automatizētās sistēmas uzskata, ka pakotnēm ir “0 atkarību”.
Kā darbojas uzbrukums
Uzbrukuma ķēde sākas, tiklīdz izstrādātājs instalē kādu no šķietami nekaitīgajām pakotnēm. Galvenie elementi ir šādi:
Pirmsinstalēšanas āķa izpilde : pakotnē ir iekļauts pirmsinstalēšanas dzīves cikla skripts, kas automātiski izpilda galveno vērtumu.
Attālā lietderīgās slodzes izguve : skripts izgūst ļaunprātīgo atkarību no uzbrucēja kontrolētā servera.
Datu izspiešana : Pēc palaišanas ļaunprogrammatūra skenē izstrādātāja vidi, meklējot e-pasta adreses, apkopo CI/CD vides informāciju, veic sistēmas pirkstu nospiedumu pārbaudi (tostarp publisko IP adresi) un nosūta datus uz attālo serveri.
Uzbrucējs var pēc vēlēšanās modificēt lietderīgo slodzi, sākotnēji pasniedzot nekaitīgu kodu, lai izvairītos no atklāšanas, pirms ļaunprātīgu atjauninājumu ieviešanas, tiklīdz pakotne ir pieņemta.
Cilvēka un mākslīgā intelekta aklo zonu izmantošana
Pakotņu nosaukumu izvēle ir apzināta. Apdraudējuma cēlonis izmanto taktiku, kas pazīstama kā slopsquatting (nepamatota nosaukumu iegūšana), kur lielie valodu modeļi (LLM) halucinē neesošus, bet ticami skanošus pakotņu nosaukumus. Izstrādātāji var uzticēties šīm pakotnēm to reālistisko nosaukumu dēļ, neapzinoties slēpto apdraudējumu.
Kā norāda pētnieki, PhantomRaven uzsver uzbrucēju pieaugošo izsmalcinātību:
- Attālās dinamiskās atkarības apiet statisko analīzi.
- Mākslīgā intelekta ģenerēti pakotņu nosaukumi izmanto izstrādātāju uzticību.
- Dzīves cikla skripti tiek izpildīti automātiski bez lietotāja iejaukšanās.
Šī kampaņa uzsver, kā ļaunprātīgi dalībnieki atrod jaunus veidus, kā paslēpt kodu atvērtā pirmkoda ekosistēmās, izmantojot tradicionālo drošības rīku nepilnības.
Kāpēc npm ir galvenais mērķis
NPM ekosistēmas zemā berze pakotņu publicēšanai apvienojumā ar pirmsinstalēšanas, instalēšanas un pēcinstalēšanas skriptu automātisku izpildi padara to par galveno mērķi. Uzbrucēji var paslēpt ļaunprātīgu rīcību dzīves cikla skriptos, bieži vien bez izstrādātāja ziņas, kas ilustrē nepieciešamību pēc paaugstinātas modrības un stabilām drošības praksēm mūsdienu izstrādes vidēs.