- Aprovechando una vulnerabilidad en el entorno de ejecución de código de Claude Cowork, un atacante puede subir los archivos del usuario a su propia cuenta de Anthropic
- Esta vulnerabilidad ya había sido reportada en el entorno de chat de Claude.ai, pero sigue sin corregirse, y permanece igual en Cowork
- El ataque se ejecuta mediante un archivo de documento con una inyección de prompts oculta; cuando Cowork lo analiza, envía automáticamente archivos al exterior
- Sin aprobación humana, Cowork usa la clave API del atacante para exfiltrar datos a través de la API de Anthropic
- La estructura facilita que usuarios comunes queden expuestos, y deja en evidencia los riesgos de seguridad de los agentes de IA y la importancia de defenderse de la inyección de prompts
Resumen de la vulnerabilidad
- Claude Cowork es una vista previa de investigación de un agente de IA para trabajo general publicada por Anthropic, e incluye acceso a internet
- PromptArmor demostró que es posible exfiltrar archivos de usuarios aprovechando una vulnerabilidad sin corregir que sigue presente en el entorno de programación de Cowork
- Esta vulnerabilidad fue descubierta y divulgada previamente por Johann Rehberger en Claude.ai, y Anthropic la conocía pero no la corrigió
- Anthropic advirtió que, al usar Cowork, hay que “tener cuidado con comportamientos que puedan hacer sospechar de una inyección de prompts”, pero se señala que es una exigencia poco realista para personas no expertas
- PromptArmor realizó una demostración pública para alertar a los usuarios sobre este riesgo
Cadena de ataque (Attack Chain)
- El ataque aprovecha la allowlist de la API de Anthropic para enviar datos al exterior desde el entorno VM de Claude
- El usuario conecta a Cowork una carpeta local que contiene archivos inmobiliarios confidenciales
- El usuario sube un archivo de documento (.docx) con una inyección de prompts oculta
- El documento está disfrazado como un archivo de “Skill”, y la inyección se oculta con texto blanco de 1 punto y espaciado de línea de 0.1
- El usuario le pide a Cowork analizar archivos usando el “Skill” subido
- La inyección manipula a Cowork para ejecutar una solicitud cURL usando la clave API de Anthropic del atacante, subiendo los archivos del usuario a la cuenta del atacante
- Se ejecuta automáticamente sin un proceso de aprobación humana
- La VM de Claude bloquea la mayoría de las redes externas, pero la API de Anthropic pasa por estar considerada confiable
- El atacante puede ver los archivos de la víctima y conversar con Claude desde su propia cuenta de Anthropic
- Entre los archivos filtrados había información financiera y partes del número de Seguro Social (SSN)
Resistencia según el modelo (Model-specific Resilience)
- El ataque anterior fue demostrado con el modelo Claude Haiku
- Claude Opus 4.5 muestra mayor resistencia a la inyección, pero en el entorno de Cowork también puede explotarse la misma vulnerabilidad de subida de archivos mediante inyección indirecta de prompts
- En las pruebas, se asumió una situación donde el usuario subía una guía de integración maliciosa, y los registros de clientes se filtraban a la cuenta del atacante
Denegación de servicio mediante archivos malformados (DOS via Malformed Files)
- La API de Claude genera errores repetidos cuando la extensión del archivo no coincide con su formato real
- Ejemplo: si intenta leer como
.pdf un archivo de texto plano con esa extensión, luego se producen errores de API en todas las conversaciones posteriores
- Estos errores pueden explotarse como un ataque limitado de denegación de servicio (DOS) mediante inyección indirecta de prompts
- Induciendo la creación y subida de archivos incorrectos, es posible provocar alertas de error tanto en el cliente de Claude como en la consola de Anthropic
Riesgo ampliado de los agentes (Agentic Blast Radius)
- Cowork está diseñado para interactuar con navegador, servidores MCP, control de AppleScript y otros elementos del entorno de trabajo diario
- Esto aumenta la probabilidad de que datos sensibles y datos no confiables se procesen mezclados
- La superficie de ataque de la inyección de prompts sigue ampliándose, y hace falta cuidado al configurar conectores
- En esta demostración no se usaron conectores, pero los conectores pueden convertirse en un factor de riesgo clave para usuarios comunes
2 comentarios
En la reseña de Claude Cowork escrita por Simon Willison también había preocupación por ataques de inyección de prompts; fue rápido.
Comentarios de Hacker News
Si descubres que se está abusando de la API de Anthropic, puedes publicar esa API key en un GitHub Gist o en un repositorio público
Anthropic es socio de escaneo de GitHub, así que la clave se revoca casi de inmediato
Después solo eliminas el Gist, y otros proveedores como OpenAI funcionan de forma parecida
Documentación relacionada: Anthropic API Key Best Practices, GitHub Secret Scanning Patterns
Idealmente, GitHub debería ofrecer una API universal de revocación de tokens
O mejor aún, activar directamente la función de revocación desde un repositorio privado
En la demo mostraron prompt injection con un archivo .docx escondiendo texto en tamaño pequeño, pero en la práctica hasta un simple archivo Markdown bastaría
Por ejemplo, si solo le pones una descripción como “Claude aprende técnicas de negociación de préstamos”, mucha gente lo usaría sin siquiera abrirlo
De hecho, un archivo .md podría funcionar mejor que un .docx porque levanta menos sospechas
Por ejemplo, en algunas industrias todavía se considera que DOCX es más normal que PDF
En esos entornos, un archivo .md podría parecer más bien una herramienta de hacker
Este tipo de problema era predecible desde el inicio
Mientras no se resuelva la prompt injection, va a seguir repitiéndose
Si imaginamos HN en 1999, se siente parecido a las primeras reacciones al SQL injection, tipo “Bobby Tables borró la base de datos”
Incluso a inicios de los 2000 ya decíamos que había que usar SQL parametrizado en vez de interpolación de cadenas
Incluso hoy ya existen todas las herramientas necesarias; el problema es que la gente prioriza la velocidad por encima de la seguridad
Irónicamente, quien inició esta competencia fue OpenAI, que se suponía que priorizaba la seguridad y el alignment
Por ejemplo, envolver la entrada del usuario con ciertos tokens (@##)(JF) y hacer que las instrucciones dentro no se ejecuten
Parece que hasta podría hacerse con un simple find/replace, así que me pregunto si me estoy perdiendo de algo
De hecho, mientras más inteligente se vuelva la IA, mayor podría ser el riesgo
Antes de cada llamada a una herramienta, hago que presente una “orden” firmada, para limitarlo a ejecutar solo comandos permitidos
La idea es que, incluso si ocurre una prompt injection, quede bloqueada mecánicamente
Se siente como el regreso de esos bugs de autoejecución del estilo “si parece sospechoso, ejecútalo como si fuera un programa”
En la época de Windows XP también sufrimos mucho con eso, y al final Microsoft dejó de usar la ejecución automática
Los sistemas basados en prompts también deben distinguir claramente qué deben confiar
Me parece un problema que las empresas de IA solo “reconozcan” el riesgo y luego exijan al usuario precauciones irreales
Por ejemplo, si creas una “abuelita bot” para que te ordene el correo, podría caer en un correo fraudulento del príncipe nigeriano
Parece un problema causado porque el sistema de “skills” de Claude es implícito
No es explícito como un comando /slash; simplemente hay instrucciones del tipo “cómo extraer archivos”
Por eso, con solo usar palabras como “decompress” o “extract”, podría ejecutarse automáticamente
Esta estructura hace que la prompt injection pueda inyectar nuevas capacidades a escondidas con facilidad
Por eso hace falta cambiarlo a un sistema de herramientas explícitas y registradas estáticamente
Por ejemplo, se podría crear una herramienta como Extract(path) y poner en whitelist solo Read o Bash("tar *")
Así también se podría agregar un proceso de aprobación humana, y no se registrarían herramientas nuevas durante la sesión
Los casos anteriores relacionados y la respuesta oficial de Anthropic están resumidos en esta entrada de blog
Es un tema algo distinto, pero me pregunto si existe algún servicio que ofrezca PoC de exfiltración de datos
En particular, me gustaría probar payloads tóxicos en CLAUDE.md cuando Claude se ejecuta en entornos CI externos
La actividad reciente de promptarmor ha sido impresionante
Está cumpliendo un papel importante al exigir responsabilidad sobre la calidad a los equipos de producto
Para que el ataque funcione, la víctima tendría que permitir que Claude acceda a carpetas sensibles, y el atacante tendría que engañarla para que suba un DOCX con prompt injection invisible
Además, el contenido de la inyección se muestra al usuario al generar la salida en Markdown
El atacante tendría que usar su propia API key, así que sería rastreable
Este ataque solo funciona en versiones antiguas de Haiku
Al final, parece que promptarmor está exagerando para vender
Nuestro equipo restringe la VM del agente para que solo se comunique con pip, npm y apt
Y también monitoreamos el tamaño de las solicitudes de salida para evitar exfiltraciones anómalas de datos
El triple problema de mal uso, filtración y autonomía de la IA no se resuelve bloqueando solo un lado
Incluso en solicitudes pequeñas se pueden codificar secretos, y una IA no alineada puede encontrar por sí sola esas rutas de filtración