Ghostcommit es una demostración de viabilidad que muestra cómo los asistentes de IA utilizados para revisar código de software pueden ser engañados mediante instrucciones ocultas incrustadas en imágenes.
El grupo de investigación académico ASSET mostró que un atacante puede insertar instrucciones en un archivo de imagen y hacer referencia a él en un AGENTS.md archivo, y hacer que un agente de programación basado en IA siga esas instrucciones durante una tarea posterior.
Una solicitud de incorporación de cambios (pull request) es, básicamente, una petición formal del tipo «por favor, revisa e incorpora mis cambios» que envía un desarrollador antes de que dichos cambios se incorporen a la versión principal de un proyecto de software. Los revisores humanos y, cada vez más, las herramientas de programación basadas en IA pueden revisar los cambios antes de que sean aceptados.
Aunque la revisión de código asistida por IA se está convirtiendo en parte del día a día del desarrollo, Ghostcommit pone de manifiesto una vulnerabilidad que muchos equipos no han tenido en cuenta. Un revisor humano puede leer el código y pasar por alto una imagen adjunta. En la prueba de concepto de los investigadores, las instrucciones maliciosas estaban ocultas dentro de un archivo PNG al que hacían referencia los archivos de políticas del repositorio, mientras que la solicitud de incorporación de cambios visible parecía normal.
Tal y como han demostrado los investigadores, esto puede convertir los flujos de trabajo habituales de los desarrolladores en un canal para el robo de información confidencial. Un agente de programación basado en IA lee esas instrucciones ocultas, aunque es poco probable que un revisor humano examine la imagen.
El ataque es sencillo en teoría, pero peligroso en la práctica. Una solicitud de incorporación de cambios introduce una imagen de aspecto inofensivo y un archivo de configuración que indica al agente que confíe en ella. Cuando el agente realiza posteriormente una tarea normal, sigue las instrucciones ocultas, lee archivos confidenciales y vuelve a escribir los secretos en el código de forma ofuscada. Esto crea una vía para el robo de secretos que puede pasar desapercibida tanto para los revisores humanos como para los escáneres automatizados.
Los investigadores descubrieron que el «harness» —la envoltura que rodea al modelo de IA— tenía un mayor impacto en la filtración de información confidencial que el propio modelo subyacente. En la práctica, el «harness» (Cursor, Antigravity, Claude Code) decide qué archivos cargar, en qué convenciones confiar, qué medidas de seguridad aplicar y si seguir las instrucciones ocultas en una imagen. Como resultado, un mismo modelo puede comportarse de forma muy diferente dependiendo de la herramienta de programación que lo utilice. A continuación, el modelo lleva a cabo cualquier tarea que le plantee la herramienta.
Por ejemplo, el mismo modelo (Claude Sonnet) se comportó de forma muy diferente en distintas herramientas. Con Cursor y Antigravity, Sonnet leyó el archivo PNG, siguió la convención y registró diligentemente los secretos en el código fuente. Sin embargo, con el sistema Claude Code de Anthropic, el mismo modelo Sonnet leyó la misma convención y se negó a hacerlo, afirmando explícitamente que la filtración de secretos era inapropiada. Claude Code se negó en todos los modelos que probaron los investigadores.
Cómo mantenerse seguro
La conclusión es que la inyección de comandos ya no es solo un problema relacionado con el texto. Las entradas multimodales, como las imágenes, también pueden contener instrucciones que los agentes de IA podrían seguir si la cadena de herramientas lo permite. Teams partir de la base de que cualquier cosa que un agente de programación pueda leer —incluidas imágenes, documentos y otras entradas multimodales— podría contener contenido controlado por un atacante.
Las organizaciones que utilicen herramientas de programación basadas en IA deben considerar esto como un problema tanto de seguridad de la cadena de suministro de software como de seguridad de los agentes de IA. Las medidas de defensa más importantes consisten en restringir el acceso a la información confidencial, inspeccionar los archivos adjuntos que no sean de texto y supervisar a los agentes de IA para detectar intentos inusuales de leer credenciales o archivos de configuración.
La investigación también pone de relieve que, en última instancia, son la herramienta de programación y sus permisos lo que hace posible este ataque, y no el modelo de IA por sí solo.
No nos limitamos a informar de las amenazas: las eliminamos
Los riesgos de ciberseguridad nunca deben propagarse más allá de un titular. Mantenga las amenazas alejadas de sus dispositivos descargando Malwarebytes hoy mismo.




