Site Local

Portal de notícias de tecnologia

Verme no npm compromete pacotes keyv e cacheable e se espalha por milhares de versões

Em 4/8, atacantes publicaram versões maliciosas de bibliotecas Node.js com downloads somados na casa dos bilhões; o malware rouba tokens e republica pacotes.

Verme no npm compromete pacotes keyv e cacheable e se espalha por milhares de versões

Em 4 de agosto de 2026, a Microsoft Threat Intelligence identificou um ataque em larga escala à cadeia de suprimentos do npm, o registro de pacotes do Node.js. Segundo o relatório da Microsoft, mais de 400 pacotes de publicadores distintos, entre eles bibliotecas de cache como keyv, flat-cache e cache-manager, receberam versões maliciosas com uma variante do verme Mini Shai-Hulud batizada de ChainDrop. O malware rouba credenciais de desenvolvedores e de pipelines de integração contínua e, com tokens de publicação do npm, republica pacotes envenenados. Não há CVE associada: a entrada inicial veio de contas e tokens comprometidos, e não de uma falha de software.

Como o ataque funciona

As versões maliciosas acrescentavam um script preinstall que executava um arquivo setup.mjs antes de a instalação terminar. Esse carregador trazia um pacote JavaScript ofuscado rodando sobre o runtime Bun. Em estações de desenvolvimento e em agentes de CI/CD, o payload vasculhava arquivos e variáveis de ambiente em busca de tokens do npm, do GitHub, de nuvens (como AWS), do Kubernetes e do HashiCorp Vault, enviava os dados cifrados a um servidor controlado pelos atacantes e usava o GitHub como canal de reserva, criando repositórios públicos com a descrição “Shai-Hulud: Here We Go Again”.

A Agência de Cibersegurança de Singapura (CSA) publicou em 6 de agosto um alerta listando versões comprometidas, entre elas keyv 6.0.0, flat-cache 6.1.24 e cache-manager 7.2.10, e citando mais de 1.300 versões de pacotes no registro, com downloads mensais somados na casa dos 2 bilhões — número que mede a popularidade das bibliotecas, não a quantidade de máquinas infectadas. A Deepwatch descreve o início da campanha como comprometimento da conta GitHub do mantenedor principal do ecossistema keyv/cacheable: o código malicioso foi enviado ao ramo principal e o fluxo oficial do GitHub Actions publicou o pacote no npm com atestação OIDC e SLSA válidas, o que mostra que a assinatura de proveniência não impede um commit feito por uma identidade autenticada e já comprometida.

O que fazer

  • Procurar nas árvores de dependência e nos lockfiles as versões comprometidas listadas pela CSA e pela Microsoft; fixar versões conhecidas como boas anteriores a 4 de agosto.
  • Tratar estações e runners de CI que instalaram essas versões como potencialmente comprometidos: limpar caches do npm/yarn, reconstruir a partir de fontes confiáveis e trocar tokens do npm, do GitHub, chaves de nuvem e segredos acessíveis ao ambiente.
  • Antes de revogar tokens do GitHub, a Deepwatch recomenda remover os artefatos de persistência do “dead-man’s switch” (gh-token-monitor no macOS e no Linux), para evitar a execução de um payload destrutivo quando o token for invalidado.
  • Desativar scripts de ciclo de vida do npm em CI e em estações de desenvolvimento quando possível, e revisar o uso de tokens de publicação de longa duração.

A urgência vem da capacidade de se espalhar sozinho e do alcance das bibliotecas afetadas, não de uma nota CVSS. Quem instalou uma versão comprometida com scripts de instalação ativos precisa assumir que as credenciais daquele ambiente podem ter vazado.

Fontes

Imagem destacada: ilustração gerada por computador, sem valor documental.

Deixe comentário

Seu endereço de e-mail não será publicado. Os campos necessários são marcados com *.

Fique por dentro

As principais notícias de tecnologia, todos os dias

Siga o portal nas redes sociais e acompanhe IA, cibersegurança, cloud, hardware e o mercado de tecnologia em primeira mão.