Into the Breach: Rompendo a Firewall

Uma nova série documental intitulada «
» Apresentada por Kari Byron

Uma nova série documental apresentada por Kari Byron
estreia a 8 de agosto

Estreia a 8 de agosto

00DIAS
21HORAS
38MINUTOS
12SECS
Saiba mais

O Shai-Hulud está de volta: o worm ChainDrop atinge o npm, infetando centenas de pacotes

O worm autopropagável está de volta. Desta vez, infetou o keyv, uma biblioteca de cache do npm que vem incluída em milhões de compilações, e instala um segundo gatilho que se ativa na próxima vez que um programador simplesmente abrir o projeto.
Por Vinh Lam, Gestor Técnico Sénior do Programa
Partilhar esta publicação

A 4 de agosto de 2026, um atacante assumiu o controlo da conta do GitHub do mantenedor do keyv, uma biblioteca de cache de chave-valor com cerca de centenas de milhões de downloads semanais no npm, e injetou um worm destinado a roubar credenciais em toda a família de pacotes do mantenedor, incluindo o cacheable, o flat-cache, o file-entry-cache e o cache-manager. Conhecido como ChainDrop, o worm propagou-se a centenas de pacotes adicionais, com um total combinado de mais de dois mil milhões de instalações mensais.

O que torna isto perigoso não é o número de downloads, mas sim a forma como o código malicioso ganhou confiança. O atacante publicou através do próprio pipeline de lançamento automatizado do projeto, pelo que as versões adulteradas apresentavam uma proveniência válida: uma prova assinada de que um pacote tinha sido compilado pelo pipeline oficial a partir da fonte verdadeira. Essa prova destina-se a ser um sinal de segurança. Neste caso, era genuína, porque o próprio pipeline tinha sido comprometido. Para um programador, ou para uma ferramenta de segurança que verificasse a assinatura, a versão maliciosa parecia completamente autêntica.

O ChainDrop é a mais recente vaga de uma campanha que os investigadores têm vindo a acompanhar desde setembro de 2025: Shai-Hulud 1.0 (setembro de 2025), 2.0 (novembro de 2025) e Mini Shai-Hulud, Quarta Vaga (maio de 2026). Cada uma delas tem vindo a intensificar-se, com as variantes mais recentes a apresentarem uma propagação mais agressiva e explorações mais abrangentes da cadeia de abastecimento.

O que sabemos até agora (6 de agosto de 2026)

  • Data: «keyv@6.0.0» é a data de início confirmada, publicada a 4 de agosto de 2026.
  • Ponto de entrada: A intrusão teve início com a conta de um responsável pela manutenção no GitHub que foi comprometida, e a versão maliciosa passou pelo pipeline de publicação legítimo do projeto.
  • Carga útil: Existe um caminho de pré-instalação que utiliza o ficheiro setup.mjs, o qual descarrega o Bun e executa uma carga útil de grandes dimensões, ofuscada, destinada a roubar credenciais.
  • Atribuição: Os investigadores classificam-no como pertencente à família de malware Shai-Hulud.

Um sistema fiável usado contra si próprio

O que torna o ChainDrop particularmente preocupante é o facto de não ter recorrido a uma vulnerabilidade ostensiva nem a um site de downloads falso. Em vez disso, tirou partido da cadeia de abastecimento normal de software — o mesmo processo de publicação e instalação de pacotes utilizado por milhões de programadores.

Na prática, isso significa que um pacote pode parecer legítimo, mas conter, sem dar nas vistas, código malicioso que se ativa durante a instalação. As equipas de segurança afirmam que o malware foi concebido para roubar informações confidenciais dos computadores dos programadores e dos sistemas de CI/CD, incluindo tokens do GitHub, credenciais do npm, chaves da AWS, segredos do Kubernetes e outros dados de acesso.

O risco mais alargado não se limita aos programadores. Qualquer organização que utilize pacotes afetados pode ser indiretamente afetada através de sistemas de compilação, dependências e pipelines de lançamento automatizados.

O ChainDrop serve para nos lembrar que as dependências de código aberto representam um risco empresarial, e não apenas uma preocupação dos programadores.

Um risco empresarial, não apenas um risco para os programadores

Para qualquer organização que dependa de software JavaScript e Node.js, o ChainDrop serve para nos lembrar que as dependências de código aberto constituem um risco empresarial, e não apenas uma preocupação dos programadores.

Um pacote comprometido pode ser herdado indiretamente através de dependências e sistemas de compilação, podendo levar ao roubo de credenciais, ao acesso não autorizado à infraestrutura na nuvem e à rotação de segredos e resposta a incidentes em grande escala. Quando a integridade do software, o controlo de acesso e o risco associado a terceiros se enquadram no seu ambiente de controlo — tal como acontece no âmbito das normas PCI DSS, DORA, NIS2 e CMMC —, essa exposição recai diretamente também sobre a conformidade e a governação.

Identificar a sua exposição com uma SBOM

A dificuldade reside na visibilidade: as versões adulteradas encontram-se nas camadas mais profundas das árvores de dependências e parecem autênticas. Quando analisámos os pacotes afetados com o SBOM no MetaDefender ™ Software Supply Chain, as versões comprometidas foram sinalizadas, em vez de serem consideradas fiáveis com base na sua proveniência.

MetaDefender Software O Supply Chain™ assinala o «keyv@6.0.0» como crítico (GHSA-3p9h-f68w-m6fx). A última versão sem problemas foi a 5.6.0.
Visibilidade da cadeia de abastecimento: Uma análise à família «keyv» identificou 21 vulnerabilidades críticas em 23 pacotes, 10 das quais classificadas como de risco.
OPSWAT O SBOM em MetaDefender Core bloqueou um ficheiro package.json que utilizava os pacotes comprometidos.

A lição a reter é que a defesa eficaz contra este tipo de ataque consiste em verificar o conteúdo de um componente, em vez de confiar na sua origem.

Principais conclusões

  • A proveniência comprova a origem, não a integridade. Uma assinatura válida numa cadeia de distribuição comprometida continua a produzir um pacote malicioso assinado. Verifique o conteúdo, não apenas as certificações.
  • A instalação já não é o único fator desencadeante. Os hooks do IDE e do agente ao nível do repositório podem ser executados no momento da abertura. Alargue a sua revisão para além do «npm install».
  • Esta campanha continua em curso. O ChainDrop representa a mais recente onda de uma série de incidentes que tem vindo a intensificar-se desde setembro de 2025. Considerar qualquer incidente isolado como resolvido, sem abordar as lacunas subjacentes no fluxo de trabalho e na gestão de credenciais, deixa a porta aberta para o próximo incidente.

Proteja a sua cadeia de abastecimento com MetaDefender Software Supply Chain

Mantenha-se atualizado com OPSWAT!

Inscreva-se hoje para receber as últimas actualizações da empresa, histórias, informações sobre eventos e muito mais.