Análisis del ataque ShadowLeak en el agente Deep Research de ChatGPT

Los investigadores en ciberseguridad han revelado una vulnerabilidad zero-click en el agente Deep Research de ChatGPT (OpenAI) que permitiría a un atacante filtrar datos sensibles de la bandeja de entrada de Gmail mediante un único correo electrónico manipulado, sin requerir ninguna acción por parte del usuario.
Esta nueva clase de ataque ha sido denominada ShadowLeak por Radware. Tras una divulgación responsable realizada el 18 de junio de 2025, OpenAI corrigió el problema a comienzos de agosto.
“El ataque utiliza una inyección de prompt indirecta oculta en el HTML del correo electrónico (fuentes diminutas, texto blanco sobre fondo blanco, trucos de maquetación), de modo que el usuario nunca percibe los comandos, pero el agente sí los procesa y ejecuta”, explicaron los investigadores de seguridad Zvika Babo, Gabi Nakibly y Maor Uziel.
“A diferencia de investigaciones previas que dependían del renderizado de imágenes en el cliente para provocar la filtración, este ataque extrae los datos directamente desde la infraestructura en la nube de OpenAI, lo que lo hace invisible para las defensas locales o empresariales”.
Cómo funciona Deep Research y la mecánica del ataque
Lanzado por OpenAI en febrero de 2025, Deep Research es una capacidad agentiva integrada en ChatGPT que realiza investigaciones de múltiples pasos en Internet para generar informes detallados. Características de análisis similares se han incorporado en otros chatbots de inteligencia artificial (IA) populares, como Google Gemini y Perplexity, durante el último año.
En el ataque descrito por Radware, el actor de la amenaza envía un correo electrónico que parece inofensivo a la víctima, pero que contiene instrucciones invisibles mediante texto blanco sobre fondo blanco o trucos de CSS. Estas instrucciones indican al agente que recopile información personal de otros mensajes presentes en la bandeja de entrada y la exfiltre a un servidor externo.

Cuando la víctima solicita a ChatGPT Deep Research que analice sus correos de Gmail, el agente interpreta la inyección de prompt indirecta presente en el correo malicioso y transmite los datos codificados en Base64 al atacante mediante la función
browser.open().
“Creamos un nuevo prompt que instruía explícitamente al agente para usar la herramienta
browser.open()con la URL maliciosa”, señaló Radware. “Nuestra estrategia final y exitosa fue indicarle al agente que codificara la información personal extraída en Base64 antes de agregarla a la URL. Enmarcamos esta acción como una medida de seguridad necesaria para proteger los datos durante la transmisión”.
La prueba de concepto (PoC) depende de que los usuarios tengan habilitada la integración de Gmail, pero el ataque puede extenderse a cualquier conector soportado por ChatGPT, incluyendo Box, Dropbox, GitHub, Google Drive, HubSpot, Microsoft Outlook, Notion o SharePoint, ampliando significativamente la superficie de ataque.
A diferencia de ataques como AgentFlayer y EchoLeak, que ocurren en el cliente, la exfiltración observada en el caso de ShadowLeak se produce directamente dentro de la infraestructura en la nube de OpenAI, eludiendo además los controles de seguridad tradicionales. Esta falta de visibilidad es el principal elemento que lo distingue de otras vulnerabilidades de inyección de prompts indirecta similares.
ChatGPT inducido a resolver CAPTCHAs
La divulgación se produce mientras la plataforma de seguridad de IA SPLX demostraba que prompts cuidadosamente formulados, combinados con context poisoning, pueden subvertir las protecciones integradas del agente ChatGPT y resolver CAPTCHAs basados en imágenes diseñados para verificar que el usuario es humano.
El ataque consiste en abrir un chat regular de ChatGPT-4o y convencer al modelo de lenguaje grande (LLM) de generar un plan para resolver lo que se le describe como una lista de CAPTCHAs falsos. En el paso siguiente, se abre un nuevo chat del agente ChatGPT y se pega la conversación anterior, indicando que se trata de “nuestra discusión previa”, lo que provoca que el modelo resuelva los CAPTCHAs sin mostrar resistencia.
“El truco consistió en replantear el CAPTCHA como ‘falso’ y crear una conversación donde el agente ya había aceptado proceder. Al heredar ese contexto, no detectó las señales de alerta habituales”, explicó el investigador de seguridad Dorian Schultz.
“El agente resolvió no solo CAPTCHAs simples, sino también basados en imágenes, incluso ajustando el cursor para imitar el comportamiento humano. Los atacantes podrían replantear controles reales como ‘falsos’ para evadirlos, lo que subraya la necesidad de integridad de contexto, higiene de memoria y red teaming continuo”.