Opgenomen Een grootschalige aanval op pakketten in de NPM-repository werd uitgevoerd met behulp van de nieuwe, zelfverspreidende ChainDrop-worm, die malware in afhankelijkheden injecteert. De aanval resulteerde in 2212 kwaadaardige releases voor 444 pakketten. De populairste gecompromitteerde pakketten – keyv, flat-cache en file-entry-cache – werden respectievelijk 154, 149.9 en 147.6 miljoen keer per week gedownload.
De loader van de worm bevond zich in de bestanden setup.mjs en Math_Symbol.js, die werden uitgevoerd met behulp van de preinstall handler ("preinstall": "node setup.mjs"), die werd aangeroepen tijdens de installatie van het betreffende pakket. Deze scripts downloadden de legitieme Bun runtime en de versleutelde wormcode, met een grootte van 710 KB. Eenmaal geactiveerd, doorzocht de worm de systeem- en omgevingsvariabelen naar tokens voor NPM, PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp, KubernetesK8s en andere services (meer dan 140 bestandspaden, zoals ~/.npmrc, werden geanalyseerd), en analyseerde ook het geheugen (via /proc/). /mem) van de GitHub Actions-omgeving voor tokens en inloggegevens.
Als er een token werd gedetecteerd voor het verbinden met de NPM-directory, publiceerde de worm automatisch nieuwe kwaadaardige releases voor pakketten die in de huidige omgeving werden ontwikkeld, waardoor de afhankelijkheidsstructuur werd geïnfecteerd. In tegenstelling tot de eerder gedetecteerde worm, Shai-Hulud 2.0 ChainDrop implementeerde de EtherHiding-techniek om besturingscommando's te ontvangen via de openbare Ethereum-blockchain, gebruikte encryptie om vertrouwelijke gegevens te verbergen die naar de server van de aanvaller werden verzonden, en zorgde voor injectie in de configuratiebestanden van Claude Code, VS Code en GitHub Copilot om zijn aanwezigheid in het systeem te verzekeren.
De aanval begon met een inbreuk op het releaseproces van het pakket, dat gebaseerd was op GitHub Actions. sleutelvdie 154 miljoen keer per week wordt gedownload en als afhankelijkheid wordt gebruikt in 1703 pakketten. De aanvallers creëerden een nieuwe versie, 6.0.0, met daarin kwaadaardige code en publiceerden deze via de "Vertrouwde uitgevers» en correct SLSA-certificeringNa publicatie infecteerde de worm veel keyv-afhankelijke pakketten en begon vervolgens indirecte afhankelijkheden te infecteren.
Tot de populairste softwarepakketten die door de worm werden getroffen, die vervolgens kwaadaardige versies ervan publiceerde, behoren:
- flat-cache 6.1.24 (149.8 miljoen downloads per week);
- bestands-entry-cache 11.1.6 (147.5 miljoen);
- cachebare-verzoek 13.0.20 (33.9 miljoen);
- @cacheable/utils 2.5.1 (8.7 miljoen);
- cachebaar 2.5.1 (7.8 miljoen);
- @cacheable/memory 2.2.1 (7.1 miljoen);
- cache-manager 7.2.10 (4.2 miljoen);
- @cacheable/node-cache 3.1.2 (1.5 miljoen).
Bron: linux.org.ru
