Pesquisadores descobrem 'Ghostcommit', nova técnica para esconder comandos maliciosos em arquivos de imagem e enganar IA para roubar dados confidenciais
Equipe de pesquisadores de segurança demonstra a técnica 'Ghostcommit', que permite incorporar comandos perigosos em arquivos de imagem PNG para evadir a detecção e enganar a IA, levando-a a extrair dados críticos de um projeto.
O ASSET Research Group, um grupo de pesquisadores de segurança, revelou uma nova técnica de ataque chamada 'Ghostcommit', capaz de ocultar comandos maliciosos do tipo Prompt Injection (injeção de instruções para manipular uma IA sem permissão) em arquivos de imagem aparentemente inofensivos, como PNGs, para roubar informações confidenciais, como API Keys ou senhas de banco de dados, de repositórios de código de desenvolvedores.
O método do Ghostcommit explora uma vulnerabilidade em ferramentas populares de revisão de código por IA (AI code reviewer), como CodeRabbit e Bugbot, que normalmente não são projetadas para abrir ou analisar o conteúdo interno de arquivos de imagem, permitindo que os comandos ocultos passem despercebidos. A técnica funciona dividindo o ataque em duas partes: a primeira é um arquivo de texto aparentemente normal (neste caso, AGENTS.md), que instrui o agente de IA a 'extrair constantes de build' de um arquivo de imagem especificado (docs/images/build-spec.png). A segunda parte, que é o cerne do ataque, são os comandos maliciosos incorporados como texto no próprio arquivo de imagem. Esses comandos instruem a IA a ler o conteúdo do arquivo .env (onde desenvolvedores costumam armazenar dados confidenciais) caractere por caractere, convertê-lo em códigos numéricos ASCII e, em seguida, escrevê-lo no código.
Em um teste real, os pesquisadores demonstraram com Cursor, um agente de IA alimentado pelo modelo Claude Sonnet. O Cursor foi enganado com sucesso para seguir os comandos ocultos na imagem na primeira tentativa. Ele gerou uma lista de 311 números, que eram, na verdade, todas as informações confidenciais do projeto – incluindo API keys, URLs de banco de dados e credenciais de acesso à nuvem – que foram criptografadas e misturadas na revisão de código que parecia normal.
Essa vulnerabilidade é possível porque, para sistemas de revisão de código focados em texto, os arquivos de imagem são apenas Binary Blobs (blocos de dados binários) que não podem ser lidos ou interpretados. Os pesquisadores apontam que essa não é uma ideia totalmente nova; anteriormente, pesquisadores da Trail of Bits demonstraram uma técnica mais sofisticada usando imagens que, quando redimensionadas por uma IA, se tornavam comandos de Prompt Injection para enganar ferramentas como o Gemini CLI. Atualmente, a equipe do ASSET Research Group está desenvolvendo um sistema de defesa Multimodal (que compreende vários formatos de dados) para verificar simultaneamente imagens, texto e o comportamento do agente de IA para fechar essa lacuna no futuro.
Essa vulnerabilidade destaca um ponto cego crucial nas ferramentas atuais de desenvolvimento de software assistidas por IA e serve como um alerta para desenvolvedores que usam agentes de IA, pois até mesmo arquivos de imagem aparentemente inofensivos podem ser uma porta de entrada para que malfeitores roubem dados importantes do projeto.