Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124


Em 24 de novembro, a empresa de segurança Aikido detectou uma segunda onda do worm npm auto-replicante Shai-Hulud, comprometendo 492 pacotes com um total combinado de 132 milhões de downloads mensais.
O ataque atingiu grandes ecossistemas, incluindo AsyncAPI, PostHog, Postman, Zapier e ENSexplorando as últimas semanas antes do prazo final de 9 de dezembro do NPM para revogar tokens de autenticação legados.
Fila de triagem do Aikido sinalizou a intrusão por volta das 3h16 UTC, como versões maliciosas do go-template da AsyncAPI e 36 pacotes relacionados começaram a se espalhar pelo registro.
O invasor rotulou os repositórios de credenciais roubadas com a descrição “Sha1-Hulud: The Second Coming”, mantendo a marca teatral da campanha de setembro.
O worm instala o tempo de execução Bun durante a configuração do pacote e, em seguida, executa código malicioso que procura segredos expostos nos ambientes do desenvolvedor usando o TruffleHog.
Chaves de API comprometidas, tokens GitHub e credenciais npm são publicados em repositórios públicos nomeados aleatoriamente, e o malware tenta se propagar enviando novas versões infectadas para até 100 pacotes adicionais, cinco vezes a escala do ataque de setembro.
A iteração de novembro introduz diversas modificações do ataque de setembro.
O malware agora cria repositórios com nomes gerados aleatoriamente para dados roubados, em vez de usar nomes codificados, complicando os esforços de remoção.
O código de configuração instala o Bun via setup_bun.js antes de executar a carga primária em bun_environment.js, que contém a lógica do worm e rotinas de exfiltração de credenciais.
A adição mais destrutiva: se o malware não conseguir se autenticar no GitHub ou npm usando credenciais roubadas, ele limpará todos os arquivos do diretório inicial do usuário.
A análise do Aikido revelou erros de execução que limitaram a propagação do ataque. O código agrupado que copia o worm completo em novos pacotes às vezes não inclui bun_environment.js, deixando apenas o script de instalação do Bun sem a carga maliciosa.
Apesar destas falhas, os compromissos iniciais atingiram alvos de alto valor com enorme exposição a jusante.
Os pacotes AsyncAPI dominaram a primeira onda, com 36 versões comprometidas, incluindo @asyncapi/cli, @asyncapi/parser e @asyncapi/generator.
PostHog veio às 4h11 UTC, com versões infectadas de posthog-js, posthog-node e dezenas de plug-ins. Os pacotes do carteiro chegaram às 5h09 UTC.
O compromisso Zapier afetou @zapier/zapier-sdk, zapier-platform-cli e zapier-platform-core, enquanto o compromisso ENS afetou @ensdomains/ensjs, @ensdomains/ens-contracts e ethereum-ens.
A equipe AsyncAPI descobriu um branch malicioso em seu repositório CLI criado imediatamente antes dos pacotes comprometidos aparecerem no npm.
A ramificação continha uma versão implantada do malware Shai-Hulud, indicando que o invasor obteve acesso de gravação ao próprio repositório, em vez de simplesmente sequestrar tokens npm.
Esse escalonamento reflete a técnica usada no comprometimento Nx original, em que os invasores modificaram os repositórios de origem para injetar código malicioso em pipelines de construção legítimos.
Aikido estima que 26.300 repositórios GitHub agora contêm credenciais roubadas marcadas com a descrição “Sha1-Hulud: The Second Coming”.
Os repositórios contêm segredos expostos por ambientes de desenvolvedores que executaram os pacotes comprometidos, incluindo credenciais de serviço em nuvem, tokens CI/CD e chaves de autenticação para APIs de terceiros.
A natureza pública dos vazamentos amplifica os danos: qualquer invasor que monitore os repositórios pode coletar credenciais em tempo real e lançar ataques secundários.
O momento coincide com o anúncio da NPM, em 15 de novembro, de que revogará os tokens de autenticação clássicos em 9 de dezembro.
A escolha do invasor de lançar uma campanha final em grande escala antes do prazo sugere que eles reconheceram que a janela para compromissos baseados em tokens estava se fechando. A linha do tempo do Aikido mostra que a primeira onda Shai-Hulud começou em 16 de setembro.
A “Segunda Vinda” de 24 de novembro representa a última oportunidade do invasor de explorar tokens legados antes que a migração do npm corte esse acesso.
Aikido recomenda que as equipes de segurança auditem todas as dependências dos ecossistemas afetados, especialmente os pacotes Zapier, ENS, AsyncAPI, PostHog e Postman instalados ou atualizados após 24 de novembro.
As organizações devem alternar todos os segredos do GitHub, npm, nuvem e CI/CD usados em ambientes onde esses pacotes estavam presentes e pesquisar no GitHub repositórios com a descrição “Sha1-Hulud: The Second Coming” para determinar se as credenciais internas foram expostas.
Desabilitar scripts npm postinstall em pipelines de CI evita futuras execuções no momento da instalação, e fixar versões de pacotes com arquivos de bloqueio limita a exposição a versões recentemente comprometidas.