Inspelad En massiv attack mot paket i NPM-arkivet utfördes med den nya självpropagerande ChainDrop-masken, som injicerar skadlig kod i beroenden. Attacken resulterade i 2 212 skadliga utgåvor för 444 paket. De mest populära av de komprometterade paketen – keyv, flat-cache och file-entry-cache – laddades ner 154, 149.9 respektive 147.6 miljoner gånger per vecka.
Maskens laddare fanns i filerna setup.mjs och Math_Symbol.js, vilka startades med hjälp av förinstallationshanteraren ("preinstall": "node setup.mjs"), som anropades när det berörda paketet installerades. Dessa skript laddade ner den legitima Bun-körtiden och den obfuskerade maskkoden, 710 KB stor. När den aktiverades sökte masken igenom system- och miljövariablerna efter tokens till NPM, PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp, KubernetesK8s och andra tjänster (mer än 140 filsökvägar, såsom ~/.npmrc, analyserades), och analyserade även minne (via /proc/). /mem) i GitHub Actions-miljön för tokens och autentiseringsuppgifter.
Om en token för att ansluta till NPM-katalogen upptäcktes publicerade masken automatiskt nya skadliga utgåvor för paket som utvecklades i den aktuella miljön, vilket infekterade beroendeträdet. Till skillnad från den tidigare upptäckta masken, Shai-Hulud 2.0 ChainDrop implementerade EtherHiding-tekniken för att ta emot kontrollkommandon via den publika Ethereum-blockkedjan, använde kryptering för att dölja konfidentiell data som överfördes till angriparens server och tillhandahöll injektion i konfigurationsfilerna för Claude Code, VS Code och GitHub Copilot för att säkra sin närvaro i systemet.
Attacken började med en kompromiss av lanseringsprocessen baserad på GitHub Actions för paketet. nyckelv, som laddas ner 154 miljoner gånger per vecka och används som ett beroende i 1 703 paket. Angriparna skapade en ny version, 6.0.0, med skadlig kod infogad i den och publicerade den med hjälp av "Betrodda förlag» och korrekt SLSA-certifieringEfter publiceringen infekterade masken många keyv-beroende paket och började sedan infektera indirekta beroenden.
Bland de mest populära paketen som drabbades av masken, som publicerade skadliga utgåvor för dem:
- flat-cache 6.1.24 (149.8 miljoner nedladdningar per vecka);
- file-entry-cache 11.1.6 (147.5 miljoner);
- cachebar-förfrågan 13.0.20 (33.9 miljoner);
- @cacheable/utils 2.5.1 (8.7 miljoner);
- cachebar 2.5.1 (7.8 miljoner);
- @cacheable/memory 2.2.1 (7.1 miljoner);
- cachehanterare 7.2.10 (4.2 miljoner);
- @cacheable/node-cache 3.1.2 (1.5 miljoner).
Källa: linux.org.ru
