Populárne npm balíky napadol samostatne sa šíriaci malvér. Kradne heslá vývojárov a infikuje ďalšie projekty |
Pre bežných používateľov, ktorí ani npm nepoužívajú, to neznamená ohrozenie, ale firmy si musia dávať pozor.
Microsoft Threat Intelligence sleduje aktívny útok na softvérový dodávateľský reťazec, ktorý zasiahol populárne balíky v registri npm. Útočník získal prístup k dôveryhodným účtom správcov a použil ich na vydanie legitímne vyzerajúcich verzií obsahujúcich malvér Mini Shai-Hulud.
Medzi zasiahnutými balíkmi sa nachádzajú knižnice Keyv, Cacheable, Cache Manager či File Entry Cache, ktoré sú súčasťou veľkého množstva webových aplikácií a vývojárskych nástrojov. Niektoré z nich majú viac ako 100 miliónov stiahnutí týždenne, takže aj krátke obdobie dostupnosti škodlivých verzií mohlo zasiahnuť veľké množstvo projektov.
Útok sa začal 4. augusta 2026 kompromitovaním účtov a vydávacích procesov legitímnych projektov. Podľa bezpečnostných výskumníkov sa následne v priebehu niekoľkých hodín objavili stovky napadnutých balíkov a tisíce škodlivých verzií.
Malvér sa spustil už počas inštalácie
Škodlivé balíky obsahovali upravený skript preinstall, ktorý sa automaticky spustil ešte pred dokončením inštalácie balíka. Skript aktivoval zamaskovaný súbor setup.mjs, stiahol legitímne prostredie Bun z GitHubu a prostredníctvom neho spustil ďalšiu časť malvéru.
Použitie Bunu namiesto klasického Node.js malo pomôcť obísť bezpečnostné systémy zamerané predovšetkým na sledovanie procesov Node.js. Finálny škodlivý kód sa nachádzal v súboroch označených ako Math_Symbol.js alebo Math_Init.js.
Malvér následne prehľadával počítač a prostredie vývojára, pričom sa snažil získať:
- prihlasovacie údaje a tokeny npm,
- prístupové tokeny GitHubu,
- prihlasovacie údaje ku cloudovým službám,
- tajné kľúče uložené v CI/CD systémoch,
- údaje z vývojárskych nástrojov a automatizovaných buildov.
Zozbierané informácie odosielal útočníkom, ktorí ich mohli použiť na prístup k ďalším projektom a službám.
Ukradnutými účtami infikoval ďalšie balíky
Mini Shai-Hulud nie je iba klasický zlodej prihlasovacích údajov. Funguje aj ako červ schopný automaticky pokračovať v útoku.
Ak malvér našiel platný npm token s právom vydávať balíky, stiahol existujúci balík, vložil doň svoj škodlivý kód, zvýšil číslo verzie a prostredníctvom ukradnutého účtu ho opäť vydal. Takto sa infekcia presúvala medzi nesúvisiacimi projektmi bez toho, aby musel útočník každý balík napadnúť ručne.
Microsoft pozoroval rovnaký spôsob útoku pri všetkých zasiahnutých balíkoch. Podľa firmy to naznačuje, že za kampaňou stojí jeden útočník používajúci viacero ukradnutých prístupových tokenov.
Zasiahnuté boli mimoriadne populárne knižnice
Medzi potvrdenými škodlivými verziami sa nachádzajú:
- keyv@6.0.0
- flat-cache@6.1.24
- file-entry-cache@11.1.6
- cacheable-request@13.0.20
- cacheable@2.5.1
- cache-manager@7.2.10
- @cacheable/utils@2.5.1
- @cacheable/memory@2.2.1
- @cacheable/node-cache@3.1.2
- @cacheable/net@2.1.1
- ecto@5.0.1
- @qlik/api@2.14.2
Napadnutých bolo aj najmenej 17 balíkov pod menom ServiceTitan, vrátane knižníc určených na formuláre, tabuľky, dizajnové témy, logovanie a konfiguráciu nástroja ESLint.
Kompletný zoznam sa stále vyvíja. Viaceré bezpečnostné firmy hovoria o viac než 400 zasiahnutých balíkoch, pričom presný počet škodlivých verzií sa môže líšiť podľa toho, či sa počítajú samostatné balíky, jednotlivé verzie alebo automaticky znovu vydané kópie.
Legitímny podpis nezaručil bezpečný kód
Niektoré napadnuté balíky mali platné potvrdenie pôvodu a boli vydané prostredníctvom legitímnych GitHub Actions procesov. Automatizované systémy preto mohli balík vyhodnotiť ako dôveryhodný, pretože skutočne pochádzal z oficiálneho účtu a vydávacieho procesu projektu.
Útočník však kompromitoval samotný účet alebo zdrojový kód ešte pred spustením legitímneho procesu. Digitálne potvrdenie tak dokazovalo iba to, odkiaľ balík pochádza, nie to, že jeho obsah nebol pred vydaním úmyselne upravený.
Vývojári by mali skontrolovať závislosti a vymeniť prístupové údaje
Organizácie a vývojári by mali skontrolovať súbory package-lock.json, npm-shrinkwrap.json, yarn.lock alebo pnpm-lock.yaml a overiť, či sa v nich nenachádza niektorá zo škodlivých verzií.
Nestačí pritom iba odinštalovať napadnutý balík. Ak bol nainštalovaný na počítači alebo v CI/CD prostredí, je potrebné počítať s tým, že všetky dostupné prístupové údaje mohli byť odcudzené. Vývojári by mali z bezpečného zariadenia zneplatniť a vygenerovať nové npm a GitHub tokeny, cloudové kľúče, SSH kľúče a ďalšie tajné údaje používané automatizovanými procesmi.
Microsoft Defender identifikuje súvisiacu aktivitu napríklad ako Trojan:NPM/MalBun.A, Trojan:NPM/ShaiLoader.BY alebo Trojan:NPM/ShaiWorm.DAY!MTB. Microsoft zároveň odporúča preveriť upozornenia na podozrivé spúšťanie prostredia Bun a neštandardné procesy Node.js.
Útok opäť ukazuje slabinu moderného vývoja softvéru. Jedna kompromitovaná knižnica sa môže cez automatické aktualizácie a reťazce závislostí dostať do tisícov aplikácií skôr, než si vývojári všimnú, že dôveryhodná aktualizácia v skutočnosti priniesla malvér.
Výpis problematických balíkov nájdete napríklad tu.
| NAJČÍTANEJŠIE ČLÁNKY TÝŽDŇA |
- Alza dni ponúkajú nové zľavy 9
- Na internet uniklo 192 GB dát Rockstaru, odhaľujú zrušené Liberty City pre GTA V a 19
- Vyjde lepšie zloženie herného PC alebo kúpenie skladaného? Pozrime sa na ceny na j 59
- DLSS5 ukazuje pôsobivú grafiku aj v Star Wars Outlaws a ďalších hrách 138
- RECENZIA: Control Resonant 58
- Valve oficiálne vydáva Steam Frame, ukázalo cenu a spustilo rezervácie 52
- PS5 emulácia robí veľké pokroky, už beží ako Demon's Souls, tak Astro bot 68
- Take-Two opäť naznačuje, že PC je pre firmu čoraz dôležitejšie, zároveň dodáva, že 53
- Wolverine predal už takmer 2 milióny kusov, autori už zjemnili vodiacu čiaru 79
- Filmová recenzia: Resident Evil 16 zobraziť viac článkov >















