lunes, septiembre 29, 2025

AgentFlayer exploit para ChatGPT: Prompt Injection para exfiltrar datos de tus almacenes conectados

Esta vulnerabilidad de AgentFlayer en ChatGPT tiene ya un par de meses, y está, por supuesto, corregida, pero es un ejemplo curioso que no me gustaría dejar sin publicar. El ataque se basa en plantar un ataque de Prompt Injection que cambia el alineamiento de un modelo mediante la inclusión de promts ocultos en documentos que la víctima va a procesar.
Supongamos que alguien envía a la víctima un documento de 70 páginas en PDF con toda una lista de normas, y ésta, en lugar de leerlo manualmente hace algo muy común hoy en día, que es pedir a ChatGPT que lo resuma.
Hacer esto, enviar un documento grande a una persona, y ponerle un deadline muy corto para que haga algo sobre lo que viene en él, es una incitación directa para que pida a un modelo que lo resuma. Ese es un buen truco para recordar. Así que ya tendríamos la forma de conseguir que el Prompt se ejecutara en el esquema de la víctima.
Como los modelos no tienen protecciones robustas contra el desalineamiento como las propuestas por SecAlign, un atacante puede conseguir que una acción tan sencilla como resumir un documento acaba en enviar mensajes de correo, renderizar imágenes, o buscar un determinado documento en un repositorio. Y de eso se aprovechó AgentFlayer en ChatGPT.
En este caso, AgentFlayer se aprovecha de los Conectores de ChatGPT que permiten que un usuario conecte ChatGPT con sus almacenes de datos, sean estos Google Drive, SharePoint Portal Server o cualquier otro, con lo que le va a pedir con el Prompt Injection oculto en el documento que busque archivos con, en este ejemplo, API Keys. Podría ser cualquier otro.
El objetivo es que cuando ChatGPT resuma el documento envenenado con el Prompt Injection, se desalinee y se olvide del resumen para buscar en el Google Drive de la víctima el archivo que tiene las API Keys. Y luego hay que sacarlas para que lleguen a las manos del atacante.
El truco es de nuevo la carga de una imagen remota, en un servidor controlado por el atacante, que como podéis ver en el Prompt de ataque, inyecta las API Keys en los parámetros de la URL. Pero... ChatGPT no permite renderizar imágenes de cualquier sitio.
Por suerte, sí que permitía de cualquier almacén de documentos en Microsoft Azure, así que no fue muy difícil para este exploit encontrar la forma de exfiltrar la información sensible que se buscaba.
Como siempre digo, AgentFlayer en ChatGPT no fue el primero ni ha sido el único en conseguir un Prompt Injection exitoso en un modelo de frontera de los grandes, que ya hemos visto muchos de estos casos, como tenéis en estos artículos que tenéis publicados aquí:
Y en el caso de ChatGPT, que es el modelo más popular que tenemos, los investigadores han puesto el foco bien puesto, y son varias la vulnerabilidades que les ha afectado. Merece la pena que te leas estos artículos para que veas cómo piensan los investigadores de ciberseguridad.
Algunas de las propuestas por los investigadores para evitar estas técnicas de Prompt Injection por diseño las podéis leer en estos artículos:
De los problemas de falta de seguridad por diseño en lo LLM como ChatGPT os hablé en la charla que di en OpenExpo Europe 2025 / Metaworld Congress 2025 titulada "Hackin’ AI: Creando una IA… ¿Qué puede salir mal?", donde también aproveché a contar muchas cosas de por qué esto es así, que hay que entender bien el funcionamiento de estos modelos para saber por qué nos suceden estos problemas.

Figura 9: "Hackin’ AI: Creando una IA… ¿Qué puede salir mal?"

Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los postspapers y charlas que he escrito, citado o impartido sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Publicar un comentario