Ir al contenido principal
Cerrar
Seguridad

Claude Code: 6 Divulgaciones, 1 Ataque Real, 1 Enfermedad

Gabriel Ferraresi· CEO | Tech86June 17, 20266 min
claude-codeseguridadsupply-chainci-cdprompt-injection

Una vulnerabilidad estructural en el Claude Code GitHub Action generó 6 divulgaciones separadas, 1 fuga de código fuente, 1 ataque real a la cadena de suministro (supply chain), y el problema sigue sin solución. No estamos hablando de un bug aislado. Estamos hablando de una clase de vulnerabilidad que cada parche específico deja intacta.

El bypass del sandbox: la ANTHROPIC_API_KEY en texto plano

Microsoft publicó el 5 de junio: el Read tool de Claude Code hacía llamadas in-process directas, eludiendo el entorno aislado (sandbox) Bubblewrap que protegía al Bash tool. El resultado era directo: cualquier inyección de prompt (prompt injection) en una issue o PR podía leer /proc/self/environ y exfiltrar la ANTHROPIC_API_KEY en texto plano (plaintext).

Microsoft construyó un payload que derrotó DOS defensas simultáneamente. El filtro de Claude se niega a imprimir claves que comienzan con sk-ant-: el payload instruía "corta los primeros 7 caracteres", lavando la salida. El GitHub Secret Scanner no lo detectó porque el LLM modificó la clave antes del stdout. El atacante la reconstruye anteponiendo sk-ant-. Según Microsoft, el bypass era trivial.

El detalle que preocupa no es solo la exfiltración en sí. Es que dos capas de defensa diseñadas específicamente para impedir ese escenario fueron derrotadas por un payload de lenguaje natural. El filtro de contenido de Claude y el GitHub Secret Scanner, ambos activos, ambos funcionando según lo diseñado, fallaron porque el LLM actuó como intermediario que transformó la clave antes de que cualquier detector pudiera reconocerla. Es un nuevo tipo de amenaza: el propio agente de IA es el mecanismo de evasión.

Pero esto es solo la punta. La cascada de divulgaciones revela que el problema es sistémico.

La cascada: 6 divulgaciones, 5 vectores

1. RyotaK (GMO Flatt Security, junio): 50 formas de evadir el permission system. Un bot falso con nombre terminado en [bot] recibía auto-confianza de la action. Robaba OIDC tokens y obtenía installation token con escritura total. Parche: v1.0.94. Bounty: $4.800, según el programa de bug bounty.

2. Aonan Guan (JHU, "Comment and Control", abril): mismo patrón en Claude Code, Gemini CLI Action y Copilot Agent. Claude Code: CVSS 9.4 atribuido por Anthropic (inicialmente 9.3, después 9.4). Anthropic lo rebajó a "None". Bounty: $100. Google: $1.337. GitHub: $500.

3. Clinejection (febrero): ataque REAL a la supply chain. El Cline usaba claude-code-action con allowed_non_write_users: "*". Según Adnan Khan (Clinejection, febrero), un atacante explotó inyección de prompt en el workflow de triage, envenenó el cache de GitHub Actions (técnica "Cacheract") y robó el npm publish token, publicando [email protected] no autorizado con un postinstall que instalaba openclaw. La configuración permisiva allowed_non_write_users: "*" fue el patrón que facilitó el ataque. Según StepSecurity, fueron 4 mil descargas en 8 horas.

4. Fuga de código (marzo): Anthropic filtró 512 mil líneas del Claude Code vía mapa de código fuente (source map) en npm. Según Trend Micro y Zscaler, los atacantes weaponizaron la filtración en 24 horas con repositorios falsos que distribuían Vidar stealer y GhostSocks proxy malware, disfrazados de "Claude Code con enterprise features desbloqueadas". La filtración no fue una divulgación de seguridad: fue un error operacional que expuso la lógica interna de la herramienta y dio a los atacantes el mapa completo para construir exploits más sofisticados.

5. HackerBot-Claw (febrero): primer caso documentado de IA atacando IA en CI/CD. Un agente autónomo (Claude Opus 4.5, según la autodescripción del bot) intentó prompt-inyectar otro agente vía CLAUDE.md envenenado. Claude detectó el intento. De los 7 objetivos, 5 fueron comprometidos por vectores tradicionales de CI/CD (shell injection, cache poisoning, script injection). El único ataque de IA contra IA fue detectado y bloqueado. Pero la tasa de compromiso del 71% muestra que las defensas convencionales fallaron sistemáticamente, y la detección por IA, aunque eficaz en el único caso probado, no es garantía contra vectores no-IA.

6. CVE-2026-47751 (junio): según el GitHub Advisory Database (reportado vía HackerOne por reptou), un atacante abre un PR con un .mcp.json malicioso, Claude Code lo carga y obtiene ejecución remota de código (RCE). Tercer vector distinto de compromiso. El MCP (Model Context Protocol) fue diseñado para extender las capacidades de los agentes, pero sin validación de origen, cualquier archivo de configuración se convierte en un vector de ejecución arbitraria.

Supply chain: el ataque que no era teórico

El Clinejection merece atención especial porque fue un ataque real con impacto medible. El Cline, una extensión de IA para VS Code, usaba claude-code-action con allowed_non_write_users: "*". Según Adnan Khan (Clinejection, febrero), un atacante explotó inyección de prompt en el workflow de triage, envenenó el cache de GitHub Actions (técnica "Cacheract") y robó el npm publish token, publicando [email protected] no autorizado con un postinstall que instalaba openclaw. La configuración permisiva allowed_non_write_users: "*" fue el patrón que facilitó el ataque. Según StepSecurity, fueron 4 mil descargas en 8 horas antes de la remoción.

