Een zichzelf replicerende npm-worm genaamd SANDWORM_MODE treft 19+ pakketten en verzamelt private keys, BIP39 mnemonics, wallet-bestanden en LLM API-sleutels uit ontwikkelomgevingen.
Een actieve npm supply chain-aanval treft momenteel ontwikkelomgevingen. Het Threat Research Team van Socket ontdekte wat het volgt als SANDWORM_MODE, een zichzelf replicerende worm verspreid over minstens 19 kwaadaardige npm-pakketten gekoppeld aan twee uitgeversaliassen. Zoals SocketSecurity op X meldde, is dit een actieve supply chain-aanval die dev- en CI-secrets steelt, GitHub-workflows injecteert, AI-toolchains vergiftigt en LLM API-sleutels verzamelt.
De campagne leent rechtstreeks van de Shai-Hulud worm-familie. Private keys gaan als eerste. Geen tijdspoort, geen vertraging. Crypto-artefacten die bij import worden ontdekt, worden onmiddellijk geëxfiltreerd via een speciaal afvoereindpunt voordat een andere payloadfase wordt geactiveerd.
Dit moet u weten: Wallet-beveiligingsbedreigingen escaleren Moet lezen: Trust Wallet beveiligingshack: hoe u uw activa beschermt
De worm werkt met een tweefasenontwerp. Fase 1 wordt onmiddellijk bij import geactiveerd en verzamelt npm-tokens, GitHub-tokens, omgevingssecrets en crypto-sleutels alleen via bestandslezingen. Geen shell-uitvoering, geen geluid. BIP39 mnemonics, Ethereum private keys, Solana byte-arrays, Bitcoin WIF-sleutels en xprv-strings worden allemaal in de eerste ronde verzameld.
Crypto-sleutels verlaten de machine onmiddellijk via HTTPS POST naar een Cloudflare Worker op pkg-metrics[.]official334[.]workers[.]dev/drain. Dat gebeurt vóór elke tijdspoortcontrole. Voordat Fase 2 zelfs maar wordt geladen.
Fase 2 zit achter een vertraging van 48 uur, afgeleid van een MD5-hash van hostnaam en gebruikersnaam. Het gaat dieper: wachtwoordbeheerders via Bitwarden, 1Password en LastPass CLI's, lokale SQLite-opslag inclusief Apple Notes en macOS Messages, en een volledige bestandssysteemscans naar wallet-bestanden. In CI-omgevingen verdwijnt die poort volledig. De volledige payload wordt geactiveerd op GITHUB_ACTIONS, GITLAB_CI, CIRCLECI, JENKINS_URL en BUILDKITE zonder enige wachttijd.
Volgens SocketSecurity op X, injecteert de worm ook GitHub-workflows en vergiftigt AI-toolchains, details bevestigd in Socket's volledige technische openbaarmaking.
Ook het lezen waard: $21 miljoen aan in beslag genomen Bitcoin geretourneerd nadat autoriteiten transacties blokkeren
Drie pakketten imiteren Claude Code. Eén richt zich op OpenClaw, een AI-agent die meer dan 210.000 sterren op GitHub behaalde. De McpInject-module van de worm implementeert een malafide MCP-server in Claude Code, Claude Desktop, Cursor, VS Code Continue en Windsurf-configuraties op schijf. Elk krijgt een nep-tool-invoer die naar een verborgen, kwaadaardige server wijst.
Die server bevat ingebedde prompt-injectie die AI-assistenten vertelt om stilletjes SSH-sleutels, AWS-credentials, npm-tokens en omgevingssecrets te lezen vóór elke tool-aanroep. Het model vertelt het de gebruiker nooit. De injectie blokkeert dit expliciet.
Negen LLM-providers worden gericht voor het verzamelen van API-sleutels: OpenAI, Anthropic, Google, Groq, Together, Fireworks, Replicate, Mistral en Cohere. Sleutels worden opgehaald uit omgevingsvariabelen en .env-bestanden, gevalideerd tegen bekende formaatpatronen vóór exfiltratie.
De exfiltratie verloopt via drie kanalen in cascade. Eerst HTTPS naar de Cloudflare Worker, vervolgens geauthenticeerde GitHub API-uploads naar privérepositories met dubbele base64-codering, daarna DNS-tunneling via base32-gecodeerde queries naar freefan[.]net en fanfree[.]net. Een domaingeneratie-algoritme gezaaid door "sw2025" biedt een fallback over tien TLD's als al het andere faalt.
Het bekijken waard: Glassnode signaleert uitputting van BTC-vraag
De twee uitgeversaliassen achter de campagne zijn official334 en javaorg. De 19 bevestigde kwaadaardige pakketten omvatten suport-color@1.0.1, claud-code@0.2.1, cloude@0.3.0, crypto-locale@1.0.0, secp256@1.0.0 en scan-store@1.0.0 onder andere. Vier extra slapende pakketten (ethres, iru-caches, iruchache en uudi) vertonen nog geen kwaadaardige payload.
npm heeft de kwaadaardige pakketten verwijderd. GitHub haalde de infrastructuur van de dreigende actor neer. Cloudflare verwijderde de workers. Maar verdedigers moeten nu handelen, hoe dan ook.
Als een van deze pakketten in uw omgeving heeft gedraaid, behandel die machine dan als gecompromitteerd. Roteer npm- en GitHub-tokens, roteer alle CI-secrets, audit .github/workflows/ voor pull_request_target-toevoegingen die ${{ toJSON(secrets) }} serialiseren. Controleer de globale git hook-sjablooninstelling door git config –global init.templateDir uit te voeren. Bekijk AI-assistentconfiguraties voor onverwachte mcpServers-invoeren. Een sluimerende polymorfe engine die deepseek-coder:6.7b gebruikt, is ingebed in de worm en uitgeschakeld in deze build, wat betekent dat een toekomstige variant zichzelf zou kunnen herschrijven om detectie te ontwijken.
Een dode schakelaar zit ook in de code. Nu uitgeschakeld. Wanneer geactiveerd, voert het find ~ -type f -writable uit en vernietigt het elk beschrijfbaar bestand in de thuismap. De operator blijft itereren.
Het bericht npm Worm steelt crypto-sleutels, richt zich op 19 pakketten verscheen eerst op Live Bitcoin News.


