Zlonamerna programska oprema PhantomRaven
Raziskovalci kibernetske varnosti so odkrili zelo aktiven napad na dobavno verigo programske opreme, usmerjen na ekosistem npm. Identificiranih je bilo več kot 100 zlonamernih paketov, ki lahko neposredno iz ogroženih računalnikov ukradejo občutljive poverilnice razvijalcev, vključno z žetoni za preverjanje pristnosti, skrivnostmi CI/CD in poverilnicami GitHub.
Kampanja z kodnim imenom PhantomRaven se je prvič pojavila avgusta 2025. Od takrat se je razširila na 126 knjižnic npm in zbrala več kot 86.000 namestitev, kar dokazuje hitro širjenje in sprejemanje teh zlonamernih paketov.
Kazalo
Zlonamerni paketi, ki letijo pod radarjem
Med označenimi paketi je več:
- op-cli-installer – 486 prenosov
- neuporabljeni-uvozi – 1.350 prenosov
- odjemalec badgekit-api – 483 prenosov
- polyfill-corejs3 – 475 prenosov
- eslint-komentarji – 936 prenosov
PhantomRaven je še posebej zahrbten zaradi uporabe oddaljenih dinamičnih odvisnosti (RDD). Namesto pridobivanja kode iz uradnega registra npm zlonamerni paketi kažejo na URL HTTP po meri (packages.storeartifact.com). To npm omogoča pridobivanje odvisnosti iz nezaupanja vrednega zunanjega vira, s čimer učinkovito zaobide zaščito npmjs.com.
Tradicionalni varnostni skenerji in orodja za analizo odvisnosti ne zaznajo teh RDD-jev, saj avtomatizirani sistemi vidijo pakete kot pakete z »0 odvisnostmi«.
Kako deluje napad
Napadalna veriga se začne takoj, ko razvijalec namesti enega od na videz neškodljivih paketov. Ključni elementi vključujejo:
Izvajanje hook-a pred namestitvijo : Paket vsebuje skript življenjskega cikla pred namestitvijo, ki samodejno izvede glavni koristni tovor.
Pridobivanje oddaljenega koristnega tovora : Skript pridobi zlonamerno odvisnost s strežnika, ki ga nadzoruje napadalec.
Izločitev podatkov : Ko se zlonamerna programska oprema zažene, pregleda razvijalčevo okolje za e-poštne naslove, zbere podrobnosti o okolju CI/CD, odtisne sistem (vključno z javnim IP-jem) in pošlje podatke na oddaljeni strežnik.
Napadalec lahko po želji spreminja koristni tovor, pri čemer sprva posreduje neškodljivo kodo, da se izogne zaznavanju, preden pošlje zlonamerne posodobitve, ko je paket sprejet.
Izkoriščanje človeških in umetno inteligenco slepih peg
Izbira imen paketov je premišljena. Grožitelj uporablja taktiko, znano kot površno prikrivanje, kjer veliki jezikovni modeli (LLM) halucinirajo neobstoječa, a verjetno zveneča imena paketov. Razvijalci lahko tem paketom zaupajo zaradi njihovega realističnega poimenovanja, ne da bi se zavedali skrite grožnje.
Kot ugotavljajo raziskovalci, PhantomRaven poudarja vse večjo prefinjenost napadalcev:
- Oddaljene dinamične odvisnosti se izognejo statični analizi.
- Imena paketov, ustvarjena z umetno inteligenco, izkoriščajo zaupanje razvijalcev.
- Skripti življenjskega cikla se izvajajo samodejno brez interakcije uporabnika.
Ta kampanja poudarja, kako zlonamerni akterji iščejo nove načine za skrivanje kode v odprtokodnih ekosistemih in izkoriščajo vrzeli v tradicionalnih varnostnih orodjih.
Zakaj je npm glavna tarča
Zaradi nizkega trenja ekosistema npm pri objavljanju paketov je v kombinaciji z avtomatskim izvajanjem skriptov pred namestitvijo, namestitvijo in po namestitvi glavna tarča. Napadalci lahko skrijejo zlonamerno vedenje znotraj skriptov življenjskega cikla, pogosto brez vednosti razvijalca, kar kaže na potrebo po večji budnosti in robustnih varnostnih praksah v sodobnih razvojnih okoljih.