sistema: OPERATIVO
← volver a todos los hacks
PROMPT INJECTION MEDIUM NEW

Reprompt: exfiltración con un clic en Copilot Personal mediante prompts precargados en la URL

Un fallo ya corregido de Copilot Personal encadenaba un prompt precargado en la URL, una protección que solo verificaba la primera solicitud y respuestas dirigidas por el servidor, logrando una exfiltración sigilosa con un clic. Las lecciones de evasión son generales.

2026-06-17 // 6 min affects: microsoft-copilot-personal

¿Qué es esto?

Reprompt es una cadena de ataque contra Microsoft Copilot Personal divulgada por Varonis Threat Labs, cuyo análisis técnico público se publicó por primera vez el 14 de enero de 2026 y se actualizó el 16 de junio de 2026 junto con un hallazgo relacionado en el ámbito empresarial. Convierte un simple clic en un enlace de Copilot de apariencia legítima en un canal de exfiltración silencioso: el asistente lee el contexto de sesión y de perfil de la víctima y lo filtra, fragmento a fragmento, hacia un servidor controlado por el atacante. Microsoft confirmó que el problema está corregido, y la oferta empresarial Microsoft 365 Copilot —protegida por el DLP del tenant y la gobernanza de Purview— no se vio afectada de la misma forma.

Lo tratamos aquí no como una noticia de última hora, sino como un caso de estudio limpio y completamente remediado. Dos de sus tres técnicas son patrones de evasión que se repiten mucho más allá de Copilot, y comprenderlos resulta más útil que el fallo concreto del producto. No se reproduce ningún payload funcional a continuación; el valor está en los modos de fallo.

Cómo funciona

Reprompt combina tres pasos. Ninguno es un fallo del modelo de lenguaje subyacente: cada uno es una brecha de diseño y validación en la aplicación que rodea al modelo.

El primero es la inyección Parámetro-a-Prompt (P2P). Copilot acepta un parámetro de URL q que precarga el cuadro de entrada, de modo que un enlace como https://copilot.microsoft.com/?q=... hace que el asistente procese el texto incrustado como si el usuario lo hubiera escrito y enviado. El atacante coloca sus instrucciones en ese parámetro. Al usuario solo le hace falta hacer clic; la sesión ya autenticada hace el resto, sin una nueva solicitud de autenticación. La misma funcionalidad de prompt precargado se ha documentado en otros asistentes —Tenable la describió para ChatGPT y LayerX para el navegador Comet de Perplexity—, lo que indica que se trata de una clase de debilidad y no de un caso aislado.

El segundo es la evasión por doble solicitud, y es la lección más transferible. Copilot sí aplica una protección que elimina los datos sensibles de las peticiones URL salientes, pero, en la versión vulnerable, esa comprobación solo se ejecutaba en la primera ejecución de una instrucción. Al formular la petición de modo que el asistente realizara cada acción dos veces y «comparara» los resultados, el atacante desplazaba el paso que devuelve los datos a una segunda ejecución que el filtro nunca inspeccionaba. La instrucción exacta queda [CENSURADA]; el punto estructural es que la comprobación de seguridad y la acción no se aplicaban de forma simétrica entre iteraciones.

El tercero es la orquestación por cadena de solicitudes. Una vez ejecutado el primer prompt, el servidor del atacante responde con instrucciones de seguimiento que dependen de lo que Copilot devolvió: nombre de usuario, luego ubicación, luego una lista de archivos abiertos recientemente, luego la memoria de conversación, fragmento a fragmento. Como cada instrucción posterior la entrega el servidor después del clic inicial, inspeccionar el prompt de partida no revela nada de lo que realmente se exfiltra, y la monitorización en el cliente solo ve un flujo de pequeñas solicitudes salientes de aspecto ordinario.

Por qué importa

La combinación es exactamente la «tríada letal» que el OWASP State of Agentic AI Security and Governance (v2.01, 11 de junio de 2026) sitúa en el centro del riesgo agéntico: un asistente con acceso a datos privados, exposición a contenido controlado por el atacante y capacidad de alcanzar la red puede convertirse en una herramienta de exfiltración mediante una sola instrucción inyectada. Copilot reúne las tres por diseño, porque ser útil implica conservar el contexto del usuario y poder ir a buscar cosas.

