Zlonamjerni softver PhantomRaven
Istraživači kibernetičke sigurnosti otkrili su vrlo aktivan napad na lanac opskrbe softverom usmjeren na npm ekosustav. Identificirano je preko 100 zlonamjernih paketa sposobnih ukrasti osjetljive vjerodajnice programera, uključujući tokene za autentifikaciju, CI/CD tajne i GitHub vjerodajnice, izravno s kompromitiranih računala.
Kampanja kodnog naziva PhantomRaven prvi se put pojavila u kolovozu 2025. Od tada se proširila na 126 npm biblioteka i prikupila više od 86 000 instalacija, što pokazuje brzo širenje i prihvaćanje ovih zlonamjernih paketa.
Sadržaj
Zlonamjerni paketi lete ispod radara
Nekoliko označenih paketa uključuje:
- op-cli-installer – 486 preuzimanja
- nekorišteni-uvozi – 1.350 preuzimanja
- badgekit-api-klijent – 483 preuzimanja
- polyfill-corejs3 – 475 preuzimanja
- eslint-komentari – 936 preuzimanja
Ono što PhantomRaven čini posebno podmuklim jest njegova upotreba udaljenih dinamičkih ovisnosti (RDD-ova). Umjesto dohvaćanja koda iz službenog npm registra, zlonamjerni paketi upućuju na prilagođeni HTTP URL (packages.storeartifact.com). To omogućuje npm-u dohvaćanje ovisnosti iz nepouzdanog vanjskog izvora, učinkovito zaobilazeći zaštite npmjs.com.
Tradicionalni sigurnosni skeneri i alati za analizu ovisnosti ne uspijevaju otkriti ove RDD-ove, jer automatizirani sustavi vide pakete kao da imaju '0 ovisnosti'.
Kako napad funkcionira
Lanac napada započinje čim programer instalira jedan od naizgled bezopasnih paketa. Ključni elementi uključuju:
Izvršavanje hook-a prije instalacije : Paket sadrži skriptu životnog ciklusa prije instalacije koja automatski izvršava glavni korisni teret.
Udaljeno preuzimanje sadržaja : Skripta dohvaća zlonamjernu ovisnost s poslužitelja kojim upravlja napadač.
Izbacivanje podataka : Nakon izvršenja, zlonamjerni softver skenira okruženje razvojnog programera u potrazi za adresama e-pošte, prikuplja detalje CI/CD okruženja, otiske sustava (uključujući javnu IP adresu) i šalje podatke na udaljeni poslužitelj.
Napadač može mijenjati korisni sadržaj po želji, isprva poslužujući bezopasan kod kako bi izbjegao otkrivanje prije nego što objavi zlonamjerna ažuriranja nakon što paket bude usvojen.
Iskorištavanje ljudskih i umjetno stvorenih slijepih točaka
Izbor naziva paketa je namjeran. Akter prijetnje koristi taktiku poznatu kao slopsquatting, gdje modeli velikih jezika (LLM) haluciniraju nepostojeća, ali uvjerljiva imena paketa. Programeri mogu vjerovati tim paketima zbog njihovog realističnog imenovanja, nesvjesni skrivene prijetnje.
Kao što istraživači primjećuju, PhantomRaven ističe rastuću sofisticiranost napadača:
- Udaljene dinamičke ovisnosti izbjegavaju statičku analizu.
- Imena paketa generirana umjetnom inteligencijom iskorištavaju povjerenje programera.
- Skripte životnog ciklusa izvršavaju se automatski bez interakcije korisnika.
Ova kampanja naglašava kako zlonamjerni akteri pronalaze nove načine skrivanja koda u ekosustavima otvorenog koda, iskorištavajući praznine u tradicionalnim sigurnosnim alatima.
Zašto je npm glavna meta
Niska trenja npm ekosustava za objavljivanje paketa, u kombinaciji s automatskim izvršavanjem predinstalacijskih, instalacijskih i postinstalacijskih skripti, čini ga glavnom metom. Napadači mogu sakriti zlonamjerno ponašanje unutar skripti životnog ciklusa, često bez znanja programera, što ilustrira potrebu za pojačanom budnošću i robusnim sigurnosnim praksama u modernim razvojnim okruženjima.