O worm da cadeia de suprimentos Shai-Hulud npm atinge centenas de projetos

Última atualização: 09/18/2025
  • A campanha de autopropagação "Shai-Hulud" comprometeu pelo menos 187 pacotes npm e ainda está sob investigação.
  • Os invasores abusaram de contas de editores confiáveis, injetaram uma carga útil do bundle.js e usaram o TruffleHog para coletar segredos.
  • Scripts maliciosos de pós-instalação tinham como alvo CI/CD para exfiltrar variáveis ​​de ambiente, credenciais de nuvem e tokens.
  • O ReversingLabs vincula o surto a um lançamento malicioso de rxnt-authentication em 14 de setembro de 2025; o npm e os fornecedores estão eliminando pacotes contaminados.

ataque à cadeia de suprimentos npm Shai-Hulud

Em meio a um maior escrutínio do risco de código aberto, uma grande escala ataque à cadeia de suprimento do npm apelidado de “Shai-Hulud” está abalando o ecossistema JavaScript, com centenas de pacotes implicados e limpeza ativa em andamento. Pesquisadores dizem que a operação combina comprometimento de contas, publicação automatizada e roubo de segredos de maneiras que a tornam extremamente difícil de conter.

As primeiras análises apontam para invasores que abusam de contas de editores confiáveis ​​para enviar atualizações com armadilhas, enquanto a automação propagou rapidamente lançamentos maliciosos para projetos populares. Como os pacotes npm são amplamente reutilizados, o impacto em cascata por meio de árvores de dependência é particularmente preocupante para equipes que dependem de pipelines de CI/CD.

Como a campanha foi identificada

Os pesquisadores de segurança notaram pela primeira vez atividades suspeitas vinculadas a projetos que faziam referência a pacotes relacionados ao CrowdStrike, o que levou a uma varredura mais ampla do registro em busca de anomalias e uploads não autorizados de contas aparentemente legítimas. Vários alvos parecem ser comuns em ambientes corporativos, aumentando o raio de explosão.

O desenvolvedor Daniel Pereira alertou publicamente sobre um ataque em larga escala à cadeia de suprimentos após ter dificuldade para acessar canais de segurança privados, pedindo aos desenvolvedores que evitem lançamentos recentes de @ctrl/tinycolor, um pacote com milhões de downloads semanais. Seu alerta desencadeou uma investigação coordenada por diversas equipes de segurança.

O que o malware tenta roubar

Uma vez instalados, os pacotes contaminados podem executar scripts pós-instalação projetados para exfiltrar variáveis ​​de ambiente, tokens e outros segredos. Isso coloca os servidores de compilação e as estações de trabalho do desenvolvedor em risco se as versões maliciosas forem extraídas durante a instalação ou execuções de CI.

Ao visar especificamente os sistemas CI/CD, os operadores procuraram capturar material de autenticação, como chaves do provedor de nuvem, tokens de acesso privado e credenciais de serviço. Com isso em mãos, os adversários poderiam se mover lateralmente, reentrar nas redes e potencialmente adulterar pipelines ou aplicativos confidenciais.

Como o worm se espalha entre pacotes

As investigações indicam que a campanha inclui um componente de autopropagação que baixou cada pacote de propriedade de um mantenedor comprometido, alterou seu package.json, injetou um pacote.js carga útil, reempacotou-a e republicou-a, automatizando a trojanização de versões subsequentes.

O malware também abusou da ferramenta legítima de verificação de segredos TruffleHog para procurar credenciais expostas e arquivos de configuração referenciados chamados shai-hulud.yaml— uma referência aos vermes da areia de Duna que inspiraram o nome da operação. Essa combinação de reutilização e automação ajudou a ameaça a se mover rapidamente.

Escopo e pacotes afetados até agora

Pesquisadores do Socket e do Aikido identificaram pelo menos 187 pacotes npm comprometidos até o momento, com a expectativa de que o número aumente à medida que as revisões prosseguem. Como até mesmo uma única dependência contaminada pode afetar muitos projetos, a exposição efetiva pode ser substancial.

Entre os afetados estavam pacotes associados ao CrowdStrike, como crowdstrike-sdk, crowdstrike-client e crowdstrike-api— juntamente com outros módulos populares. A ênfase em bibliotecas referenciadas pela empresa sugere que as operadoras buscavam a máxima alavancagem operacional.

Pistas sobre origem e linha do tempo

O ReversingLabs relata que o surto provavelmente remonta a um lançamento malicioso de autenticação rxnt publicado em 14 de setembro de 2025, com a conta npm suporte técnico rxnt considerado um potencial paciente zero. Ainda não está claro como essa conta foi invadida, com hipóteses que vão desde phishing até o abuso de uma ação vulnerável do GitHub.

Várias empresas descrevem o Shai-Hulud como um evento sem precedentes, worm de pacote npm auto-replicante que também rouba tokens de nuvem. Embora a atribuição esteja em andamento, o perfil técnico destaca como a automação controlada pelo invasor pode transformar gerenciadores de pacotes em poderosos canais de distribuição.

Resposta e limpeza da indústria

O registro npm e os parceiros de segurança foram transferidos para remover pacotes maliciosos, notificar os editores e emitir orientações para auditar dependências. Desenvolvedores são incentivados a verificar arquivos de bloqueio e históricos de versões, especialmente em meados de setembro de 2025.

A CrowdStrike declarou que eliminou rapidamente os pacotes desonestos do npm público, girou as chaves proativamente e confirmou que seu sensor Falcon não usa esses módulos e as proteções ao cliente permanecem em vigorA empresa está colaborando com a npm e conduzindo uma revisão abrangente.

Passos práticos para equipes

As organizações devem auditar imediatamente os projetos em busca de indicadores conhecidos, priorizando listas de dependências, arquivos de bloqueio e logs de construção de CI. Gire quaisquer tokens e credenciais potencialmente expostos, incluindo tokens npm, PATs do GitHub e chaves de nuvem.

  • Remova ou fixe os pacotes afetados e volte para versões seguras; reconstrua a partir de ambientes limpos.
  • Habilite 2FA obrigatório para contas de editores npm e imponha tokens de privilégios mínimos em CI/CD.
  • Verifique continuamente dependências e artefatos em busca de adulteração; monitore comportamentos anômalos após a instalação.
  • Configure alertas para publicações inesperadas da sua organização e verifique a integridade do pacote antes da promoção.

Para reduzir a exposição futura, introduza verificações automatizadas que bloqueiem scripts suspeitos durante a instalação e verificar a procedência de dependências novas ou atualizadas antes que cheguem à produção. Revisar o acesso do mantenedor, as proteções do repositório e as políticas de assinatura pode fortalecer ainda mais a cadeia.

A campanha Shai-Hulud revelou a rapidez com que um ator determinado pode transformar a confiança em registros populares em armas, usando contas comprometidas, propagação semelhante a worms e coleta de segredos para ampliar o impacto; vigilância, correção rápida e controles mais fortes dos editores agora são prioridades imediatas para equipes em todo o ecossistema.

ataque generalizado da cadeia de abastecimento do NPM
Artigo relacionado:
Ataque generalizado à cadeia de suprimentos do NPM abala o ecossistema JavaScript
Artigos relacionados: