Škodlivý softvér PhantomRaven
Výskumníci v oblasti kybernetickej bezpečnosti odhalili vysoko aktívny útok na dodávateľský reťazec softvéru zameraný na ekosystém npm. Bolo identifikovaných viac ako 100 škodlivých balíkov, ktoré sú schopné ukradnúť citlivé prihlasovacie údaje vývojárov vrátane autentifikačných tokenov, tajných údajov CI/CD a prihlasovacích údajov GitHub priamo z napadnutých počítačov.
Kampaň s kódovým označením PhantomRaven sa prvýkrát objavila v auguste 2025. Odvtedy sa rozšírila na 126 npm knižníc a získala viac ako 86 000 inštalácií, čo dokazuje rýchle šírenie a prijatie týchto škodlivých balíkov.
Obsah
Škodlivé balíky lietajúce pod radarom
Medzi označené balíky patrí niekoľko:
- op-cli-installer – 486 stiahnutí
- nepoužité-importy – 1 350 stiahnutí
- badgekit-api-client – 483 stiahnutí
- polyfill-corejs3 – 475 stiahnutí
- eslint-komentáre – 936 stiahnutí
PhantomRaven je obzvlášť zákerný vďaka používaniu vzdialených dynamických závislostí (RDD). Namiesto načítavania kódu z oficiálneho registra npm škodlivé balíky odkazujú na vlastnú HTTP URL adresu (packages.storeartifact.com). To umožňuje npm načítať závislosti z nedôveryhodného externého zdroja, čím efektívne obchádza ochranu npmjs.com.
Tradičné bezpečnostné skenery a nástroje na analýzu závislostí tieto RDD nedokážu odhaliť, pretože automatizované systémy vidia balíky ako balíky s „0 závislosťami“.
Ako útok funguje
Útočný reťazec začína hneď, ako vývojár nainštaluje jeden zo zdanlivo neškodných balíkov. Medzi kľúčové prvky patria:
Vykonanie hooku pred inštaláciou : Balík obsahuje skript životného cyklu pred inštaláciou, ktorý automaticky spustí hlavné užitočné zaťaženie.
Vzdialené načítanie údajov : Skript načíta škodlivú závislosť zo servera ovládaného útočníkom.
Únik údajov : Po spustení malvér prehľadá prostredie vývojára a nájde e-mailové adresy, zhromažďuje podrobnosti o prostredí CI/CD, odtlačky prstov systému (vrátane verejnej IP adresy) a odošle údaje na vzdialený server.
Útočník môže ľubovoľne upravovať užitočné zaťaženie, pričom najprv poskytuje neškodný kód, aby sa vyhol detekcii, a až potom, ako sa balík dostane do rúk, odosiela škodlivé aktualizácie.
Využívanie slepých miest ľudí a umelej inteligencie
Výber názvov balíkov je zámerný. Útočník využíva taktiku známu ako „slopsquatting“, kde modely veľkých jazykov (LLM) halucinujú neexistujúce, ale pravdepodobne znejúce názvy balíkov. Vývojári môžu týmto balíkom dôverovať kvôli ich realistickým názvom bez toho, aby si boli vedomí skrytej hrozby.
Ako poznamenávajú výskumníci, PhantomRaven zdôrazňuje rastúcu sofistikovanosť útočníkov:
- Vzdialené dynamické závislosti sa vyhýbajú statickej analýze.
- Názvy balíkov generované umelou inteligenciou zneužívajú dôveru vývojárov.
- Skripty životného cyklu sa vykonávajú automaticky bez zásahu používateľa.
Táto kampaň zdôrazňuje, ako škodliví aktéri nachádzajú nové spôsoby, ako skryť kód v ekosystémoch s otvoreným zdrojovým kódom a využívajú medzery v tradičných bezpečnostných nástrojoch.
Prečo je npm hlavným cieľom
Nízke trenie ekosystému npm pri publikovaní balíkov v kombinácii s automatickým vykonávaním predinštalačných, inštalačných a poinštalačných skriptov z neho robí hlavný cieľ. Útočníci môžu skryť škodlivé správanie v rámci skriptov životného cyklu, často bez vedomia vývojára, čo ilustruje potrebu zvýšenej ostražitosti a robustných bezpečnostných postupov v moderných vývojových prostrediach.