GitSpawn: o .git/config de um repositório recebido executa código fora do sandbox dos agentes de programação
- O que aconteceu
- GitSpawn, disclosed by Manifold Security on 1 September, uses core.fsmonitor and a withheld Git key in a received repo's .git/config to make coding agents run attacker commands outside the sandbox with no prompt.
- Porque é importante
- Claude Code's ultrareview path, Hermes Agent, Qwen Code and Grok Build were unpatched at Manifold's 1 September retest; newer releases have shipped since, and no source confirms whether they close these paths.
- O que fazer
- Clone repositories instead of opening received copies, set core.fsmonitor to false globally, and update Codex, goose and Claude Code.
Nunca aponte um agente de programação para um repositório que chegou como arquivos: um arquivo compactado, um drive compartilhado, uma pasta sincronizada, um pendrive. Clone-o a partir do remoto. Segundo o The Hacker News, a exploração "exige que o repositório chegue como arquivos com o diretório .git intacto", e "um clone comum não" o preserva. Esse único hábito fecha todos os caminhos abaixo, inclusive os quatro que não tinham correção no reteste da Manifold em 1º de setembro: o caminho claude ultrareview do Claude Code, o Hermes Agent, o Qwen Code e o Grok Build.
Afetados: Claude Code, OpenAI Codex, Cursor e Grok Build CLI, além de goose, Hermes Agent e Qwen Code, que não estão no nosso diretório.
O que aconteceu
A Manifold Security publicou o GitSpawn em 1º de setembro de 2026, e o The Hacker News noticiou o caso em 2 de setembro.
A configuração core.fsmonitor do Git indica um comando que o Git executa para encontrar arquivos alterados, e o Git a lê do próprio .git/config do repositório. Nas palavras do The Hacker News, "qualquer operação que atualize o índice, incluindo git status e git diff, executa esse comando." Os agentes de programação rodam esses comandos em segundo plano para entender o espaço de trabalho.
O registro de CVE da OpenAI para o Codex, CVE-2026-19592, descreve o resultado: "O helper roda fora do sandbox de comandos do Codex e sem um pedido de aprovação do usuário, permitindo que código controlado pelo atacante rode com os privilégios do usuário."
Status, datado pela fonte que o sustenta
| Agente | Status | Versão | Data de referência |
|---|---|---|---|
| goose | Corrigido | 1.44.0 | The Hacker News, 2 set |
| Codex CLI | Corrigido | 0.131.0 (versão atual 0.152.1) | The Hacker News, 2 set |
| Codex Desktop, macOS | Corrigido | 26.519.22136 | The Hacker News, 2 set |
| Codex Desktop, Windows | Corrigido | 26.519.21041 (Microsoft Store 26.519.2081.0) | The Hacker News, 2 set |
| Cursor | Corrigido | versão não informada | Manifold, 1 set |
Claude Code, caminho core.fsmonitor | Corrigido | na 2.1.196 ou antes | Manifold, 1 set |
Claude Code, caminho claude ultrareview | Aberto | confirmado na 2.1.252; a versão atual era a 2.1.258 | Reteste da Manifold, 1 set |
| Hermes Agent | Aberto | confirmado na 0.21.0 | Reteste da Manifold, 1 set |
| Qwen Code | Aberto | confirmado na 0.22.3, ainda a versão mais recente em 2 set | Reteste da Manifold, 1 set |
| Grok Build | Aberto | confirmado na 1.0.13 | Reteste da Manifold, 1 set |
Relemos as duas fontes em 23 de setembro: o post da Manifold traz uma única atualização, datada de 1º de setembro, e o artigo do The Hacker News não tem nenhuma atualização posterior a 2 de setembro. Versões mais novas saíram desde então (Claude Code 2.1.280 e Qwen Code 0.24.4 eram as mais recentes em 23 de setembro), e não confirmamos se elas fecham esses caminhos. Considere os quatro status confirmados apenas até 1º de setembro.
Sobre os alertas de segurança: o alerta do goose no GitHub traz o CVE-2026-72718, com pontuação base CVSS 4.0 de 7,0, "a única pontuação atribuída a qualquer uma dessas descobertas". O Hermes Agent tem o CVE-2026-71963, atribuído pela VulnCheck, "uma CVE Numbering Authority independente, não o fornecedor", e a Manifold diz que o seu alerta GHSA privado "nunca passou por triagem". O The Hacker News constatou que o registro de alertas publicado pela Anthropic "não cobre nenhuma das descobertas do Claude Code." Nenhuma fonte relata exploração: o catálogo Known Exploited Vulnerabilities da CISA (versão 2026.09.01) não lista nenhum desses CVEs.
Por que isso importa
O momento em que o ataque dispara elimina a rede de proteção de sempre. No Claude Code e no Hermes Agent, o payload é executado antes que o aviso de confiança do espaço de trabalho seja aceito; no Qwen Code, antes que o usuário se autentique; e no Grok Build, na primeira tecla digitada.
O segundo caminho do Claude Code "ativa uma chave de configuração do Git diferente, que a Manifold não divulgou", e o claude ultrareview "executa o comando do repositório na inicialização, antes de começar a revisão que foi pedida." Como ele usa uma chave diferente, nada na documentação indica que desativar o core.fsmonitor o feche.
É também uma regressão no Claude Code. A versão 2.0.34 (5 de novembro de 2025) mitigou a mesma classe de bug ao deixar de rodar git status antes da aprovação de confiança, mas a Manifold relata que esse comportamento na inicialização voltou na 2.1.193, lançada em 25 de junho de 2026.
O que muda para você
- Clone a partir do remoto em vez de abrir uma cópia recebida com o diretório
.gitintacto. - Inspecione o
.git/configde qualquer diretório recebido em busca decore.fsmonitor,core.hooksPathe filtros de atributos, e rodegit config --get core.fsmonitordentro dele. - Defina
git config --global core.fsmonitor false. - Atualize Codex, goose e Claude Code para, no mínimo, as versões corrigidas acima.
- Não rode
claude ultrareviewem um diretório que você mesmo não clonou. - Considere Hermes Agent, Qwen Code e Grok Build vulneráveis até que os mantenedores confirmem uma correção; nenhum deles tinha correção no reteste da Manifold em 1º de setembro.
Onde ficam nossas classificações
O Claude Code continua condicional, o OpenAI Codex recomendado, o Cursor condicional e o Grok Build CLI em cautela. Nenhum muda só por causa desta descoberta. A diferença está na resposta: Codex e goose lançaram correções com CVEs, o CVE do Hermes Agent veio de terceiros e, em 2 de setembro, o registro de alertas publicado pela Anthropic não cobria nenhum dos dois caminhos do Claude Code.
FAQ
Definir core.fsmonitor como false me protege em todos os casos?
Não. Isso cobre os caminhos via core.fsmonitor, mas o caminho claude ultrareview do Claude Code usa uma chave diferente, que a Manifold não divulgou.
Um git clone normal é seguro?
Segundo o The Hacker News, um clone comum não preserva o .git/config do atacante, então o ataque precisa de um repositório que tenha chegado como arquivos.
Isso está sendo explorado? Nenhuma fonte relata exploração, e nenhum dos CVEs constava do catálogo Known Exploited Vulnerabilities da CISA na versão 2026.09.01.
O que fazer
- 1 Clone repositories from their remote instead of opening a copy that arrived as an archive, shared drive, sync folder or USB stick.
- 2 Before opening any received directory with an agent, inspect .git/config for core.fsmonitor, core.hooksPath and attribute filters, and run git config --get core.fsmonitor inside it.
- 3 Audit your global Git config, then set git config --global core.fsmonitor false.
- 4 Update to Codex CLI 0.131.0, Codex Desktop 26.519.22136 (macOS) or 26.519.21041 (Windows), goose 1.44.0 and Claude Code 2.1.196 or later.
- 5 Do not run claude ultrareview in a directory you did not clone yourself; that path uses a withheld Git key that disabling fsmonitor does not cover.
- 6 Treat Hermes Agent, Qwen Code and Grok Build as unpatched until their maintainers confirm a fix; none had one at Manifold's 1 September retest.
Ferramentas e modelos afetados
Nunca mais precisas de te pôr a par
O resumo semanal — apenas mudanças de veredicto e ações urgentes. Sem enchimento.