Um worm npm autorreplicante denominado SANDWORM_MODE atinge mais de 19 pacotes, coletando chaves privadas, mnemónicos BIP39, ficheiros de carteira e chaves de API de LLM de ambientes de desenvolvimento.
Um ataque ativo à cadeia de fornecimento npm está a varrer ambientes de desenvolvimento neste momento. A Equipa de Investigação de Ameaças da Socket descobriu o que rastreia como SANDWORM_MODE, um worm autorreplicante distribuído por pelo menos 19 pacotes npm maliciosos ligados a dois pseudónimos de publicadores. Conforme a SocketSecurity sinalizou no X, este é um ataque ativo à cadeia de fornecimento que rouba segredos de desenvolvimento e CI, injeta fluxos de trabalho do GitHub, envenena cadeias de ferramentas de IA e coleta chaves de API de LLM.
A campanha empresta diretamente da família de worms Shai-Hulud. As chaves privadas vão primeiro. Sem porta temporal, sem atraso. Artefactos de cripto descobertos na importação são exfiltrados imediatamente através de um endpoint de drenagem dedicado antes que qualquer outra fase de payload seja acionada.
Deve Saber: As Ameaças à Segurança de Carteiras Estão a Aumentar Leitura Obrigatória: Hack de Segurança da Trust Wallet: Como Proteger os Seus Ativos
O worm executa um design de duas fases. A Fase 1 dispara instantaneamente na importação, coletando tokens npm, tokens GitHub, segredos de ambiente e chaves de cripto apenas através de leituras de ficheiros. Sem execução de shell, sem ruído. Mnemónicos BIP39, chaves privadas Ethereum, arrays de bytes Solana, chaves WIF Bitcoin e strings xprv são todos varridos na primeira passagem.
As chaves de cripto deixam a máquina imediatamente via HTTPS POST para um Cloudflare Worker em pkg-metrics[.]official334[.]workers[.]dev/drain. Isso acontece antes de qualquer verificação de porta temporal. Antes mesmo da Fase 2 ser carregada.
A Fase 2 fica atrás de um atraso de 48 horas, derivado de um hash MD5 do hostname e username. Vai mais fundo: gestores de palavras-passe via CLIs do Bitwarden, 1Password e LastPass, armazenamentos SQLite locais incluindo Apple Notes e macOS Messages, e uma verificação completa do sistema de ficheiros para ficheiros de carteira. Em ambientes CI, essa porta desaparece completamente. O payload completo dispara em GITHUB_ACTIONS, GITLAB_CI, CIRCLECI, JENKINS_URL e BUILDKITE sem esperar.
De acordo com a SocketSecurity no X, o worm também injeta fluxos de trabalho do GitHub e envenena cadeias de ferramentas de IA, detalhes confirmados na divulgação técnica completa da Socket.
Também Vale a Pena Ler: 21 milhões de dólares em Bitcoin Apreendido Devolvidos Após Autoridades Congelarem Transações
Três pacotes fazem-se passar por Claude Code. Um tem como alvo o OpenClaw, um agente de IA que ultrapassou 210.000 estrelas no GitHub. O módulo McpInject do worm implementa um servidor MCP fraudulento no Claude Code, Claude Desktop, Cursor, VS Code Continue e nas configurações do Windsurf no disco. Cada um recebe uma entrada de ferramenta falsa apontando para um servidor oculto e malicioso.
Esse servidor transporta injeção de prompt incorporada dizendo aos assistentes de IA para lerem silenciosamente chaves SSH, credenciais AWS, tokens npm e segredos de ambiente antes de cada chamada de ferramenta. O modelo nunca informa o utilizador. A injeção explicitamente bloqueia-o de fazê-lo.
Nove fornecedores de LLM são visados para coleta de chaves de API: OpenAI, Anthropic, Google, Groq, Together, Fireworks, Replicate, Mistral e Cohere. As chaves são extraídas de variáveis de ambiente e ficheiros .env, validadas contra padrões de formato conhecidos antes da exfiltração.
A exfiltração executa três canais em cascata. HTTPS para o Cloudflare Worker primeiro, depois uploads autenticados de API GitHub para repositórios privados usando codificação dupla base64, depois túnel DNS via consultas codificadas em base32 para freefan[.]net e fanfree[.]net. Um algoritmo de geração de domínio semeado por "sw2025" fornece fallback através de dez TLDs se tudo o resto falhar.
Vale a Pena Ver: Glassnode Sinaliza Esgotamento da Procura de BTC
Os dois pseudónimos de publicadores por trás da campanha são official334 e javaorg. Os 19 pacotes maliciosos confirmados incluem suport-color@1.0.1, claud-code@0.2.1, cloude@0.3.0, crypto-locale@1.0.0, secp256@1.0.0 e scan-store@1.0.0 entre outros. Quatro pacotes adicionais adormecidos (ethres, iru-caches, iruchache e uudi) ainda não mostram payload malicioso.
O npm removeu os pacotes maliciosos. O GitHub desmantelou a infraestrutura do ator de ameaça. A Cloudflare retirou os workers. Mas os defensores precisam de agir agora, independentemente.
Se algum destes pacotes foi executado no seu ambiente, trate essa máquina como comprometida. Rode tokens npm e GitHub, rode todos os segredos de CI, audite .github/workflows/ para adições de pull_request_target que serializem ${{ toJSON(secrets) }}. Verifique a configuração de modelo de hook git global executando git config –global init.templateDir. Reveja as configurações do assistente de IA para entradas mcpServers inesperadas. Um motor polimórfico dormente usando deepseek-coder:6.7b está incorporado no worm e desativado nesta versão, o que significa que uma variante futura poderia reescrever-se para evitar deteção.
Um interruptor morto também está no código. Desativado agora. Quando acionado, executa find ~ -type f -writable e destrói todos os ficheiros graváveis no diretório inicial. O operador ainda está a iterar.
O post npm Worm Rouba Chaves de Cripto, Visa 19 Pacotes apareceu primeiro em Live Bitcoin News.


