Investigadores descubren 'Ghostcommit', una nueva técnica para ocultar comandos maliciosos en archivos de imagen y engañar a la IA para robar datos sensibles.
Un equipo de investigadores de seguridad ha demostrado la técnica 'Ghostcommit', que permite incrustar comandos maliciosos en archivos de imagen PNG para evadir la detección y engañar a la IA, logrando que extraiga información crucial de un proyecto.
ASSET Research Group, un grupo de investigación en seguridad, ha revelado una nueva técnica de ataque llamada 'Ghostcommit' que puede ocultar comandos maliciosos de tipo Prompt Injection (la inserción de instrucciones para manipular la IA sin autorización) en archivos de imagen PNG aparentemente inofensivos para robar información sensible como API Keys o contraseñas de bases de datos de los repositorios de código de los desarrolladores.
El método de Ghostcommit aprovecha las debilidades de populares herramientas de revisión de código con IA (AI code reviewer) como CodeRabbit y Bugbot, las cuales no están diseñadas habitualmente para abrir o analizar el contenido interno de los archivos de imagen, permitiendo que los comandos ocultos eludan la detección fácilmente. Esta técnica funciona dividiendo el ataque en dos partes: La primera es un archivo de texto de apariencia normal (en este caso, AGENTS.md) que instruye al agente de IA a 'extraer constantes de compilación' de un archivo de imagen especificado (docs/images/build-spec.png). La segunda parte, que es el corazón del ataque, son los comandos maliciosos incrustados como texto en el propio archivo de imagen. Estos comandos instruyen a la IA a leer el contenido del archivo .env (un archivo que los desarrolladores suelen usar para almacenar información sensible) carácter por carácter, convertirlo a código numérico ASCII y luego escribirlo en el código.
En pruebas reales, los investigadores lo demostraron con Cursor, un agente de IA impulsado por el modelo Claude Sonnet. Como resultado, Cursor fue engañado con éxito para seguir los comandos ocultos en la imagen desde la primera vez. Creó una lista de 311 números, que en realidad eran todos los datos sensibles del proyecto, incluyendo API keys, URLs de bases de datos y credenciales de acceso a la nube, codificados y mezclados con una revisión de código aparentemente normal.
Esta vulnerabilidad es posible porque para los sistemas de revisión de código basados en texto, un archivo de imagen es simplemente un Binary Blob (un bloque de datos binarios) que no se puede interpretar. Los investigadores señalan que esta no es una idea completamente nueva. Anteriormente, investigadores de Trail of Bits también demostraron una técnica más sofisticada, utilizando imágenes que, al ser redimensionadas por la IA, se convertían en comandos de Prompt Injection para engañar a herramientas como Gemini CLI. Actualmente, el equipo de ASSET Research Group está desarrollando un sistema de defensa multimodal (que entiende múltiples formatos de datos) para inspeccionar simultáneamente imágenes, texto y el comportamiento de los agentes de IA para cerrar este tipo de brechas en el futuro.
Esta vulnerabilidad resalta una importante debilidad en las herramientas actuales de IA para el desarrollo de software y sirve como advertencia para los desarrolladores tailandeses que utilizan agentes de IA, ya que incluso un archivo de imagen aparentemente inofensivo podría ser un vector para que actores malintencionados roben datos cruciales del proyecto.