Um ataque de cadeia de suprimentos perigoso atingiu o projeto AsyncAPI no registro npm, colocando desenvolvedores e sistemas de build automatizados em risco. Atacantes republicaram cinco versões de pacotes em cerca de noventa minutos em 14 de julho de 2026. Cada versão carregava o mesmo carregador oculto que é executado assim que o código é importado.
Descoberta e escopo
O malware não depende dos scripts de instalação usuais que muitas equipes já bloqueiam. Em vez disso, ele ganha vida quando qualquer aplicação ou ferramenta de build carrega o módulo envenenado. Isso significa que uma configuração de segurança comum chamada ignore-scripts não oferece proteção real contra essa ameaça. Analistas da Microsoft identificaram a campanha e rastrearam como um fluxo de trabalho GitHub Actions fraco abriu a porta.
Vetor e exploração
O segundo estágio entrega um runtime modular chamado Miasma. Esse framework pode falar com servidores remotos, permanecer na máquina e manter módulos prontos para roubar credenciais. O runtime inclui código de acesso amplo a credenciais destinado a segredos que desenvolvedores e sistemas CI frequentemente mantêm próximos. Ele procura mais de cem nomes de variáveis de ambiente abrangendo controle de origem, registros de pacotes, principais provedores de nuvem, plataformas de contêiner, gerenciadores de segredos e serviços de IA populares.
Evidências e limites
Alvos incluem GITHUB_TOKEN e GITLAB_TOKEN para hospedagem de código, NPM_TOKEN e NODE_AUTH_TOKEN para publicação de pacotes, e chaves AWS, Azure e Google Cloud. O mesmo código também caça chaves de API Anthropic e OpenAI, junto com tokens Docker e Kubernetes que muitos pipelines armazenam em configurações de ambiente simples. No disco, o framework procura arquivos familiares como .npmrc, credenciais AWS, kubeconfig, chaves privadas SSH, tokens Vault, .netrc, configuração Docker e JSON de conta de serviço Google.
Medidas de mitigação recomendadas
Equipes de segurança devem remover as cinco versões ruins, purgar caches npm e Yarn, e girar todos os segredos alcançáveis de qualquer host que importou os pacotes. Defensores também devem caçar um arquivo chamado sync.js sob diretórios que se disfarçam como pastas de suporte NodeJS no Windows, macOS e Linux. Equipes devem pinar versões conhecidas como boas, reconstruir a partir de lockfiles limpos e bloquear os identificadores de conteúdo IPFS listados na periferia quando o IPFS não for necessário para trabalho de negócios.
Comparação com ataques anteriores
Este ataque se assemelha a outros casos de abuso de fluxo de trabalho GitHub Actions onde pipelines automatizados se tornam o caminhão de entrega. O caminho legítimo de lançamento publicou @asyncapi/generator 3.3.1, generator-components 0.7.1, generator-helpers 1.1.1 e duas versões de @asyncapi/specs, todos carregando proveniência válida de commits não autorizados.
O que os CISOs devem fazer imediatamente
Equipes de segurança devem revisar fluxos de trabalho GitHub Actions, limitar escopos de tokens e implementar verificações de integridade de pacotes. A atualização do CLI npm e a revisão de escopos de token podem reduzir a chance de repetição deste incidente estilo ataque de cadeia de suprimentos npm. Após a limpeza, reconstrua imagens compartilhadas e golden runners para que caches envenenados não retornem silenciosamente.
Perguntas frequentes
Isso afeta todos os desenvolvedores? Sim, qualquer um que importou as versões comprometidas está em risco. Como saber se fui comprometido? Monitorar processos NodeJS suspeitos e verificar arquivos sync.js. Devo descontinuar o uso do npm? Não, mas audite pacotes e implemente verificações de integridade.
Conclusão
O ataque de cadeia de suprimentos ao projeto AsyncAPI destaca a importância de verificar a integridade de pacotes e monitorar fluxos de trabalho de build automatizados. A facilidade de exploração torna esta falha uma prioridade crítica para desenvolvedores e administradores de sistemas que dependem do npm para desenvolvimento e implantação de software.