6 puntos por GN⁺ 2026-01-15 | 2 comentarios | Compartir por WhatsApp
  • 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
  1. El usuario conecta a Cowork una carpeta local que contiene archivos inmobiliarios confidenciales
  2. 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
  3. El usuario le pide a Cowork analizar archivos usando el “Skill” subido
  4. 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
  5. 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

 
laeyoung 2026-01-15

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.

 
GN⁺ 2026-01-15
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

    • No lo recomendaría porque es riesgoso si el servicio de escaneo de tokens de GitHub se cae
      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
    • Se siente como jugar ajedrez con hackers
    • Uno podría simplemente revocar la clave directamente desde la consola de Anthropic, así que no entiendo por qué hacerlo tan complicado
    • Me parece una solución bastante ingeniosa, nunca había oído de algo así
    • Pero si el atacante roba archivos y los mueve a su propia cuenta de Anthropic, al final eso significaría que todo el mundo podría acceder a esa cuenta, lo cual es peligroso
  • 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

    • Es como la situación de “oso inteligente vs bote de basura que no se puede abrir”
    • Pero no todos los usuarios piensan así
      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”

    • La comparación es interesante, pero no del todo exacta
      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
    • Me pregunto si no se podría resolver como el SQL injection, con sanitización de entradas (input sanitization)
      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
    • El problema más de fondo es que puede que esto no se resuelva ni siquiera con mayor inteligencia
      De hecho, mientras más inteligente se vuelva la IA, mayor podría ser el riesgo
    • Yo estoy experimentando con un patrón de Prepared Statement para agentes
      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

    • La mayoría usa la analogía de “SQL injection”, pero en realidad yo diría que se parece más a un ataque de phishing
      Por ejemplo, si creas una “abuelita bot” para que te ordene el correo, podría caer en un correo fraudulento del príncipe nigeriano
    • Al final, no es muy distinto de decir: “si quieres usar este producto de forma segura, mejor no lo uses
  • 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

    • Pero ellos también tienen el incentivo de vender productos mediante marketing del miedo
      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

    • Pero eso no es una solución de fondo
      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
    • Es un enfoque interesante, aunque me pregunto si un atacante también podría subir el codebase del usuario como paquete