[ Início ]
Vol. 2 (abr. 2026) | Pp. 254–256 | ISSN 3086-6103
Supply Chain no npm ataca novamente: worm no npm compromete pacotes, credenciais e pipelines CI/CD
Uma nova campanha de supply chain no ecossistema npm, identificada como ChainDrop, está explorando um modelo de propagação automatizada: um pacote comprometido executa código durante a instalação, coleta credenciais de desenvolvimento e CI/CD e usa tokens obtidos para publicar versões maliciosas de outros pacotes. O impacto ainda está em evolução, mas já envolve centenas de pacotes e versões — incluindo componentes amplamente adotados, como keyv, cache-manager, flat-cache e file-entry-cache.microsoft+1
O caso reforça uma conclusão desconfortável para equipes de segurança: o risco não está apenas no código que uma aplicação executa em produção. Ele também está em cada npm install feito por desenvolvedores, runners de CI, imagens base e registries internos.
O Vetor de Ataque: preinstall
As versões comprometidas introduzem um hook de ciclo de vida no package.json:
{
"scripts": {
"preinstall": "node setup.mjs"
}
}
Esse detalhe é central. O preinstall é executado antes de a instalação ser concluída, permitindo que o payload rode em workstations e ambientes de build antes mesmo que testes, scanners convencionais ou validações da aplicação sejam acionados. O loader setup.mjs baixa o runtime Bun e dispara um segundo estágio JavaScript, fortemente ofuscado, associado a arquivos como Math_Symbol.js e math_init.js.

math_init.js / Math_Symbol.js script ofuscado
fonte: BleepingComputer
O comportamento observado segue uma cadeia clara:
-
Uma versão maliciosa é publicada no npm.
-
O
preinstallexecuta o dropper durante a instalação. -
O payload busca tokens, variáveis de ambiente, chaves e arquivos de configuração.
-
Credenciais válidas de npm, GitHub, cloud e infraestrutura são verificadas e coletadas.
-
Tokens com permissão de publicação são usados para baixar tarballs legítimos, inserir o payload, incrementar a versão de patch e republicar pacotes.
-
Credenciais GitHub também podem ser usadas para introduzir persistência em repositórios, incluindo configurações do Claude Code e do VS Code.
É isso que torna o ChainDrop particularmente perigoso: não se trata só de um pacote adulterado. Trata-se de um worm de supply chain, capaz de transformar privilégios de um único publisher em múltiplos releases comprometidos.
O alvo: credenciais e capacidade de publicação
O payload busca dados em endpoints de desenvolvimento e runners de CI/CD, incluindo tokens npm, tokens GitHub (ghp_, gho_ e ghs_), variáveis de ambiente, chaves SSH, credenciais AWS, secrets de Kubernetes, HashiCorp Vault, Azure, GCP, bancos de dados e ferramentas SaaS. Em ambientes GitHub Actions, o malware também tenta explorar segredos do runner e permissões OIDC disponíveis durante o job.microsoft+1
Além da coleta de secrets, há exfiltração cifrada para infraestrutura controlada pelo atacante e, como mecanismo alternativo, criação de repositórios públicos no GitHub com a descrição Shai-Hulud: Here We Go Again. A infraestrutura de comando e controle também pode ser atualizada por meio de um smart contract na Ethereum, dificultando bloqueios baseados apenas em domínios estáticos
Mitigação
Como mitigação, as equipes devem auditar imediatamente package-lock.json, yarn.lock, pnpm-lock.yaml, caches de dependências e artefatos de CI/CD em busca das versões comprometidas, fixando versões conhecidamente seguras e adotando npm ci para impedir atualizações implícitas durante builds. Ambientes que tenham instalado pacotes afetados devem ser tratados como potencialmente comprometidos: recrie runners e imagens de build, limpe caches compartilhados e rotacione tokens npm, GitHub, cloud, SSH e demais secrets a partir de um host confiável. Para reduzir a superfície futura, atualize o npm CLI para a versão 11.10.0 ou superior, aplique uma idade mínima para releases (min-release-age), restrinja a saída de rede dos runners, use tokens efêmeros e de privilégio mínimo, e avalie desabilitar scripts de ciclo de vida em instalações que não precisem deles com --ignore-scripts
Referências:
Categorias: Alerta, Ataques, CI/CD, Falhas, Github, npm, PackageKit, Packet Manager, Supply Chain, Worm Like.
Alerta: Datacenters vulneráveis a ataques de brute force de credenciais
Mais de vinte e quatro mil (24.000) datacenters se mostram vulneráveis a uma falha de segurança de mais de vinte…
Falha crítica no Active Directory Certificate Services: Certighost (CVE-2026-54121)
Uma vulnerabilidade de escalonamento de privilégios, identificada como CVE-2026-54121 e apelidada de Certighost, foi divulgada afetando o Active Directory Certificate…
Atualização recomendada: Correção de uma série de vulnerabilidades encontradas no Next.js
Em julho de 2026, a Vercel lançou um security release do Next.js, corrigindo nove vulnerabilidades com CVEs atribuídas, todas já…
Falha no Claude Cowork permite sandbox escape e acesso a arquivos no macOS (SharedRoot)
Uma falha de sandbox escape no Claude Cowork, da Anthropic, permite quebrar os limites de uma máquina virtual Linux usada…
ALERTA: PoC expõe cadeia de Path Traversal e SSTI no Flask-Reuploaded
Uma PoC pública para a CVE-2026-27641 reforça um risco crítico em aplicações Flask que usam o pacote Flask-Reuploaded para tratar…
Alerta: Vulnerabilidades em série encontradas em aplicações codificadas por Inteligência Artificial
O uso da Inteligência artificial para geração de código tem, nos últimos tempos, aumentado de maneira dramática. De acordo com…