Claude for Chrome: un clic sintético aún dispara la lectura de Gmail
Manifold Security demostró el 14 de julio de 2026 que cualquier extensión del navegador puede falsificar un clic y forzar a Claude for Chrome a leer Gmail, Docs y Calendar. La allowlist añadida tras la primera divulgación queda una capa demasiado arriba.
¿Qué es esto?
El 14 de julio de 2026, Ax Sharma, de Manifold Security, publicó ClaudeBleed Reopened, mostrando que dos debilidades de la extensión de navegador Claude for Chrome de Anthropic seguían siendo reproducibles en la versión más reciente de entonces, v1.0.80 (publicada el 7 de julio). La firma reportó ambas a Anthropic el 21 de mayo de 2026, sobre la v1.0.72; Anthropic acusó recibo al día siguiente y luego cerró los reportes, pero según Manifold los manejadores implicados son idénticos byte a byte ocho versiones después.
El hallazgo es la continuación de la falla de frontera de confianza ClaudeBleed que LayerX divulgó a principios de mayo. La mitigación de Anthropic para aquel primer problema es precisamente lo que hace interesante a este: el arreglo era real, pero se colocó en la capa equivocada, y un residuo lo sobrevive.
Cómo funciona
Para cerrar la falla original —una página podía entregar texto arbitrario a Claude— Anthropic restringió a los llamadores externos a un pequeño diccionario de nueve prompts codificados en duro, identificados por un ID de tarea. Tres son prompts de práctica para el onboarding; los otros seis son acciones reales, entre ellas usecase-gmail (leer el correo reciente y pulsar enlaces de baja), usecase-gdocs (abrir el último documento y leer sus comentarios) y usecase-calendar (leer la disponibilidad y crear reuniones). Una página ya no puede inyectar su propio texto: una mejora real en la capa del manejador de mensajes.
El problema residual está en cómo se dispara uno de esos nueve prompts. Un content script escucha clics sobre un elemento que coincide con un selector concreto de botón de onboarding, lee su atributo de ID de tarea y reenvía el prompt correspondiente al panel lateral de Claude. Ahora bien, el manejador nunca comprueba event.isTrusted —la marca del navegador que distingue un clic real del usuario de uno sintetizado por script—. Cualquier extensión que ejecute un content script en el mundo principal en claude.ai (el modelo estándar de las extensiones de navegador) puede construir el botón, fijar el ID de tarea y despachar un clic sintético. La prueba de concepto de Manifold cabe en unas pocas líneas de consola, con isTrusted: false en los registros confirmando que el evento falsificado fue aceptado.
En el modo por defecto «Preguntar antes de actuar», una ventana de aprobación sigue interponiéndose entre el disparador falsificado y cualquier lectura sensible: el impacto práctico es una aprobación forzada, que Manifold valora en 7,7 (alto). Pero una vez activado el modo «Actuar sin preguntar», la ventana desaparece y la tarea se ejecuta en silencio; Manifold valora esa vía en 9,6 (crítico). El fallo es independiente del modelo —se reprodujo con las selecciones Opus, Sonnet y Fable— porque reside en la extensión, no en el modelo.
El segundo hallazgo es arquitectónico: el panel lateral entra en modo privilegiado cuando se carga con el parámetro de URL skipPermissions=true, sin gesto del usuario y con un simple banner de «alto riesgo» mostrado a posteriori. Esa URL normalmente solo la construye la propia extensión, así que hoy no es directamente explotable de forma remota. Es un amplificador latente: cualquier futuro fallo que permita a un contexto menos privilegiado influir en la construcción de esa URL convertiría el disparador por clic sintético en una ejecución silenciosa de impacto crítico.
Por qué importa
Un agente de IA de navegador autorizado a leer tu bandeja de entrada es una identidad de alto valor. Esta clase de fallo encaja con el Top 10 de OWASP para aplicaciones LLM: LLM01 inyección de prompt indirecta (el disparador viene de un script de página no confiable, no del usuario) y LLM06 agencia excesiva (el agente alcanza Gmail, Docs y Calendar con un solo evento). También es casi invisible para la supervisión clásica: una pasarela ve tráfico HTTPS autenticado normal hacia claude.ai, y el EDR ve una extensión funcionando con normalidad. La única señal fiable es lo que el agente hace realmente en ejecución frente a lo que estaba autorizado a hacer. La lección va más allá de este producto: una allowlist que restringe qué mensajes se aceptan no es una frontera de autorización si el evento que la dispara acepta entradas falsificadas. La confianza debe imponerse en cada capa, no solo en la más visible.
Defensas
Verificar la intención del usuario en el momento de la acción. El arreglo de una línea que propone Manifold consiste en rechazar los eventos sintetizados al inicio del manejador de clics (conceptualmente, if (!event.isTrusted) return;). Todo agente que condicione una acción privilegiada a un clic de interfaz debe confirmar que ese clic proviene del usuario y no de un script.
Arrancar los agentes en el modo de menor privilegio. No permita que un parámetro de URL seleccione un estado de «omitir todas las comprobaciones de permiso». Exija que las transiciones de modo provengan de un gesto real del usuario en la interfaz del agente, y condicione cualquier petición interna de privilegio a una verificación de la identidad del emisor.
Tratar los agentes de IA de navegador como cuentas de servicio privilegiadas. Inventaríe las extensiones capaces de alcanzar el correo, los documentos y el calendario; desactive «actuar sin preguntar» para todo lo que toque datos sensibles; y minimice las demás extensiones instaladas junto a un agente, porque cualquiera de ellas es un disparador potencial.
Supervisar el comportamiento del agente en ejecución. Como los registros de control de acceso parecen normales, la capa de detección duradera es conductual: marque cuándo un agente invoca una herramienta o tarea que verosímilmente no se le pidió invocar.
Parchear y hacer seguimiento. Siga las notas de versión de Claude for Chrome y el aviso de Manifold, y vuelva a probar tras cada actualización en lugar de confiar en un estado «resuelto».
Estado
| Elemento | Detalle |
|---|---|
| Divulgado por | Ax Sharma, Manifold Security — 14 de julio de 2026 |
| Reportado al proveedor | 21 de mayo de 2026 (sobre la v1.0.72); reportes acusados y luego cerrados |
| Reproducido en | v1.0.80 (publicada el 7 de julio de 2026) |
| Severidad (investigador) | 7,7 alto (modo «preguntar» por defecto) / 9,6 crítico («actuar sin preguntar») |
| Correspondencia | OWASP LLM01 (inyección de prompt indirecta), LLM06 (agencia excesiva) |
| Alcance | Independiente del modelo (selecciones Opus, Sonnet, Fable) |
| Respuesta del proveedor | Sin comentario público sobre los hallazgos concretos al 14 de julio de 2026 |
Sources
- → https://www.manifold.security/blog/claude-for-chrome-extension-bypass
- → https://thehackernews.com/2026/07/claude-for-chrome-flaw-lets-other.html
- → https://www.bleepingcomputer.com/news/security/claude-chrome-extension-flaw-lets-malicious-extensions-trigger-ai-actions/
- → https://www.csoonline.com/article/4197325/new-bugs-in-claude-for-chrome-allow-extensions-to-abuse-ai-privileges.html
- → https://genai.owasp.org/llmrisk/llm062025-excessive-agency/