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 |
- Sám doma sa môže vrátiť s dospelým Kevinom, Disney už rokoval s Macaulayom Culkino 52
- Sony prvýkrát reagovalo na kritiku hráčov, od konca retailových hier však neustúpi 258
- AI firmy vo veľkom skupujú a ničia knihy, chcú lepšie modely aj náskok pred konkur 98
- V EÚ začali platiť nové pravidlá práva na opravu, výrobcovia musia pomôcť aj po zá 49
- Spider-Man: Brand New Day podľa odhadov otvoril na 927 miliónoch dolárov 43
- 10 hier, ktoré posunuli hranie vpred 28
- Xbox konzoly už zvýšili ceny 73
- Spider-Man Nový deň - filmová recenzia 11
- Čínska FPS The Defiant ukazuje druhú svetovú vojnu z netradičného pohľadu 16
- RECENZIA: SENARA: The Sacrament 3 zobraziť viac článkov >














