Publicado em

Shai-Hulud: O Worm que afeta os Pacotes NPM

Introdução

Em setembro de 2025, foi descoberta uma nova campanha de malware na cadeia de fornecimento de software que afeta o ecossistema JavaScript/NPM. O worm por trás deste ataque foi apelidado de Shai-Hulud, uma referência aos vermes gigantes do universo Dune.

Este artigo explica o que é, como atua, quais os riscos e como te podes proteger.

O que é o Shai-Hulud

  • Malware auto-replicante que se espalha por pacotes publicados no NPM.
  • Infecta contas de programadores comprometidas e insere código malicioso nos scripts de instalação (postinstall).
  • Roubos de segredos e credenciais, além de injeção de workflows no GitHub para exfiltrar dados.

Como Funciona o Ataque

  1. Comprometimento de contas: tokens NPM roubados permitem publicação de versões maliciosas.
  2. Injeção de scripts: adiciona bundle.js ofuscado que procura credenciais em variáveis de ambiente e serviços cloud.
  3. Exfiltração de dados: segredos roubados são enviados para repositórios GitHub ou webhooks controlados por atacantes.
  4. Auto-replicação: o worm modifica outros pacotes do mesmo criador e continua a propagar-se.
  5. Exposição de repositórios: repos privados são tornados públicos, com nomes como “-migration”.

Impacto

  • Mais de 180 pacotes NPM comprometidos.
  • Pacotes populares como @ctrl/tinycolor (2,2M downloads/semana) e ngx-bootstrap foram afetados.
  • Ambientes de desenvolvimento e pipelines CI/CD em risco de vazamento de credenciais.
  • Dificuldade em conter a propagação devido ao comportamento auto-replicante.

Exemplos de Pacotes Afetados

  • @ctrl/tinycolor
  • ngx-bootstrap
  • Pacotes associados a contas da CrowdStrike

Como te Protegeres

  • Verificar versões: usar versões fixas (x.y.z) e evitar dependências soltas (^, ~).
  • Auditar dependências: usar scanners e rever scripts de instalação (postinstall).
  • Rodar credenciais: revogar tokens expostos (NPM, GitHub, cloud) e ativar MFA/2FA.
  • Revisar pipelines CI/CD: procurar workflows desconhecidos ou pacotes adicionados recentemente.
  • Restringir permissões: tokens NPM só em ambientes seguros e com privilégios mínimos.
  • Monitorizar scripts: desativar postinstall em ambientes não confiáveis.
  • Monitorização contínua: acompanhar alertas de segurança e registos de instalação/build.

Conclusão

O Shai-Hulud é um dos ataques mais sérios contra a cadeia de fornecimento de software nos últimos anos. Ele combina auto-replicação, roubo de segredos e exposição de código privado em larga escala.
As organizações devem reforçar as suas práticas de segurança, auditar dependências regularmente e manter políticas rigorosas de proteção de credenciais.

Artigo escrito por IA