Een zelfreplicerende npm-worm genaamd SANDWORM_MODE treft 19+ packages en verzamelt private keys, BIP39 mnemonics, wallet-bestanden en LLM API-sleutels uit ontwikkelomgevingenEen zelfreplicerende npm-worm genaamd SANDWORM_MODE treft 19+ packages en verzamelt private keys, BIP39 mnemonics, wallet-bestanden en LLM API-sleutels uit ontwikkelomgevingen

npm-worm steelt crypto-sleutels, richt zich op 19 pakketten

2026/02/22 01:45
4 min lezen

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

Hoe deze worm eerst uw private keys bereikt

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

AI-codeertools werden ook zwaar getroffen

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.

Marktkans
npm run dev logo
npm run dev koers(NPM)
$0.00001606
$0.00001606$0.00001606
0.00%
USD
npm run dev (NPM) live prijsgrafiek
Disclaimer: De artikelen die op deze site worden geplaatst, zijn afkomstig van openbare platforms en worden uitsluitend ter informatie verstrekt. Ze weerspiegelen niet noodzakelijkerwijs de standpunten van MEXC. Alle rechten blijven bij de oorspronkelijke auteurs. Als je van mening bent dat bepaalde inhoud inbreuk maakt op de rechten van derden, neem dan contact op met service@support.mexc.com om de content te laten verwijderen. MEXC geeft geen garanties met betrekking tot de nauwkeurigheid, volledigheid of tijdigheid van de inhoud en is niet aansprakelijk voor eventuele acties die worden ondernomen op basis van de verstrekte informatie. De inhoud vormt geen financieel, juridisch of ander professioneel advies en mag niet worden beschouwd als een aanbeveling of goedkeuring door MEXC.