Um repositório que executa código ao ser aberto

A Manifold Security revelou uma classe de vulnerabilidades a que chama GitSpawn: o arquivo de configuração de um repositório executa um comando na máquina do desenvolvedor assim que um agente de programação com IA é apontado para ele. A empresa documentou oito achados em sete agentes: Claude Code, o Codex CLI da OpenAI, Cursor, Goose, Grok Build, Hermes Agent e Qwen Code. Quatro continuavam sem correção quando a Manifold repetiu o teste em 1º de setembro.

O modelo não participa em momento algum. Agentes de linha de comando executam comandos git comuns ao iniciar — git status, git diff — para descobrir em que ramo estão e o que mudou. O git tem um ajuste de desempenho chamado core.fsmonitor que indica um programa auxiliar executado sempre que o índice é atualizado, e esse ajuste fica no próprio .git/config do repositório. Um repositório entregue com o diretório .git intacto carrega, portanto, uma instrução que o agente dispara sozinho.

“A vulnerabilidade não está no modelo, nem em nada novo”, escreveu a Manifold. “Está no encanamento comum por baixo, no subprocesso que um agente inicia no começo da sessão para descobrir onde está.”

Dispara antes do aviso de confiança

O comando roda como o usuário conectado, fora do ambiente isolado que o agente normalmente usa e sem nenhuma caixa de aprovação. A Manifold relata que a execução ocorre antes da aprovação de confiança do espaço de trabalho no Claude Code e no Hermes Agent, antes de o usuário se autenticar no Qwen Code e já na primeira tecla digitada no Grok Build. Tudo o que o desenvolvedor alcança — chaves SSH, credenciais de nuvem — está ao alcance do comando também.

Uma desenvolvedora à mesa com código aberto em dois monitores
A Manifold afirma que o código roda como o usuário conectado, fora do ambiente isolado do agente. Rafael Minguet Delgado · pexels · Pexels License

O que limita o ataque é a entrega. Um git clone comum não importa a configuração de um estranho, então o repositório precisa chegar como arquivos com o .git já dentro: um zip, um drive compartilhado, uma pasta de sincronização, um pendrive.

O que está corrigido e o que não está

A Anthropic corrigiu o caminho do core.fsmonitor no Claude Code 2.1.196, três dias depois do relato da Manifold em 26 de junho. O Goose foi corrigido na 1.44.0 e o Codex CLI da OpenAI na 0.131.0, depois de as versões 0.102.0 a 0.130.0 terem sido afetadas. O Cursor está corrigido. Quatro identificadores CVE foram emitidos até agora: CVE-2026-19592 para o Codex, CVE-2026-72718 para o Goose, CVE-2026-55607 para um caminho de worktree do Claude Code e CVE-2026-71963 para o Hermes Agent.

Ainda em aberto no reteste de 1º de setembro, segundo a Manifold: um segundo caminho do Claude Code que a empresa relatou, o Hermes Agent, o Qwen Code e o Grok Build. A empresa afirma que quatro dos seus relatos foram fechados como duplicatas de submissões de outros pesquisadores e que o Hermes Agent nunca foi triado após seis tentativas de contato por vários canais.

Programadores trabalhando em mesas em um escritório aberto
Quatro dos oito achados continuavam sem correção quando os pesquisadores repetiram o teste em 1º de setembro. cottonbro studio · pexels · Pexels License

O que fazer agora

A recomendação da Manifold aos desenvolvedores é inspecionar o .git/config em busca de core.fsmonitor, core.hooksPath e ajustes de filtro antes de abrir qualquer diretório que tenha chegado como arquivos e não como clone, ou desligar o ajuste globalmente com git config --global core.fsmonitor false. Aos fornecedores, recomenda remover a configuração do repositório das chamadas git em segundo plano, por exemplo passando -c core.fsmonitor=false.

Não há relato de exploração real. A pergunta mais difícil é a que a pesquisa sugere: os agentes seguem acrescentando tarefas de inicialização que leem arquivos não confiáveis, e cada acréscimo é mais um lugar onde o mesmo truque funciona.