ClaudeBleed: cuando un agente de navegador confía en la extensión equivocada
LayerX reveló ClaudeBleed el 6 de mayo de 2026: un fallo de frontera de confianza permitía que cualquier extensión de Chrome controlara Claude in Chrome y exfiltrara datos de Gmail, Drive y GitHub. El primer parche fue eludido en pocas horas.
¿Qué es esto?
ClaudeBleed es el nombre que LayerX Security dio a una vulnerabilidad de frontera de confianza en la extensión de navegador Claude in Chrome. LayerX la reveló a Anthropic el 27 de abril de 2026; Anthropic publicó la versión 1.0.70 de la extensión el 6 de mayo de 2026, y LayerX divulgó su análisis esa misma semana. El fallo permitía que cualquier otra extensión de Chrome —incluso una instalada con cero permisos especiales— enviara comandos a la extensión de Claude y los ejecutara: leer la pestaña activa, navegar en nombre del usuario y alcanzar superficies conectadas como Gmail, Google Drive y GitHub.
No se trata de un jailbreak del modelo. El modelo de lenguaje se comportó exactamente como estaba diseñado. El error estaba en la fontanería que rodea al agente: en cómo la extensión decidía en qué mensajes confiar. Lo cubrimos porque es una ilustración limpia, reciente y públicamente documentada de una clase de fallo que se repetirá en cada agente de IA residente en el navegador, y porque el primer parche, según se informó, fue eludido en pocas horas, lo cual es en sí mismo una lección útil.
Cómo funciona
Las extensiones de Chrome pueden declarar una clave de manifiesto externally_connectable. Esta enumera los orígenes web (y opcionalmente otros ID de extensión) autorizados a abrir un canal de mensajes hacia el service worker en segundo plano de la extensión. Es un mecanismo legítimo: así es como la aplicación web de un proveedor se comunica con su propia extensión.
La extensión de Claude permitía mensajes de scripts que se ejecutaban bajo el origen claude.ai para que la aplicación web de Claude pudiera coordinarse con la extensión. El defecto, tal como lo describe LayerX, es que el manejador de mensajes confiaba en el origen pero nunca verificaba al remitente:
Design intent: claude.ai web app ──(trusted channel)──▶ Claude extension
Reality: ANY script running in a claude.ai tab ──▶ Claude extension
(including code injected by a second, unrelated extension)
Cualquier extensión puede inyectar un content script en las páginas que el usuario visita. Un content script que se ejecuta dentro de una pestaña claude.ai abierta se ejecuta bajo el origen claude.ai. Como el manejador basaba su decisión de confianza en el origen y no en una identidad de remitente autenticada y verificada, un content script colocado por la Extensión B era indistinguible de la aplicación web de Anthropic a ojos de la Extensión A (Claude). La Extensión B podía, por tanto, emitir los mismos mensajes de comando que emitiría la propia interfaz de Claude, y Claude los ejecutaba con las sesiones autenticadas del usuario.
El impacto reportado se deriva directamente de la tríada letal: el agente tiene acceso a datos privados (el Gmail, Drive y GitHub donde el usuario tiene sesión iniciada), puede recibir instrucciones no confiables (de la extensión que lo secuestra) y dispone de una vía de exfiltración (puede navegar y enviar). Combine todo eso y una extensión sin ningún permiso puede leer correo, extraer el contenido de repositorios privados y sacar datos, sin la solicitud de permiso que alertaría al usuario.
Aquí no se reproduce ningún payload funcional. El mecanismo —confianza basada en el origen sin autenticación del remitente— es todo el quid de la cuestión, y ya es público.
El primer parche incompleto
La versión 1.0.70 no eliminó el manejador externally_connectable. En su lugar, según LayerX y el informe de Business Standard, Anthropic añadió un flujo de aprobación para que las extensiones que operasen en modo «estándar» no pudieran ejecutar silenciosamente comandos remotos privilegiados. LayerX informó de que esa capa podía sortearse: abusando del flujo de inicialización del panel lateral, un atacante podía crear un contexto de ejecución «privilegiado» / «actuar sin preguntar» que escapaba a la nueva comprobación, restaurando la capacidad original. Cybernews informó de que el parche fue eludido en pocas horas tras su publicación. La lección es arquitectónica: injertar un aviso de aprobación a nivel de interfaz sobre un manejador cuya decisión de confianza sigue basándose en el origen no cierra la frontera, solo añade un paso que rodear.
Por qué importa
Los agentes residentes en el navegador son una superficie de despliegue en rápido crecimiento y concentran precisamente los activos que buscan los atacantes. Un navegador con sesión iniciada es un único contexto que contiene correo, archivos, código fuente y cookies de sesión de decenas de servicios. Un agente capaz de actuar en ese contexto es, por construcción, un objetivo de alto valor.
Tres puntos se generalizan más allá de esta extensión concreta:
La frontera de confianza está entre extensiones, no solo entre las páginas web y el agente. La mayoría de los modelos de amenaza para agentes de navegador se centran en el contenido de las páginas que el agente lee (inyección de prompt indirecta). ClaudeBleed recuerda que las extensiones vecinas que comparten la misma pestaña también forman parte del modelo de amenaza. La comprobación de origen de externally_connectable es un instrumento tosco: un origen no es una identidad.
Las solicitudes de permiso no sustituyen a una frontera correcta. El usuario instaló Claude y le concedió acceso; no concedió conscientemente a una segunda extensión cualquiera el derecho de controlar Claude. Cuando la frontera es incorrecta, el consentimiento dado a un componente se extiende silenciosamente a otro.
Los modos «actuar sin preguntar» son determinantes para la seguridad, no solo para la comodidad. La ruta de elusión pasaba precisamente por una ruta de ejecución privilegiada y sin confirmación. Los ajustes de autonomía que suprimen las solicitudes de confirmación eliminan el último control humano justo cuando un atacante más necesita que se elimine.
Defensas
Para usuarios y administradores de agentes de IA en el navegador:
-
Actualice de inmediato y luego siga vigilando. Asegúrese de que Claude in Chrome esté en la última versión (1.0.70 o posterior). Dado que se informó de que el primer parche era eludible, considere «parcheado» como provisional y haga seguimiento de las versiones y avisos posteriores del proveedor en lugar de suponer que una sola actualización cerró el problema.
-
Reduzca el radio de impacto de las extensiones. El ataque requiere una segunda extensión en el mismo perfil de navegador. Audite las extensiones instaladas, elimine las que no usa activamente y prefiera un perfil de navegador dedicado al trabajo con el agente de IA que contenga solo la extensión del agente. Cuantas menos extensiones convivan, menor será la superficie de ataque.
-
Desactive el modo «actuar sin preguntar» / la autonomía privilegiada. Ejecute el agente en su modo con más confirmaciones. Exija una aprobación humana explícita para cualquier acción que lea datos privados o realice una petición saliente. Este es el control que la elusión estaba diseñada para saltarse.
-
Use listas de permitidos de extensiones en la empresa. Las políticas de Chrome Enterprise (
ExtensionInstallAllowlist/ExtensionInstallBlocklist) permiten bloquear por la fuerza las extensiones no gestionadas. Si solo pueden instalarse extensiones validadas, la premisa de «cualquier extensión puede secuestrarla» desaparece en gran medida para las flotas gestionadas. -
Segmente las sesiones sensibles lejos del agente. No mantenga la extensión del agente en el mismo perfil donde permanece con sesión iniciada en sus servicios más sensibles (financieros, consolas de administración, control de código con alcances amplios). Los perfiles de navegador separados crean una frontera dura que la extensión no puede cruzar.
Para desarrolladores que construyen extensiones o agentes de navegador:
-
Autentique al remitente, no confíe en el origen.
externally_connectablefiltra qué orígenes pueden conectarse, pero un origen lo comparten todos los scripts de la pestaña. Si su manejador realiza acciones privilegiadas, exija un secreto por sesión verificado o un apretón de manos autenticado criptográficamente que los content scripts inyectados no puedan falsificar, no una mera comprobación desender.origin. -
Adopte por defecto el mínimo privilegio y la confirmación explícita. Los modos de ejecución privilegiados deben fallar en cerrado: no debe existir ninguna ruta silenciosa que escape al flujo de aprobación. Trate cualquier modo «actuar sin preguntar» como una funcionalidad relevante para la seguridad y modele las amenazas de las rutas que pueden conducir a él.
-
Modele la amenaza de las extensiones que conviven. Añada «una extensión vecina maliciosa comparte esta pestaña» a sus supuestos de diseño. Pruebe con una segunda extensión deliberadamente hostil instalada.
Estado
| Elemento | Referencia | Fecha | Notas |
|---|---|---|---|
| Divulgación responsable a Anthropic | LayerX Security | 2026-04-27 | Fallo de frontera de confianza en Claude in Chrome |
| Parche publicado — extensión v1.0.70 | Anthropic | 2026-05-06 | Se añadió un flujo de aprobación; se mantuvo el manejador externally_connectable |
| Publicación pública «ClaudeBleed» | LayerX Security | 2026-05-06 | Origen de confianza sin verificación del remitente |
| Elusión del primer parche reportada | Cybernews / Business Standard | ~2026-05-11 | La ruta privilegiada «actuar sin preguntar» sortea la nueva comprobación |
Fechas clave: divulgación el 2026-04-27, parche el 2026-05-06, elusión reportada en los días siguientes. El encuadre defensivo es el más duradero: un agente de IA en el navegador hereda las fronteras de confianza del navegador que lo rodea, y una comprobación de origen no es una comprobación de identidad. La autonomía privilegiada sin confirmación es donde esa brecha se convierte en exfiltración de datos, de modo que la mitigación más barata disponible hoy es desactivar esa autonomía y reducir el conjunto de extensiones que comparten el perfil del agente.
Este artículo es educativo y defensivo. Describe una vulnerabilidad públicamente divulgada y corregida por el proveedor, y no reproduce ningún exploit funcional. Los detalles de comportamiento y versión reflejan la información disponible a finales de mayo de 2026; verifique con los avisos actuales del proveedor.
Sources
- → https://layerxsecurity.com/blog/a-flaw-in-claudes-browser-extension-allows-any-extension-to-hijack-it/
- → https://www.securityweek.com/vulnerability-in-claude-extension-for-chrome-exposes-ai-agent-to-takeover/
- → https://www.csoonline.com/article/4168867/claude-in-chrome-is-taking-orders-from-the-wrong-extensions.html
- → https://hackread.com/claudebleed-vulnerability-hackers-claude-chrome-extension/
- → https://cybernews.com/security/claude-code-chrome-extension-flaw-fix-hacked/