Un vierme npm auto-replicant numit SANDWORM_MODE afectează peste 19 pachete, recoltând chei private, mnemonic BIP39, fișiere wallet și chei API LLM din mediile de dezvoltare.
Un atac activ asupra lanțului de aprovizionare npm afectează mediile dezvoltatorilor chiar acum. Echipa de cercetare a amenințărilor Socket a descoperit ceea ce urmărește ca SANDWORM_MODE, un vierme auto-replicant răspândit pe cel puțin 19 pachete npm malițioase legate de doi aliași de editor. Așa cum SocketSecurity a semnalat pe X, acesta este un atac activ asupra lanțului de aprovizionare care fură secrete de dev și CI, injectează fluxuri de lucru GitHub, otrăvește toolchain-uri AI și recoltează chei API LLM.
Campania împrumută direct de la familia de viermi Shai-Hulud. Cheile private sunt primele. Fără barieră de timp, fără întârziere. Artefactele crypto descoperite la import sunt exfiltrate imediat printr-un endpoint dedicat de drenare înainte ca orice altă etapă de payload să se declanșeze.
Trebuie să știți: Amenințările la adresa securității portofelelor sunt în creștere Lectură obligatorie: Hack-ul de securitate Trust Wallet: Cum să vă protejați activele
Viermele funcționează pe baza unui design în două etape. Etapa 1 se declanșează instantaneu la import, colectând token-uri npm, token-uri GitHub, secrete de mediu și chei crypto doar prin citirea fișierelor. Fără execuție shell, fără zgomot. Mnemonic BIP39, chei private Ethereum, array-uri de bytes Solana, chei Bitcoin WIF și șiruri xprv sunt toate colectate în prima trecere.
Cheile crypto părăsesc mașina imediat prin HTTPS POST către un Cloudflare Worker la pkg-metrics[.]official334[.]workers[.]dev/drain. Acest lucru se întâmplă înainte de orice verificare a barierei de timp. Înainte ca Etapa 2 să se încarce.
Etapa 2 se află în spatele unei întârzieri de 48 de ore, derivată dintr-un hash MD5 al numelui de gazdă și al numelui de utilizator. Merge mai adânc: manageri de parole prin Bitwarden, 1Password și LastPass CLI, depozite SQLite locale inclusiv Apple Notes și macOS Messages, și o scanare completă a sistemului de fișiere pentru fișiere wallet. În mediile CI, acea barieră dispare complet. Payload-ul complet se declanșează pe GITHUB_ACTIONS, GITLAB_CI, CIRCLECI, JENKINS_URL și BUILDKITE fără să aștepte deloc.
Conform SocketSecurity pe X, viermele injectează, de asemenea, fluxuri de lucru GitHub și otrăvește toolchain-uri AI, detalii confirmate în dezvăluirea tehnică completă a Socket.
Merită citit și: 21 milioane $ în Bitcoin confiscat returnat după ce autoritățile înghează tranzacțiile
Trei pachete se dau drept Claude Code. Unul vizează OpenClaw, un agent AI care a trecut de 210.000 de stele pe GitHub. Modulul McpInject al viermului desfășoară un server MCP necinstit în Claude Code, Claude Desktop, Cursor, VS Code Continue și configurațiile Windsurf de pe disc. Fiecare primește o intrare falsă de instrument care indică către un server ascuns, malițios.
Acel server poartă o injecție de prompt încorporată care spune asistenților AI să citească în tăcere cheile SSH, acreditările AWS, token-urile npm și secretele de mediu înainte de fiecare apel de instrument. Modelul nu spune niciodată utilizatorului. Injecția îl blochează în mod explicit să facă acest lucru.
Nouă furnizori LLM sunt vizați pentru recoltarea cheilor API: OpenAI, Anthropic, Google, Groq, Together, Fireworks, Replicate, Mistral și Cohere. Cheile extrase din variabilele de mediu și fișierele .env, validate conform modelelor de format cunoscute înainte de exfiltrare.
Exfiltrarea rulează trei canale în cascadă. HTTPS către Cloudflare Worker mai întâi, apoi încărcări API GitHub autentificate către depozite private folosind codificare base64 dublă, apoi tunelare DNS prin interogări codificate base32 către freefan[.]net și fanfree[.]net. Un algoritm de generare a domeniului alimentat de "sw2025" oferă fallback pe zece TLD-uri dacă tot restul eșuează.
Merită o privire: Glassnode semnalează epuizarea cererii de BTC
Cei doi aliași de editor din spatele campaniei sunt official334 și javaorg. Cele 19 pachete malițioase confirmate includ suport-color@1.0.1, claud-code@0.2.1, cloude@0.3.0, crypto-locale@1.0.0, secp256@1.0.0 și scan-store@1.0.0 printre altele. Patru pachete dormante suplimentare (ethres, iru-caches, iruchache și uudi) nu prezintă încă niciun payload malițios.
npm a eliminat pachetele malițioase. GitHub a eliminat infrastructura actorului amenințării. Cloudflare a retras workers-ii. Dar apărătorii trebuie să acționeze acum, indiferent.
Dacă oricare dintre aceste pachete a rulat în mediul dvs., tratați acea mașină ca fiind compromisă. Rotați token-urile npm și GitHub, rotați toate secretele CI, auditați .github/workflows/ pentru adăugări pull_request_target care serializează ${{ toJSON(secrets) }}. Verificați setarea șablonului global de hook git rulând git config –global init.templateDir. Revizuiți configurațiile asistentului AI pentru intrări neașteptate mcpServers. Un motor polimorfic dormant folosind deepseek-coder:6.7b este încorporat în vierme și dezactivat în această versiune, ceea ce înseamnă că o variantă viitoare s-ar putea rescrie pentru a evita detectarea.
Un comutator mort se află, de asemenea, în cod. Dezactivat acum. Când este declanșat, rulează find ~ -type f -writable și distruge fiecare fișier inscriptibil din directorul home. Operatorul încă iterează.
Postarea npm Worm Steals Crypto Keys, Targets 19 Packages a apărut mai întâi pe Live Bitcoin News.

