sistema: OPERATIVO
← volver a todos los hacks
DEFENSE MEDIUM NEW

Cross-Site Prompting: la amenaza con forma de XSS que acecha a los agentes web

Un artículo de UC Berkeley bautiza el equivalente del XSS para los agentes web —el Cross-Site Prompting— y propone una capa de confinamiento a nivel de sistema que reduce el éxito de los ataques del 85,5 % al 0,7 % sin tocar el sitio.

2026-07-15 // 7 min affects: web-agents, browser-agents, llm-agents, autonomous-browsing-agents

¿De qué se trata?

El 9 de julio de 2026, investigadores de UC Berkeley publicaron un artículo que introduce el Cross-Site Prompting (XSP) y una defensa asociada llamada Prismata. El XSP designa una amenaza que los agentes de navegación autónomos heredan de la web abierta: un sitio legítimo mezcla contenido de confianza, generado por el editor, con contenido de terceros no confiable —reseñas de productos, anuncios, comentarios de usuarios— y un atacante introduce instrucciones en lenguaje natural en esa zona no confiable. Cuando un agente web lee la página para completar su tarea, puede obedecer la instrucción plantada: responder a una reseña adjuntando los datos bancarios del usuario, o restablecer una contraseña.

Los autores presentan deliberadamente esta amenaza como el equivalente, del lado del agente, del Cross-Site Scripting (XSS). La comparación va más allá de lo retórico: el XSS demostró hace décadas que entrelazar contenido de confianza y contenido no confiable en una misma página es peligroso, y el XSP hace resurgir exactamente ese problema en una forma en la que las soluciones clásicas ya no aplican. Este resumen recoge la contribución defensiva; no contiene ningún payload reutilizable, porque el interés del artículo reside en el modelo de confinamiento, no en la inyección.

Cómo funciona

Si las defensas anti-XSS no se transfieren es porque los payloads de XSP no son código ejecutable. Son lenguaje natural e imágenes: los filtros de entrada no pueden distinguir la instrucción del dato, y el contenido externo no confiable no puede simplemente aislarse del contexto del modelo.

La observación central del artículo es lo que los autores llaman el problema de enredo de la web (web entanglement problem). Para un agente con herramientas, una acción como «enviar un correo» tiene una semántica fija y verificable. Para un agente web, el mismo click(id) puede completar una compra, responder a la reseña de un atacante o interactuar con un anuncio patrocinado: es la estructura de la página, y no la acción, la que lleva el significado de seguridad. Para derivar una política segura, la defensa debe razonar sobre esa estructura, pero esta está enredada con el contenido no confiable que intenta contener; el propio acto de razonar reexpone así la defensa a la manipulación.

Prismata lo resuelve con dos ideas. La derivación dinámica de confianza traza la ruta crítica desde la raíz del DOM hasta cada elemento interactivo; los autores midieron, en más de 1 500 de los sitios más visitados y más de 90 000 instancias de contenido no confiable, que solo el 1,2 % de ese contenido se encuentra realmente en una ruta de este tipo —la mayoría de las inyecciones nunca llegan a la decisión de etiquetado—. Para los casos restantes, adoptan la regla «no-read-down, no-write-up» del modelo de integridad de Biba (1977) a fin de detectar las fronteras estructurales —encabezados como «Reseñas», atributos aria-label, nombres de clase como review-card— antes de que el texto no confiable entre en el contexto. El confinamiento mecánico aplica después las etiquetas obtenidas censurando contenido y limitando las acciones permitidas del agente al alcance de la tarea. Ninguno de estos pasos exige que el editor del sitio anote nada.

Por qué importa

Los agentes web pasan de la demostración a los usos cotidianos, y actúan con la sesión autenticada del usuario: pueden comprar, enviar mensajes, cambiar ajustes, mover dinero. La inyección indirecta a través del contenido de una página se convierte entonces en una vía directa hacia la exfiltración de datos y el secuestro de cuentas, y no en una simple respuesta errónea.

El hallazgo incómodo que subyace al artículo es que las defensas a nivel de modelo —entrenar al modelo para resistir la inyección— siguen siendo eludidas por ataques adaptativos, y la mayoría de las defensas existentes para agentes web pertenecen precisamente a esa categoría que confía en el modelo. Los controles a nivel de origen (dominios de solo lectura) y los esquemas de planificación anticipada como CaMeL resultan o demasiado gruesos o problemáticos en tareas de navegación dependientes de los datos. Nombrar el XSP como una clase permite a los defensores razonar sobre toda la familia de ataques, con independencia del mecanismo de entrega concreto.

Defensas

La receta del artículo es el mínimo privilegio contextual: restringir tanto lo que el agente ve como lo que puede hacer, en función de la tarea, y aplicarlo en una capa de sistema situada entre el navegador y el agente, en lugar de confiar en el buen comportamiento del modelo. En su evaluación sobre WebArena, con WASP y pruebas de estrés adaptativas, este enfoque redujo la tasa media de éxito de los ataques del 85,5 % al 0,7 %, elevó la finalización de tareas bajo ataque del 4,5 % al 23,0 %, con un coste modesto en utilidad legítima (el éxito de las tareas pasó del 29,9 % al 26,6 %).

Tres enseñanzas trascienden este único sistema. Primero, tratar toda acción de un agente web como algo que requiere una decisión de autorización basada en la estructura de la página, y no en el juicio que el modelo hace del texto que acaba de leer. Segundo, limitar las capacidades a la tarea: un agente encargado de comprar una pajarita no debería tener ningún camino hacia el restablecimiento de contraseña o los mensajes directos; los botones fuera de alcance deberían quedar deshabilitados por construcción. Tercero, los operadores de sitios reducen la exposición de sus usuarios aplicando una higiene web que haga explícitas las fronteras de confianza —encabezados semánticos, etiquetas de accesibilidad, nombres de clase de contenedores claros— lo que, en el estudio, redujo las rutas residuales no cubiertas de aproximadamente el 0,1 % al 0,017 %.

Estado

ElementoDetalle
TipoInvestigación académica (propuesta de defensa), no una vulnerabilidad de producto
FuentearXiv:2607.08147v1 [cs.CR], publicado el 9 de julio de 2026 (UC Berkeley)
Clase de amenazaCross-Site Prompting (XSP) — inyección indirecta vía contenido de página no confiable
DefensaPrismata: mínimo privilegio contextual mediante derivación dinámica de confianza + confinamiento mecánico
Efecto reportadoÉxito de ataques 85,5 % → 0,7 %; utilidad 29,9 % → 26,6 % (WebArena / WASP)
CVENinguna — sin fallo de producto específico

Sources