Pesquisadores da OX Security revelaram em 14 de julho que quatro pacotes npm da organização AsyncAPI foram comprometidos e receberam código malicioso: @asyncapi/generator 3.3.1, @asyncapi/generator-components 0.7.1, @asyncapi/generator-helpers 1.1.1 e @asyncapi/specs 6.11.2 (mais o alpha.1). Juntos, esses pacotes somam mais de 2 milhões de downloads semanais e alimentam ferramentas usadas por equipes que constroem APIs orientadas a eventos em todo o mundo. O payload injetado ultrapassa 91 mil linhas de código e combina infostealer, cripto-stealer e RAT com múltiplos canais de C2 baseados em IPFS e BitTorrent.
A AsyncAPI é uma das especificações mais adotadas para descrever APIs event-driven — o equivalente ao OpenAPI para arquiteturas assíncronas baseadas em Kafka, MQTT, AMQP e afins. O generator é usado para produzir código, documentação e stubs a partir da especificação, o que significa que ele roda dentro de pipelines de CI/CD, em máquinas de desenvolvedores e, em muitos casos, em processos de build automatizados que possuem acesso a segredos.
O atacante conseguiu comprometer a organização npm da AsyncAPI — o vetor exato ainda não foi divulgado, mas casos anteriores como Shai-Hulud e Miasma sugerem tokens de mantenedor roubados ou takeover de conta. Uma vez com acesso, publicou versões maliciosas com o payload embutido diretamente no arquivo JavaScript principal de cada pacote, tornando-o indistinguível do código legítimo até o momento em que é importado por um projeto.
É importante notar que a versão 12 do npm, lançada para justamente barrar execução automática via post-install scripts, não impediu o ataque. Os atacantes simplesmente colocaram o código no ponto de importação, contornando o controle sem precisar dele.
A arquitetura do malware é notavelmente sofisticada. O C2 primário aponta para 85.137.53.71, mas o payload usa IPFS (ipfs.io) como armazenamento redundante e como C2 de fallback, o que dificulta bloqueio via listas de reputação tradicionais. Além do IPFS, o código estabelece contato com nós bootstrap do BitTorrent — router.bittorrent.com, router.utorrent.com e dht.transmissionbt.com — para manter comunicação mesmo sob bloqueio de rede.
“Este é um ataque de supply chain multi-estágio altamente sofisticado. O malware funciona como um híbrido de info-stealer, cripto-stealer e Remote Access Trojan (RAT). Ele ativamente tenta confundir analistas ao imitar campanhas conhecidas como Miasma, e tem como alvo desenvolvedores e mantenedores de repositórios.”
Relatório da OX Security
Duas capacidades merecem destaque especial. A primeira é a auto-propagação: se o malware encontra tokens válidos para npm, PyPI ou Cargo na máquina infectada, tenta publicar-se automaticamente em pacotes que a vítima mantém nessas plataformas. Um único mantenedor comprometido vira um novo vetor de distribuição — o mesmo mecanismo que fez Shai-Hulud contaminar mais de 500 pacotes em setembro de 2025.
A segunda é a evasão inteligente: o malware verifica se está rodando em máquina virtual, se há EDR ativo e se o locale do sistema é russo. Se qualquer dessas condições for verdadeira, encerra silenciosamente. É prática comum de operadores que querem evitar sandboxes e não infectar máquinas em sua própria jurisdição — um forte indicador do provável ponto de origem do grupo.
O ataque à AsyncAPI é, junto com Shai-Hulud (2025) e Miasma (2025), a terceira grande campanha de supply chain em npm em menos de doze meses. O padrão está claro: atacantes já não perseguem pacotes obscuros para experimentar cadeias de exploração; eles atacam pacotes com milhões de downloads semanais e usam a auto-propagação para transformar cada máquina infectada em ponto de distribuição.
A defesa embutida na v12 do npm — barrar post-install scripts — foi importante, mas o ataque à AsyncAPI mostra sua principal limitação: proteger apenas o momento de instalação ignora que o código malicioso executa quando é importado. E qualquer pacote sério é importado. Precisamos de mecanismos que operem também em runtime: capability-based imports (à la Deno permissions), sandboxing por default e sinais de reputação transparentes por versão publicada, não apenas por pacote.
As referências deliberadas ao Miasma dentro do código são particularmente instrutivas. Trata-se de misdirection consciente: o atacante quer que analistas gastem tempo perseguindo atribuição errada. Isso indica maturidade operacional — quem escreveu esse malware já pensou na fase de resposta a incidentes e está tentando manipulá-la. É uma característica que costumávamos ver apenas em operações de estado-nação; hoje aparece em campanhas de crime organizado com foco financeiro.
Fonte: Security Affairs
Rede alemã de supermercados notifica clientes online após invasores exfiltrarem nomes, telefones, e-mails e datas…
Chaotic Eclipse publicou o LegacyHive, exploit funcional contra o User Profile Service em todas as…
ANPD colocou IA entre os 4 eixos de fiscalização 2026-2027, planejou 20 ações para 2027…
DuneSlide (CVE-2026-50548/50549) leva o Cursor a RCE zero-click. Junto com EchoLeak e CurXecute, marca a…
Nemotron 3 Ultra chega com 550B/55B ativos em MoE Mamba-Attention, 400+ tok/s e liderança entre…
Google evoluiu a Vertex AI no Gemini Enterprise Agent Platform: ADK Python-native, Memory Bank persistente,…