A Manifold Security revelou oito falhas de segurança em sete agentes de codificação por IA executados pela linha de comando. Em todos os casos, a própria configuração Git de um repositório nomeia um comando que o agente executa na máquina do desenvolvedor. Quatro dessas falhas ainda estavam sem correção no momento da publicação.
O comando é executado como o usuário, fora do sandbox do agente e sem solicitação de aprovação. Para explorar o problema, o repositório precisa chegar como arquivos, com o diretório .git intacto. Isso pode ocorrer por meio de um arquivo compartilhado, uma unidade compartilhada, uma pasta sincronizada ou um pendrive, enquanto um clone comum não preserva essa condição.
Correções já foram liberadas para goose, Claude Code e Cursor. Já Hermes Agent, Qwen Code, Grok Build e um segundo caminho no Claude Code ainda executavam comandos fornecidos pelo repositório quando a Manifold fez nova verificação em 1º de setembro.
No mesmo dia, a OpenAI publicou três CVEs próprios cobrindo a mesma classe de problema no Codex, atribuídos a três grupos de pesquisa diferentes.
“O auxiliar é executado fora do sandbox de comando do Codex e sem um prompt de aprovação do usuário, permitindo que código controlado pelo invasor seja executado com os privilégios do usuário. O código pode ler, alterar ou apagar os arquivos do usuário e acessar outros recursos disponíveis na conta do usuário”, disse a OpenAI no registro do
CVE-2026-19592
.
No Claude Code e no Hermes Agent, o payload é acionado antes de o prompt de confiança do workspace ser aceito. No Qwen Code, isso ocorre antes da autenticação do usuário. No Grok Build, a execução acontece no primeiro toque de tecla.
O core.fsmonitor é uma configuração de desempenho do Git cujo valor aponta para um comando que o Git executa para identificar arquivos alterados. O Git lê essa configuração a partir do próprio arquivo .git/config do repositório. Qualquer operação que atualize o índice, incluindo git status e git diff, executa esse comando.
Os agentes chamam esses comandos em segundo plano para determinar em qual branch estão e quais arquivos mudaram, sem alterar a configuração do repositório.
A Manifold, que publicou os achados sob o nome GitSpawn, detalhou cinco dos oito casos e afirmou ter encontrado o padrão em mais agentes do que os citados nominalmente.
“A vulnerabilidade não está no modelo, nem em algo novo. Está na infraestrutura comum por baixo, no subprocesso que um agente cria no início da sessão para descobrir onde está”, afirmou a Manifold.
Os seguintes agentes e versões foram afetados:
goose, todas as versões anteriores a 1.44.0, corrigido em 1.44.0
Codex CLI, da 0.102.0 até a 0.130.0, corrigido em 0.131.0
Codex Desktop para macOS, da 260202.0859 até a 26.513.31313, corrigido em 26.519.22136
Codex Desktop para Windows, da 26.304.38 até a 26.513.40821, corrigido em 26.519.21041, e pacote da Microsoft Store da 26.304.38.0 até a 26.513.4821.0, corrigido em 26.519.2081.0
Claude Code, confirmado pela Manifold na 2.1.193 e corrigido pela 2.1.196 no caminho core.fsmonitor, com o caminho claude ultrareview confirmado ativo na 2.1.252
Hermes Agent, 0.18.2 e 0.21.0 confirmadas pela Manifold, correção pendente
Qwen Code, 0.19.6 e 0.22.3 confirmadas pela Manifold, correção pendente
Grok Build, 0.2.93 e 1.0.13 confirmadas pela Manifold, correção pendente
No goose, o comando goose review monta suas invocações do Git com uma única flag de configuração, -c core.quotePath=off, e não remove mais nada.
O GitHub atribuiu ao
CVE-2026-72718
a pontuação base 7,0 no CVSS 4.0 em um comunicado que creditou Francisco Rosales. Foi a única pontuação atribuída a qualquer um desses achados.
“Portanto, executar goose review dentro de um repositório malicioso executa código do invasor, sem prompt enviado, sem chamada ao modelo, sem aprovação de ferramenta e sem prompt de confiança. O comando é executado antes de o goose sequer contatar o modelo”, disse o comunicado.
A Sonar relatou o mesmo ponto de falha em abril, observou que a Anthropic já havia alterado o fluxo de inicialização uma vez para fechá-lo e identificou o mesmo desvio do diálogo de confiança no Visual Studio Code antes da 1.63.1, no
CVE-2021-43891
, e nos IDEs da JetBrains antes da 2021.3.1, no
CVE-2022-24346
.
“Na versão 2.0.34, o Claude foi atualizado de forma a mitigar a vulnerabilidade específica, ao deixar de executar git status antes de o usuário aprovar o diálogo de confiança. No entanto, um problema relacionado permaneceu”, disse a Sonar.
A versão 2.0.34 foi lançada em 5 de novembro de 2025, e a Manifold informa que o mesmo comportamento de inicialização voltou a aparecer na 2.1.193, lançada em 25 de junho de 2026.
A Anthropic já havia divulgado falhas de execução antes da confiança no Claude Code, e seu comunicado de junho sobre o
CVE-2026-55607
identifica a execução de git fsmonitor durante operações no worktree.
O que ainda não foi corrigido
Cinco dos relatos da Manifold foram tratados como duplicatas de descobertas enviadas independentemente por outros pesquisadores, uma delas no mesmo dia.
Os pesquisadores relataram o achado do core.fsmonitor no Claude Code em 26 de junho e informaram que ele foi corrigido na 2.1.196 em 29 de junho. A Manifold disse que o relatório foi encerrado como duplicado de outro enviado mais cedo naquele mesmo dia.
A Anthropic não publicou comunicado sobre o caso, e a mídia confirmou em 2 de setembro que o registro público de seu aviso para o pacote npm não cobre nenhum dos dois achados do Claude Code.
O segundo caminho do Claude Code, acessado via claude ultrareview, ativa uma chave diferente de configuração do Git que a Manifold não revelou. Ao mesmo tempo, a falha continua ativa, e a Manifold confirmou o problema na 2.1.252 em 1º de setembro, em comparação com a versão atual 2.1.258. Nenhuma fonte informa se as versões posteriores o corrigiram.
O centro de resposta de segurança da Alibaba aceitou o relatório do Qwen Code em 7 de julho.Pesquisadores confirmaram, por meio do registro npm, em 2 de setembro, que a 0.22.3, versão reavaliada pela Manifold, é o lançamento público mais recente.
O Hermes Agent, da Nous Research, que um operador executou sem supervisão em uma intrusão contra uma rede do governo tailandês em julho, recebeu seis tentativas de contato por cinco canais e deixou o parecer privado sem triagem, disse a Manifold.
A VulnCheck atribuiu o CVE-2026-71963, segundo a Manifold. Não foram encontrados registro publicado desse identificador na lista CVE da MITRE em 2 de setembro, embora os identificadores imediatamente anterior e posterior já constem como registros publicados pela VulnCheck.
A xAI havia encerrado um relato anterior da mesma classe como informativo em 1º de julho. Em 14 de julho, ela fechou o relatório da Manifold como duplicado daquele anterior.
Uma pesquisa separada sobre a mesma versão 0.2.93 encontrou o Grok Build enviando repositórios Git inteiros para o armazenamento da xAI, algo que a empresa tratou no X em vez de publicar um comunicado.
A Manifold documentou a mesma classe de falha no Cursor CLI três semanas antes, quando um comando de configuração vindo do repositório era executado antes do prompt de confiança do workspace e fora do sandbox.
Nenhuma fonte relata exploração dessas falhas. O The Hacker News verificou o catálogo Known Exploited Vulnerabilities da Cybersecurity and Infrastructure Security Agency dos Estados Unidos em 2 de setembro, na versão 2026.09.01, com 1.687 entradas, e não encontrou nenhuma das CVEs listadas.
“A exploração abusiva do FSMonitor usa um recurso legítimo, não um bug. Ela aproveita a interseção entre a flexibilidade do Git e a automação dos IDEs modernos para transformar a abertura de um repositório em execução de código”, disse a Cobalt em um relatório de red team, em dezembro.
Os usuários são orientados a fazer as seguintes verificações:
Inspecione o arquivo .git/config antes de abrir um diretório recebido com um agente, procurando por core.fsmonitor, core.hooksPath e attr.tree, além de um filtro clean ou process.
Execute git config --get core.fsmonitor em qualquer repositório que tenha chegado como arquivos.
Execute git config --global --list | grep fsmonitor para auditar a configuração global.
Defina git config --global core.fsmonitor false para desativar a configuração por padrão.
Fornecedores que distribuem agentes devem remover a configuração nas chamadas em segundo plano, por exemplo com git -c core.fsmonitor=false status.
A versão atual do Codex CLI é 0.152.1 em 2 de setembro, portanto instalações fixadas abaixo de 0.131.0 continuam expostas.
Publicidade
Vibecoding cria 10x mais sistemas, 20x mais vulneráveis. E quem ganha com isso é a galera do hacking ético e pentest. Quer ser pago para invadir sistemas? Então você tem que aprender com a Solyd que são os melhores do Brasil. Saiba mais...