Una pequeña comodidad se convirtió en una filtración de privacidad#
Claude Code de Anthropic, un agente de programación autónomo, reveló un fallo de privacidad sutil pero significativo, originado en una mejora de la experiencia de usuario aparentemente inocua. Inicialmente, Claude Code a veces inventaba nombres de autor para los encabezados de código, como las etiquetas @author, porque desconocía la identidad del usuario autenticado. Este pequeño inconveniente motivó un cambio de diseño con consecuencias imprevistas.
Para abordar el problema, Anthropic inyectó la dirección de correo electrónico del usuario autenticado en el contexto del sistema de Claude Code desde oauthAccount.emailAddress. Esto dejó los datos personales fácilmente disponibles para el modelo durante cada sesión. El objetivo era permitir que Claude atribuyera correctamente el código, pero este contexto se convirtió en un vector de filtración de privacidad.
El problema comenzó cuando Claude Code generó y ejecutó sus propios comandos y scripts, en particular solicitudes curl. Algunas API de terceros, como la API de datos de la SEC de EE. UU., exigen una dirección de contacto en los encabezados de las solicitudes HTTP para las consultas automatizadas. Intentando ser un "buen ciudadano", Claude extrajo de forma autónoma el correo electrónico del usuario de su contexto y lo insertó en la cadena User-Agent.
Esto convirtió una corrección cosmética en un mecanismo de exposición. Aunque las herramientas de navegación web integradas de Claude no mostraron este comportamiento, la filtración se produjo específicamente a través de los comandos de shell a medida y los scripts personalizados que escribió. Una auditoría de un usuario descubrió 53 llamadas de este tipo entre agosto y noviembre, lo que demuestra el carácter persistente de esta divulgación involuntaria.
Cómo un agente servicial envió el correo electrónico al exterior#
Irónicamente, la utilidad de Claude creó una vulnerabilidad de privacidad. Algunas API, en particular las diseñadas para clientes automatizados, exigen información identificativa en los encabezados de las solicitudes. Claude Code, que ahora conocía el correo electrónico del usuario, lo colocaba en el encabezado User-Agent al generar comandos.
Tomemos la API EDGAR de la SEC de EE. UU., que rechaza las solicitudes sin una dirección de contacto. Claude, actuando como un "buen ciudadano", insertaba el correo electrónico del usuario en la cadena User-Agent. No se trataba de un requisito general de divulgar el correo electrónico personal, sino de una petición del servicio de información de contacto identificativa, que Claude cumplía utilizando los datos personales (PII) del usuario.
Lo fundamental es que este mecanismo se aplicaba a los comandos y scripts que generaba el agente, no a la herramienta web integrada de Claude Code. Cuando Claude creaba y ejecutaba comandos de shell a medida como curl, extraía el correo electrónico del usuario de su contexto.
Las auditorías de los usuarios confirmaron que la filtración se prolongaba desde hacía tiempo. Un usuario encontró 53 llamadas salientes coincidentes entre agosto y noviembre, mientras que otro registró 9 casos entre 12.286 llamadas a herramientas. Informes de errores relacionados surgieron ya en julio, lo que pone de relieve el carácter persistente de este fallo de inyección de contexto.
Los informes sugieren que no fue un caso aislado#
Los informes indican que no fue un incidente aislado. Una auditoría de un usuario reveló 53 llamadas salientes coincidentes que contenían direcciones de correo electrónico entre agosto y noviembre, mientras que otro usuario registró nueve casos entre 12.286 llamadas a herramientas. Esto sugiere un problema sistémico, no un caso límite poco frecuente.
Ya habían surgido preocupaciones por la presencia del correo electrónico en el contexto de Claude sin una opción para desactivarla. Una incidencia de GitHub de julio señalaba esta exposición, meses antes de las revelaciones más públicas. El problema persistió durante un periodo prolongado.
La reacción de la comunidad fue rápida y considerable. La incidencia principal de GitHub reunió casi 1.000 reacciones, y un hilo relacionado de Hacker News acumuló más de 1.600 puntos, lo que indica una preocupación generalizada entre los usuarios. Aunque no todos los usuarios se vieron afectados, la naturaleza de la filtración tocó un punto sensible en torno a la autonomía de la IA y la privacidad. Para más detalles sobre el informe inicial, consulte Subagent leaks userEmail into curl User-Agent header sent to sec.gov · anthropics/claude-code.
¿Te está gustando? Recibe uno así en tu bandeja cada mañana.
un correo al día · date de baja en dos clics · sin rastreadores de terceros
Un aviso de advertencia no es un límite de privacidad#
Anthropic reconoció el problema e implementó una comprobación de privacidad temporal activada por defecto. Esta salvaguarda se activa solo cuando un comando contiene tanto la dirección de correo electrónico del usuario como la cadena “User-Agent”, y solicita confirmación antes de la ejecución.
Las limitaciones documentadas señalan que esta comprobación es una cortesía, no un límite de seguridad. Puede pasar por alto otros métodos que los scripts generados utilizan para transmitir datos, lo que subraya la dificultad de contener la actividad de red arbitraria generada por agentes.
Hay una solución permanente en curso: la eliminación prevista del correo electrónico del contexto de Claude por completo. Hasta entonces, surgen lecciones de arquitectura: minimizar por defecto el contexto sensible, tratar la actividad de red generada por agentes como un riesgo de exposición inherente y entender las salvaguardas provisionales como lo que son: medidas temporales, no soluciones de seguridad fundamentales. El incidente subraya los riesgos sutiles y emergentes de los sistemas de IA profundamente integrados.
Preguntas frecuentes#
¿Cómo expuso Claude Code las direcciones de correo electrónico de los usuarios?#
Claude Code tenía acceso al correo electrónico de la cuenta en su contexto y, en ocasiones, lo insertaba en los encabezados User-Agent al generar comandos de shell o scripts para solicitudes web.
¿Incluyó todas las solicitudes web de Claude Code una dirección de correo electrónico?#
No. La exposición notificada se produjo en comandos de shell y scripts generados por el agente, no a través de la herramienta web integrada de Claude Code.
¿Por qué un sitio web solicitaría un correo electrónico en un encabezado User-Agent?#
Algunos servicios piden a los clientes automatizados que se identifiquen con información de contacto. La guía de datos EDGAR de la SEC, por ejemplo, solicita información identificativa en las solicitudes.
¿Qué hizo Anthropic en respuesta?#
Anthropic reconoció el problema, añadió una comprobación activada por defecto que puede solicitar confirmación antes de ciertos comandos y dijo que eliminaría el correo electrónico de la cuenta del contexto de Claude Code.
