lunes, 1 de septiembre de 2025

EchoLeak: el zero-click que me hizo dudar de Copilot

 

A mí me costó procesar lo que pasó con EchoLeak. No la parte técnica — esa la entiendes leyendo el writeup de Aim Labs. Lo que me costó fue aceptar que un atacante podía mandarte un correo, tú no hacías nada con él, y aún así Copilot terminaba filtrándole datos de tu Outlook y tu Graph al de afuera. Cero clics. Cero interacción. El correo llegaba, Copilot lo procesaba en algún momento mientras hacías otra consulta, y ya estaba.

CVE-2025-32711, CVSS 9.3. Microsoft lo parcheó server-side rapidito y sin advisory ruidosa. Lo cual me parece bien y me parece mal a la vez. Bien porque la mitigación tiene que ser inmediata. Mal porque sospecho que muchos equipos de seguridad ni se enteraron de la magnitud hasta que los investigadores publicaron el detalle en arXiv unos meses después.

 

The image depicts a complex diagram illustrating various components and processes related to cybersecurity, including Microsoft's zero-click exploit, various PDF nᅢᄈminas (documents), and CSP (Cloud Security Posture) policies, along with technical terms and CVSS (Common Vulnerability Scoring System) score indicating a high-severity vulnerability.

El contenido generado por IA puede ser incorrecto.

Lo que más me marcó del writeup es la elegancia del exploit. No es un bug. Es una cadena.

Primero, evade el clasificador XPIA (Cross Prompt Injection Attempt) usando lenguaje que no se ve como instrucción adversaria. Después esquiva la redacción de enlaces con Markdown reference-style (en lugar de poner el enlace con el dato sensible directo, lo separa en una referencia). Después usa imágenes que se auto-fetchean — el simple acto de cargar la imagen ya filtra el dato porque la URL lleva la información. Y el cierre de oro: abusa de un proxy de Teams que está permitido por la Content Security Policy. Filtración limpia.

Lo bauticé en mi cabeza como “el vector que demuestra que la CSP de tu app no es suficiente cuando metes un LLM en medio”. Porque eso es lo que es. La CSP estaba bien para una app tradicional. Para una app que tiene un agente que decide a qué dominio se conecta, la CSP es solo el principio.

Qué hago yo distinto desde EchoLeak

Lo primero, asumo que cualquier dato no estructurado que Copilot toque es input no confiable. No solo correos de fuera. También documentos compartidos por terceros, también notas pegadas de quién sabe dónde. Eso ya cambia cómo configuro las políticas de DLP.

Segundo, miro con otros ojos las funcionalidades de “auto-summarize”. Cualquier cosa donde Copilot procese contenido sin que yo le pida explícitamente que lo haga es vector. Es ahí donde EchoLeak metió la cuchilla.

Tercero, y esto es opinión: creo que Microsoft tardó en sacar Spotlighting. Lo anunciaron en Build 2025, pero la categoría de ataque ya se conocía. Spotlighting marca el origen del input para que el modelo distinga “esto me lo dijo el usuario” de “esto venía dentro de un documento”. Era un control que necesitábamos antes, no después.

The image depicts a technical diagram illustrating an exploit chain involving Microsoft, with various components like attacker actions, CVE identifiers, and defense mechanisms such as Microsoft's Sentinel and Audit tools.

El contenido generado por IA puede ser incorrecto.

Para mi equipo hicimos tres cosas concretas las semanas siguientes. Auditamos qué buzones tienen reglas de auto-procesado que terminen llegando a Copilot — apagamos varias. Forzamos sensitivity labels en todo lo que viene de invitados externos: si entra etiquetado como external, Copilot no lo procesa. Y activamos logging completo de prompts en Purview, aunque pesa un montón. Sin auditoría no hay forensia.

Lo último — y esto es lo que me sigue rondando — es que EchoLeak no fue un fallo en un modelo grande. Fue un fallo en cómo Microsoft pegó el modelo al resto del stack: identidades, permisos, cargas de URL, parsers de Markdown. La superficie de ataque del Copilot empresarial no es el LLM. Es la conexión del LLM con todo lo demás.

El día que entendí eso fue el día que dejé de ver a Copilot como un producto y empecé a verlo como una integración compleja. Y las integraciones complejas se rompen en las costuras.

 

 

 

 

 

The image depicts a computer monitor displaying a complex cybersecurity monitoring dashboard with various alerts and analytics tools, such as Microsoft's Exploit Chain and SAM (Security Account Manager), indicating potential security threats and system vulnerabilities.

El contenido generado por IA puede ser incorrecto.