Zaznamenané Masívny útok na balíčky v repozitári NPM bol vykonaný pomocou nového samošíriaceho sa červa ChainDrop, ktorý vkladá malvér do závislostí. Útok viedol k 2 212 vydaniam škodlivého softvéru pre 444 balíčkov. Najpopulárnejšie z napadnutých balíčkov – keyv, flat-cache a file-entry-cache – boli stiahnuté 154, 149.9 a 147.6 milióna krát týždenne.
Zavádzač červa sa nachádzal v súboroch setup.mjs a Math_Symbol.js, ktoré boli spustené pomocou preinstall handleru („preinstall“: „node setup.mjs“), ktorý bol volaný pri inštalácii postihnutého balíka. Tieto skripty stiahli legitímny runtime Bun a obfuskovali kód červa s veľkosťou 710 KB. Po aktivácii červ prehľadával systémové a environmentálne premenné a hľadal tokeny pre NPM, PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp, KubernetesK8s a ďalšie služby (analyzovaných bolo viac ako 140 ciest k súborom, ako napríklad ~/.npmrc) a tiež analyzoval pamäť (prostredníctvom /proc/). /mem) prostredia GitHub Actions pre tokeny a poverenia.
Ak bol zistený token na pripojenie k adresáru NPM, červ automaticky publikoval nové škodlivé verzie pre balíky vyvíjané v aktuálnom prostredí a infikoval strom závislostí. Na rozdiel od predtým zisteného červa, Šaj-Hulud 2.0 ChainDrop implementoval techniku EtherHiding na prijímanie riadiacich príkazov prostredníctvom verejného blockchainu Ethereum, použil šifrovanie na skrytie dôverných údajov prenášaných na server útočníka a poskytol injekciu do konfiguračných súborov Claude Code, VS Code a GitHub Copilot na zabezpečenie svojej prítomnosti v systéme.
Útok sa začal kompromitáciou procesu vydávania založeného na akciách GitHub pre daný balík. kľúčV, ktorý sa sťahuje 154 miliónov krát týždenne a používa sa ako závislosť v 1 703 balíkoch. Útočníci vytvorili novú verziu 6.0.0 s vloženým škodlivým kódom a publikovali ju pomocou „Dôveryhodní vydavatelia» a správne Certifikácia SLSAPo publikovaní červ infikoval mnoho balíkov závislých od keyv a potom začal infikovať aj nepriame závislosti.
Medzi najpopulárnejšie balíky, ktoré boli napadnuté červom, ktorý pre ne publikoval škodlivé verzie:
- flat-cache 6.1.24 (149.8 milióna stiahnutí za týždeň);
- vyrovnávacia pamäť súborov 11.1.6 (147.5 milióna);
- požiadavka na ukladanie do vyrovnávacej pamäte 13.0.20 (33.9 milióna);
- @cacheable/utils 2.5.1 (8.7 milióna);
- uložiteľné do vyrovnávacej pamäte 2.5.1 (7.8 milióna);
- @cacheable/memory 2.2.1 (7.1 milióna);
- správca vyrovnávacej pamäte 7.2.10 (4.2 milióna);
- @cacheable/node-cache 3.1.2 (1.5 milióna).
Zdroj: linux.org.ru