La razón por la que las evasiones se generalizan es arquitectónica. Como subrayan tanto OWASP como Simon Willison, un modelo de lenguaje recibe el prompt del sistema, la petición del usuario y cualquier texto externo como un único flujo de tokens indiferenciado: no existe una frontera fiable entre «comando» y «dato». Una URL precargada no es más que otra forma de colar texto del atacante en ese flujo revistiéndolo de la autoridad del usuario. Y el truco de la doble solicitud recuerda que una protección aplicada en un punto del flujo no es una protección aplicada al flujo: dondequiera que la aplicación sea desigual entre reintentos, regeneraciones o seguimientos, hay una evasión.

El patrón por cadena de solicitudes es la parte en la que los defensores deberían detenerse más. Derrota el control intuitivo —«inspeccionar el prompt antes de ejecutarlo»— porque las instrucciones peligrosas no existen en el momento del clic. Las redacta dinámicamente un servidor remoto en respuesta a la propia salida del modelo. La detección debe pasar del prompt al comportamiento.

Defensas

Las recomendaciones de Varonis, generalizadas a cualquier asistente o agente LLM que ingiera entradas externas:

  • Trate toda cadena suministrada desde el exterior como dato no fiable, de extremo a extremo. Enlaces profundos, prompts precargados, documentos recuperados y salidas de herramientas nunca deberían ascender a «instrucción» sin un paso de conversión explícito y registrado. Valide los parámetros de prompt precargado en lugar de ejecutarlos al cargar la página.
  • Aplique las protecciones de forma simétrica en todas las rutas de ejecución. Cualquier comprobación anti-fuga que se ejecute en la primera solicitud debe ejecutarse de forma idéntica en la segunda, el reintento, la regeneración y cada seguimiento encadenado. El error es la aplicación desigual, no el prompt.
  • Haga la política del lado del servidor y con estado, no del lado del cliente y por prompt. Como la exfiltración por cadena de solicitudes es invisible en el prompt de partida, los controles deben persistir en toda la interacción y residir donde actúa el modelo, no en la pestaña del navegador.
  • Aplique el presupuesto de la tríada letal / Agents Rule of Two. Si un asistente puede leer contexto privado, alcanzar contenido no fiable y salir hacia la red sin aprobación, retire una de las tres patas: restrinja las peticiones salientes a destinos en lista blanca, o exija confirmación humana antes de que el modelo recupere URL controlables por el atacante.
  • Cace por comportamiento, no por payloads. Alerte sobre salidas iniciadas por el asistente hacia puntos atípicos y sobre numerosas peticiones salientes pequeñas y secuenciales desde un cliente de IA —la firma de una exfiltración incremental— en lugar de fiarse de inspeccionar el prompt enviado por el usuario.
  • Para los usuarios: trate un enlace que abra una herramienta de IA con un prompt ya rellenado igual que cualquier enlace no solicitado, y lea un prompt precargado antes de dejar que se ejecute.

Estado

ElementoDetalle
AtaqueReprompt (Varonis Threat Labs, investigador Dolev Taler)
ObjetivoMicrosoft Copilot Personal (consumo)
No afectadoMicrosoft 365 Copilot (empresa, DLP/Purview del tenant)
TécnicasInyección P2P (parámetro q) · evasión por doble solicitud · exfiltración por cadena de solicitudes
Análisis público14 de enero de 2026; actualizado el 16 de junio de 2026
Estado del parcheCorregido por Microsoft (ciclo de actualización de enero de 2026); remediación confirmada por el proveedor
Explotación activaSin explotación masiva confirmada en el momento de la divulgación; demostración de investigación
RelacionadoSearchLeak — cadena análoga en M365 Copilot Enterprise (Varonis, junio de 2026)
NaturalezaCaso de estudio defensivo — sin payload de explotación reproducido

Sources