Em vez de criar novos pacotes suspeitos, os atacantes miraram contas de mantenedores com permissão de publicação no npm. Depois de assumir o controle dessas contas, eles lançaram versões modificadas de bibliotecas já populares.
Isso é especialmente perigoso porque muitos projetos usam faixas de versão flexíveis (semver). Assim, quando alguém executa um npm install ou um pipeline CI/CD atualiza dependências automaticamente, a versão comprometida pode ser instalada sem qualquer intervenção manual.
Em 19 de maio de 2026, pesquisadores relataram que a conta npm atool foi comprometida. Em aproximadamente 22 minutos, os invasores publicaram 637 versões maliciosas distribuídas em 317 pacotes.
Entre as bibliotecas afetadas estavam componentes amplamente usados no desenvolvimento web, como:
size-sensorecharts-for-reacttimeago.js@antv/*Esses pacotes fazem parte do AntV, um conjunto de bibliotecas de visualização de dados mantido pela Alibaba e utilizado em muitos projetos de front‑end. Como outros softwares dependem dessas bibliotecas, o impacto pode se espalhar rapidamente pela cadeia de dependências.
Segundo análise da Microsoft, a presença dessas bibliotecas em projetos populares — como echarts-for-react, com mais de um milhão de downloads semanais — ampliou significativamente o alcance potencial do ataque.
As versões comprometidas continham um payload JavaScript ofuscado projetado para executar automaticamente durante a instalação do pacote.
Os atacantes usaram scripts como preinstall, um tipo de hook do npm que executa comandos durante o processo de instalação. Assim, apenas rodar um npm install já poderia disparar o malware em máquinas de desenvolvedores ou servidores de integração contínua.
Outra técnica identificada envolvia optionalDependencies apontando para commits específicos no GitHub. Como o npm pode baixar código diretamente de um repositório usando o hash de um commit (SHA), os atacantes conseguiram referenciar objetos em forks com histórico compartilhado, mesmo sem acesso de escrita ao repositório original.
Uma vez executado, o malware tenta coletar o máximo possível de segredos do ambiente do desenvolvedor ou do servidor onde foi instalado.
Entre os alvos estão:
O código também tenta extrair dados de gerenciadores de senha locais como 1Password, Bitwarden, pass e gopass.
Para enviar os dados roubados aos invasores, o malware usa dois métodos principais: grava informações dentro de objetos Git enviados a repositórios públicos no GitHub e realiza requisições HTTPS criptografadas disfarçadas de tráfego de telemetria.
Pesquisadores descrevem o Mini Shai‑Hulud como auto‑propagante.
Depois de roubar credenciais, o malware tenta reutilizá‑las para comprometer novos ambientes — por exemplo, obtendo tokens de publicação em pipelines CI/CD ou manipulando fluxos de automação para publicar novas versões maliciosas de pacotes.
Isso transforma cada ambiente comprometido em um possível ponto de lançamento para novos ataques à cadeia de suprimentos.
Uma onda relacionada da campanha apareceu no início de maio de 2026 e afetou pacotes do ecossistema TanStack, um conjunto amplamente usado de bibliotecas front‑end para aplicações JavaScript.
Essas versões também continham código ofuscado projetado para roubar segredos de CI/CD e credenciais de desenvolvedores, permitindo que os atacantes ampliassem o alcance do ataque para outros repositórios e pacotes.
O ataque à TanStack teve consequências reais fora do mundo do código aberto.
A OpenAI confirmou posteriormente que dois dispositivos de funcionários foram afetados por meio da cadeia de dependências comprometida. O comportamento observado correspondia ao malware descrito publicamente, incluindo tentativas de acesso a repositórios internos e exfiltração de credenciais.
Mesmo assim, a empresa informou que:
Como precaução, a OpenAI isolou os dispositivos afetados, revogou sessões, rotacionou credenciais, restringiu fluxos de implantação e iniciou a troca de certificados de assinatura de código.
O caso Mini Shai‑Hulud mostra uma tendência crescente em segurança: atacar o ecossistema de desenvolvimento em vez do usuário final.
Alguns fatores tornam essa campanha particularmente preocupante:
Como grande parte da infraestrutura digital moderna depende de bibliotecas open source, até mesmo um curto comprometimento de um pacote popular pode afetar milhares de projetos e pipelines de desenvolvimento.
O episódio reforça um desafio crescente para a indústria de software: proteger não apenas aplicações finais, mas toda a cadeia de ferramentas, dependências e automações que as constroem.