Duas campanhas de ataque à cadeia de suprimentos do npm comprometeram mais de 90 pacotes com um stealer em Rust chamado IronWorm e uma nova variante do worm Miasma. Os malwares roubam credenciais de serviços em nuvem e configurações de assistentes de IA. JFrog e StepSecurity detalharam as operações nesta sexta-feira (5).
Pontos-chave:
- IronWorm: stealer em Rust com rootkit eBPF, propagação via commits Git maliciosos, 36 pacotes afetados
- Miasma Phantom Gyp: 57 pacotes comprometidos usando arquivo binding.gyp para bypassar segurança
- Alvo principal: credenciais de AWS, GCP, Azure, Kubernetes, carteiras crypto e APIs de IA
Como o IronWorm se propaga
O IronWorm foi distribuído pela conta npm “asteroiddao”, que publicou versões trojanizadas de pacotes legítimos contendo um binário ELF em Rust, executado via hook de preinstall. O malware rastreia 86 variáveis de ambiente e arquivos de credenciais associados a OpenAI Codex, Anthropic Claude, Google Gemini, Cursor, AWS, Docker, Kubernetes e carteiras Exodus. O ciclo é auto-replicante: rouba credenciais, acessa repositórios GitHub do desenvolvedor e publica novas versões envenenadas, reiniciando a cadeia.
Segundo a JFrog, os commits maliciosos foram inseridos sob o nome de autor “claude@users.noreply.github.com” para simular o bot de IA da Anthropic. O malware também substitui workflows do GitHub Actions por versões que coletam secrets, gravam-nos em arquivos disfarçados e os carregam como artefatos de build — eliminando a necessidade de um servidor C2 externo. Em ambientes CI, o IronWorm abusa do Trusted Publishing do npm para obter tokens de curta duração e publicar pacotes envenenados diretamente no registro.
O componente eBPF funciona como rootkit de kernel para ocultar processos e dificultar análise forense. Em sistemas com kernel lockdown ativo, no entanto, os truques de ocultação falham e processos e sockets tornam-se visíveis.
Phantom Gyp evade detecção
A segunda campanha, documentada pela StepSecurity e Endor Labs, comprometeu 57 pacotes em mais de 286 versões maliciosas. A técnica “Phantom Gyp” usa um arquivo binding.gyp de 157 bytes para disparar código durante npm install, sem acionar os hooks de preinstall ou postinstall que as ferramentas de segurança monitoram. O payload baixa o runtime Bun e carrega um coletor de credenciais que extrai secrets de AWS, Google Cloud, Azure, HashiCorp Vault, Docker, Kubernetes, GitHub Actions, npm, RubyGems, PyPI, SSH, gerenciadores de senhas e assistentes de IA.
A campanha é uma evolução do ataque Miasma que comprometeu pacotes oficiais da Red Hat no início da semana. A capacidade mais relevante dessa variante é a injeção de arquivos de backdoor persistentes nos repositórios dos projetos. Esses arquivos são executados assim que o desenvolvedor abre o projeto em uma IDE com assistente de IA habilitado, ampliando a superfície de ataque para todo o fluxo de desenvolvimento.
Comparativo das duas campanhas
| Aspecto | IronWorm (JFrog) | Miasma Phantom Gyp (StepSecurity) |
|---|---|---|
| Linguagem | Rust (binário ELF) | Bun (JavaScript runtime) |
| Pacotes afetados | 36 | 57 |
| Técnica de execução | Hook preinstall | binding.gyp (Phantom Gyp) |
| Rootkit | eBPF kernel | Não relatado |
| Comunicação C2 | Tor | GitHub (repositórios públicos) |
| Alvos de credenciais | AWS, Docker, K8s, crypto, IA | AWS, GCP, Azure, Vault, K8s, SSH, IA |
| Auto-replicação | Sim (commits Git maliciosos) | Sim (republish de pacotes) |
O que desenvolvedores devem fazer
Quem instalou versões afetadas precisa rotacionar todas as credenciais imediatamente: tokens de GitHub Actions, chaves SSH, variáveis de ambiente de serviços em nuvem e chaves de API de assistentes de IA — alvo recorrente de pacotes maliciosos no npm. Desative scripts de instalação e rebuilds nativos por padrão configurando ignore-scripts=true no .npmrc. Fixe todos os pacotes com hashes de integridade via lockfile.
Equipes de segurança devem auditar repositórios buscando commits do autor “claude@users.noreply.github.com” e arquivos binding.gyp inesperados. Em ambientes CI/CD, restrinja o Trusted Publishing a pipelines verificados e monitore o consumo de recursos do kernel para detectar atividade eBPF anômala.