El patrón es familiar para quien sigue los ataques a la supply chain en ecosistemas de paquetes: comprometer una cuenta de publicación, inyectar código en una versión legítima, distribuir antes de la detección. La diferencia es que el vector de entrada fue una configuración permisiva en una GitHub Action de IA, no un credential stuffing ni phishing. El atacante no necesitó romper la autenticación de npm. La action de IA entregó el token.

En Tech86 vimos este patrón repetirse en auditorías de infraestructura: configuraciones permisivas en herramientas de automatización que funcionan como puertas laterales. El allowed_non_write_users: "*" es el equivalente funcional de un chmod 777: conveniente para pruebas, catastrófico en producción.

El parche cubre el síntoma, no la enfermedad

El parche de Microsoft (v2.1.128, mayo) bloqueó /proc/ en el Read tool. Según Microsoft, es un fix específico. No estructural. La clase de vulnerabilidad sigue abierta.

Cada divulgación reveló un vector diferente (sandbox bypass, permission system, supply chain, source map leak, IA-vs-IA, MCP RCE), pero todos comparten la misma raíz: un agente de IA con input no confiable, acceso a secrets y comunicación externa, simultáneamente. El parche bloquea un camino. El atacante encuentra otro.

La discrepancia en los bounties es reveladora. Anthropic pagó $100 por un CVSS 9.4. Google pagó $1.337 por el mismo patrón. GitHub pagó $500. Cuando el bounty no refleja la severidad, los investigadores pierden el incentivo para reportar responsablemente.

La Agents Rule of Two: principio sin enforcement

Meta formuló la regla: un workflow de IA nunca debe tener los 3 simultáneamente, (1) input no confiable, (2) acceso a secrets, (3) comunicación externa. Microsoft respaldó el principio. Pero el respaldo no es enforcement.

Según Microsoft, "estamos entrando en una era donde el lenguaje natural es código ejecutable, y los inputs no confiables como las GitHub issues deben tratarse como hostiles por defecto." La declaración es correcta. Pero sin validación automática en el pipeline que impida la coexistencia de los tres factores, la regla depende de disciplina manual. Y la disciplina manual falla a escala.

En Tech86 aplicamos este principio en la práctica: nuestro EDR gestionado monitorea comportamiento de agentes de IA en CI/CD, acceso a secrets, comunicación externa inesperada, ejecución de comandos fuera del patrón. Cuando el aislamiento arquitectural falla, la detección conductual es la última línea de defensa. Seis divulgaciones en meses muestran que contar solo con el sandbox no es suficiente.

Continúa en el tema

Segurança de Agentes de IA: Prompt Injection, Worms e Supply Chain →

¿Interesado en esta solución?

Conoce nuestros servicios gestionados e infraestructura.

Conozca EDR Gestionado

Preguntas Frecuentes

El Read tool de Claude Code hacía llamadas in-process directas, eludiendo el sandbox Bubblewrap que protegía al Bash tool. Según Microsoft, cualquier prompt injection en una issue o PR podía leer /proc/self/environ y exfiltrar la ANTHROPIC_API_KEY en texto plano (plaintext). El problema es arquitectural: el sandbox protegió una herramienta, pero no la otra.

En febrero, el Cline usaba claude-code-action con allowed_non_write_users: "*". Según Adnan Khan (Clinejection, febrero), un atacante explotó inyección de prompt en el workflow de triage, envenenó el cache de GitHub Actions (técnica "Cacheract") y robó el npm publish token, publicando [email protected] no autorizado con un postinstall que instalaba openclaw. La configuración permisiva allowed_non_write_users: "*" fue el patrón que facilitó el ataque. Según StepSecurity, fueron 4 mil descargas en 8 horas. Fue un ataque REAL a la supply chain, no teórico.

El parche v2.1.128 (mayo, según Microsoft) bloqueó /proc/ en el Read tool. Es un fix específico, no estructural. La clase de vulnerabilidad sigue abierta: 6 divulgaciones, 5 vectores distintos y 1 ataque real demuestran que el problema es arquitectural, no puntual.

Según Meta, un workflow de IA nunca debe tener simultáneamente: (1) input no confiable, (2) acceso a secrets y (3) comunicación externa. Microsoft respaldó el principio. Pero el respaldo no es enforcement: sin validación automática en el pipeline, la regla depende de disciplina manual.

Blog, Contáctanos

¿Tienes alguna pregunta sobre nuestros artículos o servicios? Nuestro equipo está listo para ayudarte.

Agendar Reunión

Reserva un horario.

Agendar Ahora

Correo Electrónico

Envía un mensaje.

[email protected]

WhatsApp

Conversación rápida.

Dirección

Avenida Paulista, 1636 - São Paulo - SP - 01310-200

Especialista Tech86

En línea ahora

¡Hola! ¿Cómo podemos ayudar a escalar tu negocio hoy?

Tech86 Engineering

Valoramos tu privacidad

Utilizamos cookies y tecnologías similares para optimizar tu experiencia, analizar el tráfico del sitio web y personalizar contenido. Al hacer clic en "Aceptar Todos", aceptas el uso de todas las cookies. Lee nuestra Política de Privacidad.