73 repositórios ligados à Microsoft no GitHub ficaram temporariamente indisponíveis depois que uma nova fase da campanha Miasma atingiu projetos open source e ambientes de desenvolvimento. Trata-se de um ataque autorreplicante focado na cadeia de suprimentos de software, com capacidade de se espalhar de um projeto para outro ao reutilizar credenciais e segredos expostos.
De acordo com o monitoramento atribuído à OpenSourceMalware, o episódio alcançou 73 repositórios associados a quatro organizações dentro do GitHub: Azure, Azure-Samples, Microsoft e MicrosoftDocs. Assim que a atividade suspeita foi identificada, o GitHub derrubou o acesso aos repositórios afetados como medida de contenção.
O bloqueio ficou evidente para quem tentou visitar projetos específicos. Ao acessar o repositório “Azure/azure-functions-host”, por exemplo, passou a aparecer um aviso indicando que o conteúdo havia sido restringido pela equipe do GitHub por violação dos termos de serviço – um tipo de mensagem normalmente exibido quando há indícios de abuso, comprometimento ou distribuição de conteúdo malicioso.
Entre os nomes citados como impactados estavam iniciativas e ferramentas como azure-search-openai-demo-purviewdatasecurity, Connectors-NET-LSP, Connectors-NET-SDK, durabletask, durabletask-dotnet, durabletask-go, durabletask-js, durabletask-mssql, functions-container-action, homebrew-functions, llm-fine-tuning e windows-driver-docs. A variedade dos projetos listados mostra que o foco não se limita a um único produto: a campanha encosta em diferentes áreas do ecossistema, do desenvolvimento em nuvem a componentes de documentação e automação.
Um ponto sensível do caso é a volta do pacote “durabletask” ao centro da discussão, agora com uma nova exposição no PyPI. Esse pacote já havia sido comprometido no mês anterior por um grupo identificado como TeamPCP, em uma operação voltada a entregar malware de roubo de informações em sistemas Linux. Para o pesquisador Paul McCarty (6mile), ver novamente o mesmo elo associado ao incidente anterior no núcleo desta nova onda de bloqueios é um sinal de continuidade preocupante – como se a contenção inicial não tivesse sido suficiente.
Segundo McCarty, não foi apenas o repositório Azure/durabletask que ficou inacessível: diversos projetos do ecossistema Durable Task também foram afetados. A lista inclui implementações em .NET, Go, Java e JavaScript, além de variações para MSSQL, Netherite e protobuf, sem esquecer o monitor do Durable Functions. Na avaliação do pesquisador, quando o mesmo repositório ligado ao evento anterior reaparece como “ponto de convergência” de uma nova derrubada, cresce a suspeita de persistência do comprometimento ou de reaproveitamento de acessos já obtidos.
A campanha Miasma vem sendo descrita como uma variante do worm Mini Shai-Hulud, que teria sido divulgado publicamente pelo TeamPCP em meados de maio de 2026. Desde então, o malware teria evoluído, ajustando técnicas e ampliando o alcance ao comprometer novos pacotes e projetos nos dias seguintes. O comportamento observado reforça o caráter “vivo” da operação: trata-se menos de um ataque pontual e mais de uma campanha que aprende, se replica e procura novas rotas para sobreviver.
Parte do modus operandi envolve a criação de repositórios públicos destinados a armazenar segredos roubados. Para dar “identidade” ao material, os invasores utilizam descrições recorrentes como “Miasma: The Spreading Blight”, “Miasma : The Spreading Blight”, “Miasma – The Spreading Blight” e “Hades – The End for the Damned”. No recorte analisado, havia 13 repositórios com a descrição “Hades – The End for the Damned” e outros 82 usando os três padrões associados ao nome Miasma. A repetição do padrão não é estética: ela sugere automação e reforça a lógica autorreplicante, na qual credenciais, chaves e tokens recuperados viram combustível para invadir mais projetos.
Outro aspecto que chama atenção é a expansão para fora do fluxo “clássico” de envenenamento de pacotes em registries como npm. Em vez de publicar um pacote malicioso e esperar instalações, os atacantes teriam inserido código diretamente no repositório “icflorescu/mantine-datatable” e em quatro projetos relacionados: “mantine-contextmenu”, “next-server-actions-parallel”, “mantine-datatable-v6” e “mantine-contextmenu-v6”. Ou seja, o ataque passa a mirar o próprio repositório como vetor principal.
A SafeDep descreveu que o commit malicioso não dependia de adicionar bibliotecas novas (o que facilitaria a detecção em uma revisão superficial). No lugar disso, o código implantava um executor de payload de 4,3 MB e preparava a execução automática usando ferramentas comuns no dia a dia de desenvolvimento: Claude Code, Gemini CLI, Cursor, VS Code e o próprio script de teste do npm. Na prática, o gatilho ocorre quando alguém clona o projeto e o abre em um agente de codificação com IA, transformando um gesto corriqueiro – “abrir o repositório” – em momento de risco.
Ainda segundo a SafeDep, o dropper empregado nessa fase corresponderia ao mesmo loader Bun em múltiplos estágios, agora ajustado para persistir diretamente em repositórios de código no GitHub, e não apenas via registries. A mudança é estratégica: ao explorar o fluxo de trabalho de IDEs, agentes de IA e automações locais, o atacante aumenta a chance de execução sem depender de instalação de pacote por terceiros.
O episódio expõe um problema estrutural do modelo de confiança do open source e da cadeia moderna de entrega de software. Em vez de explorar uma falha específica do GitHub ou do npm, a campanha se apoia em credenciais válidas, contas de mantenedores e rotinas legítimas de commit e publicação. Para as plataformas, parte das ações pode parecer “normal”, porque vem de usuários autenticados e segue trilhas de auditoria aparentemente regulares – o que complica alertas, bloqueios preventivos e detecção precoce.
A análise atribuída à FalconFeeds.io reforça esse ponto: a força do worm estaria justamente em operar por canais considerados legítimos. O alvo, portanto, não seria um bug técnico de um serviço, mas a confiança embutida no ecossistema – confiança em contas, tokens, chaves, automações e integrações que, quando expostas, viram passaporte para se mover entre projetos.
Para quem desenvolve, o caso também serve como alerta sobre um novo tipo de “superfície de ataque”: o ambiente local. Quando ferramentas de IA e IDEs ganham permissões amplas – leitura do workspace, execução de tarefas, acesso a terminais e integração com serviços -, um repositório comprometido pode se transformar em ponto de entrada para roubo de credenciais, sequestro de sessões e coleta de segredos. A ameaça deixa de ser apenas “instalei uma dependência ruim” e passa a incluir “abri um projeto contaminado”.
Em termos práticos, incidentes desse tipo costumam provocar uma reação em cadeia: repositórios são bloqueados preventivamente, pipelines são pausados, chaves são revogadas e equipes precisam revalidar commits recentes. Também aumenta a pressão para endurecer políticas internas, como exigir autenticação forte, reduzir privilégios de tokens e revisar o que automações podem executar ao abrir ou testar um projeto.
Há medidas que ajudam a reduzir o risco sem travar o desenvolvimento. Entre elas: limitar o escopo e a validade de tokens usados em CI/CD, rotacionar segredos com frequência, ativar autenticação multifator em contas de mantenedores, e adotar revisões obrigatórias para commits sensíveis – especialmente em projetos que publicam pacotes ou que são base para outros componentes. Outra camada importante é tratar scripts de pós-instalação, tarefas automáticas e configurações de IDE como potenciais vetores, auditando-os com a mesma atenção dada ao código principal.
Também vale reforçar a disciplina de higiene operacional: não armazenar chaves em texto claro, evitar reutilização de credenciais entre projetos e restringir permissões de ferramentas locais (inclusive agentes de IA) ao mínimo necessário. Em um cenário onde um commit pode preparar execução automática via ferramentas comuns, cada permissão extra vira oportunidade.
No fim, a derrubada de 73 repositórios ligados à Microsoft não é apenas um número chamativo: é um retrato de como campanhas autorreplicantes estão se adaptando ao jeito moderno de programar. Ao combinar repositórios, segredos expostos e ferramentas de automação – incluindo agentes de codificação com IA -, a Miasma mostra que a cadeia de suprimentos hoje não termina no registry: ela inclui o Git, o editor, o terminal e tudo o que roda “por conveniência” quando alguém apenas tenta trabalhar.
