Esses commits não eram triviais. Dentro do repositório RedHatInsights/javascript-clients, o invasor injetou um fluxo de trabalho malicioso do GitHub Actions que solicitava tokens de identidade OIDC e executava uma carga útil ofuscada . Essa carga publicou 32 lançamentos de pacotes "trojanizados" sob o escopo oficial do npm
@redhat-cloud-services, cada um carregando o marcador da campanha “Miasma: The Spreading Blight” (A Ferrugem que se Espalha) . Como os pacotes fluíam pelo pipeline legítimo de CI/CD da Red Hat e usavam fluxos de trabalho de publicação OIDC válidos, eles carregavam assinaturas de procedência SLSA autênticas — o que significa que as verificações de segurança padrão os sinalizariam como verificados
.
Os pacotes maliciosos tinham uma média de cerca de 80.000 downloads semanais . No momento em que um desenvolvedor executava
npm installpreinstall . A carga coletava credenciais da AWS, Azure, GCP, GitHub, HashiCorp Vault, configurações do Kubernetes, chaves SSH e ambientes de desenvolvimento locais
. Em seguida, usava esses segredos roubados para injetar código malicioso em outros projetos aos quais a vítima tinha acesso, transformando cada estação de trabalho e pipeline de CI/CD comprometidos em um novo nó de distribuição
.
O comportamento mais inovador do worm não era apenas o roubo de credenciais — era a exploração de ferramentas de codificação com IA. Variantes do Miasma plantavam arquivos de regras maliciosas visando Claude Code, Cursor, Gemini CLI e GitHub Copilot. Esses arquivos são projetados para serem executados automaticamente quando um desenvolvedor simplesmente clona e abre o repositório comprometido em seu IDE . Na prática, o ato de ler o código — sem nunca instalar um pacote — poderia acionar a carga maliciosa.
Em 5 de junho de 2026, o worm chegou à Microsoft. Um commit malicioso intitulado “Switched DataConverter to OrchestrationContext [skip ci]” aterrissou no repositório Azure/durabletask, com seus metadados manipulados para exibir a data do commit como 9 de março de 2020, provavelmente na tentativa de evitar suspeitas . Esse commit foi a cabeça de ponte. A partir dali, o worm se espalhou para 73 repositórios em quatro organizações do GitHub da Microsoft: Azure, Azure-Samples, Microsoft e MicrosoftDocs
. Os projetos afetados incluíam infraestrutura central como
azure-functions-host e toda a família Durable Task em .NET, Go, Java, JavaScript, MSSQL e Python .
Para entender o Miasma, é preciso entender a decisão do TeamPCP de abrir o código de sua arma.
O TeamPCP (também rastreado como Replicating Marauder, TGR-CRI-1135 e UNC6780) é um grupo de agentes de ameaça que passou 2025 e o início de 2026 aperfeiçoando uma família de worms de cadeia de suprimentos autopropagáveis. Suas operações atingiram o pico em 11 de maio de 2026, quando publicaram 373 versões maliciosas de pacotes em 172 pacotes npm e PyPI, com uma contagem combinada de downloads superior a 518 milhões . Somente essa campanha demonstrou a capacidade do worm de extrair tokens OIDC da memória dos runners do GitHub Actions, obter certificados de assinatura válidos e produzir pacotes maliciosos com atestados de procedência aprovados
.
Então, em 12 de maio de 2026, o TeamPCP publicou o código-fonte completo do Mini Shai-Hulud no GitHub sob uma licença MIT . Junto com ele, o grupo anunciou uma competição no BreachForums, oferecendo US$ 1.000 em Monero para o maior ataque à cadeia de suprimentos realizado com seu framework
. A mensagem era explícita: o kit de ferramentas agora era propriedade pública.
Em cinco dias, uma única conta de usuário npm havia enviado quatro pacotes maliciosos, incluindo um clone quase literal do worm Shai-Hulud. A empresa de segurança OX Security analisou o clone e descobriu que ele foi copiado "quase sem nenhuma alteração", diferindo apenas no endpoint de comando e controle do invasor e na chave privada . A industrialização dos ataques à cadeia de suprimentos havia começado — e os defensores ainda não sabiam disso.
Dezessete dias após a abertura do código, o Miasma atingiu a Red Hat. O código do malware é uma variante estrutural do Mini Shai-Hulud, com as referências originais ao tema de Duna substituídas por uma marca inspirada na mitologia grega . Mas as técnicas — execução de script via
preinstall, cargas JavaScript ofuscadas, coleta de credenciais e autopropagação via CI/CD — são substancialmente idênticas .
Crucialmente, os pesquisadores não podem atribuir conclusivamente o Miasma ao próprio TeamPCP. A Cloud Security Alliance observa explicitamente que "atores imitadores usando a mesma base de código publicamente lançada não podem ser descartados" . A Unit 42 da Palo Alto Networks reforça isso, afirmando que "a atribuição permanece incerta" porque o lançamento público do código-fonte significa que qualquer ator competente pode replicar o mesmo ataque
. Essa ambiguidade não é uma nota de rodapé — é uma característica deliberada da estratégia de código aberto, projetada para inundar o ecossistema com ruído e sobrecarregar os esforços de atribuição
.
O framework de código aberto não apenas possibilitou o Miasma — ele gerou uma onda de atividades imitadoras imediatas.
Em 3 de junho de 2026, uma nova variante chamada Phantom Gyp surgiu, alcançando 57 pacotes npm adicionais, incluindo @vapi-ai/server-sdk e ai-sdk-ollama . Esta variante usava um arquivo
binding.gyp como arma para executar código malicioso durante a instalação do pacote, contornando o já escrutinado caminho de execução postinstall . Pesquisadores da OpenSourceMalware confirmaram que a campanha foi o primeiro uso confirmado em ambiente real do framework do TeamPCP, embora o TeamPCP nunca tenha reivindicado o crédito
.
Em 8 de junho, o SANS Internet Storm Center relatou que a população mais ampla de atacantes estava agora empunhando ativamente o framework Mini Shai-Hulud de código aberto, com múltiplos agentes de ameaça independentes lançando suas próprias campanhas . O malware havia se espalhado para além do npm: pesquisadores identificaram uma variante Ruby que parecia ter sido traduzida por um LLM (Large Language Model) — uma adaptação grosseira, mas funcional, que não fazia parte do código aberto original
. A velocidade de adaptação, do npm para múltiplos ecossistemas, ressaltou o quão profundamente a superfície de ataque havia mudado.
A resposta ao Miasma foi extraordinariamente rápida e pública, refletindo tanto a escala do comprometimento quanto o envolvimento dos principais proprietários de plataformas.
A resposta do GitHub foi imediata. A plataforma desativou mais de 70 repositórios de propriedade da Microsoft em aproximadamente 105 minutos após a detecção, em 5 de junho de 2026 . Os repositórios desativados abrangiam as organizações Azure, Azure-Samples, Microsoft e MicrosoftDocs
. Em poucos dias, todos os repositórios foram restaurados e declarados limpos, embora alguns pipelines de CI/CD afetados da Microsoft tenham sido interrompidos durante a remoção
.
A Microsoft publicou uma análise técnica detalhada por meio de sua equipe de Inteligência de Ameaças em 2 de junho de 2026, cobrindo toda a cadeia de ataque, desde o comprometimento inicial da Red Hat até a exploração do CI/CD . A Microsoft também tomou a medida altamente incomum de remover 73 de seus próprios repositórios, dizendo ao BleepingComputer que a decisão foi tomada por preocupação de que os repositórios estivessem distribuindo "conteúdo potencialmente malicioso"
. A interrupção nos fluxos de trabalho internos de CI/CD da Microsoft demonstrou que nem mesmo o proprietário da plataforma estava imune às consequências de um worm na cadeia de suprimentos.
A Red Hat publicou o comunicado de segurança RHSB-2026-006 em 1º de junho de 2026, confirmando o comprometimento e declarando que a violação foi limitada a ferramentas internas de desenvolvimento, sem impacto nos produtos Red Hat Enterprise Linux ou OpenShift . A empresa revogou todas as versões de pacotes npm afetadas e alertou os consumidores downstream.
O NCSC do Reino Unido (National Cyber Security Centre) escalou o incidente para um impulso político mais amplo. Em 4 de junho de 2026, o NCSC publicou um post em seu blog instando explicitamente as organizações a revisar suas dependências de código aberto e reduzir a exposição a ataques na cadeia de suprimentos . O momento não foi coincidência — a postagem referenciou diretamente a campanha Miasma como um catalisador
. Em 9 de junho de 2026, o NCSC lançou um manual atualizado de Cadeia de Suprimentos do Cyber Essentials, convocando as empresas do Reino Unido a tornarem a certificação Cyber Essentials um requisito padrão para fornecedores
.
A orientação do NCSC focou em três categorias: visibilidade (auditar atualizações de pacotes, identificar dependências inesperadas e manter uma lista de materiais de software), avaliação (avaliar as práticas de segurança dos fornecedores) e ação (proteger a cadeia de suprimentos como uma prioridade de nível executivo) . O governo do Reino Unido também se engajou formalmente na campanha do TeamPCP, refletindo uma mudança em que a segurança das dependências de código aberto é agora tratada como uma questão de política nacional de cibersegurança, e não mais como higiene individual do desenvolvedor.
O ataque Miasma não é a maior violação da cadeia de suprimentos da história, nem a mais sofisticada. Mas pode ser a mais instrutiva para entender o que vem a seguir.
Primeiro, frameworks de ataque open-source armaram o ecossistema. A decisão do TeamPCP de publicar o Mini Shai-Hulud sob uma licença MIT é uma estratégia deliberada: armar um exército de imitadores, criar caos de atribuição e forçar os defensores a se defenderem contra um número desconhecido de atores independentes usando o mesmo manual . Isso não é teórico — a atividade de imitadores foi documentada cinco dias após o lançamento, e a atribuição do Miasma permanece incerta semanas depois
.
Segundo, o gancho preinstall do npm é uma vulnerabilidade sistêmica. O ataque explora repetidamente um recurso projetado para scripts de construção legítimos, mas que carece de controles suficientes na execução de scripts do ciclo de vida . O surgimento do
binding.gyp como um vetor de execução adicional na variante Phantom Gyp demonstra que os invasores sondam ativamente novos ciclos de vida para sequestrar . Restrições em nível de registro nos ganchos
preinstall e outros scripts de ciclo de vida são agora uma prioridade urgente.
Terceiro, os assistentes de codificação com IA tornaram-se uma superfície de execução. O Miasma está entre os primeiros ataques documentados à cadeia de suprimentos a visar especificamente o Claude Code, Cursor, Copilot e Gemini CLI como mecanismos de entrega de carga maliciosa por meio de arquivos de regras . Quando um desenvolvedor clona um repositório e o abre, o ferramental de IA projetado para ajudá-lo a escrever código melhor pode, em vez disso, executar código malicioso. Esse vetor provavelmente se expandirá à medida que o desenvolvimento assistido por IA se tornar o fluxo de trabalho padrão.
Quarto, os pipelines de CI/CD são agora os alvos de maior valor. A capacidade do worm de extrair tokens OIDC da memória do runner e produzir pacotes com atestados de procedência SLSA válidos significa que a verificação criptográfica padrão — o padrão-ouro para a integridade da cadeia de suprimentos — pode ser derrotada . Se as verificações de procedência são aprovadas, os defensores não têm sinal para sinalizar o comprometimento. Proteger os pipelines de CI/CD da exposição de credenciais não é mais opcional.
Finalmente, a intervenção governamental atingiu a gestão de dependências de código aberto. O manual atualizado do NCSC não é um conselho — é um pedido concreto para que as empresas do Reino Unido incorporem a segurança da cadeia de suprimentos nas aquisições . As organizações que tratam a revisão de dependências como uma auditoria única, em vez de um processo contínuo, estão operando com uma postura de segurança pré-Miasma.