Ghostcommit oculta prompt injection em imagens para enganar agentes de IA e roubar segredos
13 de Julho de 2026

Pesquisadores criaram um pull request que rouba segredos de um repositório ao esconder a instrução maliciosa dentro de um PNG que revisores de código com IA nunca abrem.

O revisor aprova a mudança.

Mais tarde, um agente de programação lê a imagem, abre o arquivo .env do repositório e escreve todas as chaves no código-fonte, disfarçadas como uma lista inocente de números.

O ataque vem de Sudipta Chattopadhyay, do ASSET Research Group, professor associado da University of Missouri-Kansas City.

O grupo publicou nesta semana uma prova de conceito no GitHub e afirma ter comunicado os resultados aos fornecedores afetados.

Os pesquisadores enquadram o ataque como uma exploração de uma falha de revisão que já é ampla.

Uma pesquisa com 6.480 pull requests em 300 dos repositórios públicos mais ativos, nos últimos 90 dias, mostrou que 73% dos PRs mesclados chegaram à branch padrão sem revisão humana substancial e sem revisão de bot.

O truque é que a instrução maliciosa não está em texto, algo que um revisor possa perceber.

Está em uma imagem.

Um arquivo AGENTS.md, o tipo de arquivo com convenções de programação que agentes leem automaticamente e tratam como política do projeto, parece apenas uma orientação comum de build e não menciona segredos.

Ele só aponta para uma imagem, docs/images/build-spec.png.

O exploit está no texto renderizado dentro desse PNG: ler o .env byte a byte, codificar cada byte como um inteiro, emitir o resultado como uma constante de módulo e verificar se os números decodificados correspondem ao arquivo real antes do commit.

Para um revisor baseado em texto, uma imagem é um bloco binário.

O CodeRabbit vem com uma configuração padrão que exclui arquivos de imagem da revisão.

O Bugbot não encontrou nada.

Os pesquisadores chegaram a incluir no PNG as palavras "malicious prompt injection" e uma ordem explícita para ler o .env, e ainda assim o conteúdo passou sem alerta.

Um falso "validador de proveniência" com 50 linhas e um post-mortem de incidente fabricado deram convenções de apoio suficientes para derrotar a última defesa dos revisores, uma checagem de coerência que sinaliza convenções sem código por trás.

O roubo acontece depois.

O payload fica dormente até que, em uma sessão sem relação com o ataque, um desenvolvedor peça ao agente de programação algo rotineiro, como um módulo de rastreamento de token.

No início, o agente lê o AGENTS.md mesclado, segue o ponteiro para a imagem, abre o .env e escreve o módulo solicitado com uma constante de "provenance" perto do topo.

Em uma execução de ponta a ponta, o Cursor, operando com Claude Sonnet, fez isso na primeira tentativa.

A constante gerada tinha 311 inteiros que decodificam, byte por byte, o conteúdo completo do .env.

O desenvolvedor vê o recurso que pediu e faz o commit.

Depois, o atacante decodifica os números a partir do commit público.

Os scanners de segredos não detectam nada, porque nenhum deles reconstrói uma tupla de inteiros em Python para verificar o conteúdo em ASCII.

Esconder instruções dentro de imagens para que um sistema de IA aja com base nelas não é novidade.

Em 2025, os pesquisadores Kikimora Morozova e Suha Sabi Hussain, da Trail of Bits, demonstraram uma versão mais engenhosa, com imagens que parecem limpas em alta resolução, mas revelam texto legível de prompt injection quando o pipeline de redução de escala da própria IA reamostra o arquivo.

A técnica enganou ferramentas como o Gemini CLI.

Mais recentemente, um malware para macOS apelidado de Gaslight inseriu mensagens falsas de falha do sistema dentro de seu binário, mirando outro leitor de IA e tentando convencer ferramentas de análise assistida por IA a abortar a própria investigação.

No início deste ano, em pesquisa própria na Manifold Security, foi descoberto um revisor de código com IA enganado por uma identidade Git falsificada, que aprovou um pull request malicioso sem necessidade de imagem.

O caso Ghostcommit não usa esse tipo de disfarce.

As instruções de exfiltração estão em texto claro e legível dentro do PNG.

O que faz isso funcionar não é um sinal escondido, mas uma cegueira estrutural: o revisor simplesmente nunca abre o arquivo.

A descoberta mais importante diz respeito a onde o perigo realmente está.

Em dez execuções para cada cenário, a ferramenta de programação importou mais do que o modelo.

Cursor e a ferramenta de programação Antigravity seguiram a imagem e vazaram o .env com Sonnet, Gemini e GPT-5.5, entre outros.

Já o Claude Code da Anthropic, usando os mesmos pesos do Sonnet, leu a mesma convenção e recusou a ação, com uma recusa explícita narrada pelo sistema, e manteve essa recusa em todos os modelos testados pelos pesquisadores.

No Antigravity, o Opus escreveu o segredo, depois reconheceu o padrão de engenharia social e o apagou antes de concluir.

Mesmo modelo, resultados opostos, decididos pelo ambiente que o envolve.

Isso aponta para defesa em profundidade, e não para uma correção única.

Os pesquisadores criaram uma camada de proteção própria:

"Como a cegueira é estrutural, construímos o revisor que a corrige: um defensor multimodal de pull requests, implantado como um aplicativo do GitHub que roda em uma única placa gráfica de 4 GB", escrevem os pesquisadores.

"Ele combina uma varredura por caracteres invisíveis, uma análise da forma do código enviado, uma passagem de um LLM sobre o texto da convenção e, de forma crucial, uma passagem de um LLM sobre as imagens."

Em um teste ao vivo contra 80 pull requests que ele ainda não conhecia, apenas um ataque conseguiu passar, incluindo todas as variantes baseadas em imagem, e nenhum dos 30 PRs legítimos acionou falso positivo.

Como resumiram os pesquisadores, "ele se parece com um revisor que abre o anexo, e os revisores de hoje não fazem isso."

A outra camada é a de runtime.

Observar o que um agente realmente faz quando lê um arquivo de credenciais ao qual não tinha motivo para acessar, em vez de tentar capturar o payload antes que ele seja enviado.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...