Hay una escena que se repite en muchos repositorios hoy: alguien abre un issue, un agente de IA conectado al pipeline lo lee, lo clasifica, propone un fix o abre un pull request. Es cómodo y ahorra horas. También es, como mostró 2026, una de las superficies de ataque más subestimadas del desarrollo de software.
Un patrón que fue escalando
En abril de 2026, el ingeniero de seguridad Aonan Guan y colaboradores de Johns Hopkins documentaron un patrón al que llamaron «Comment and Control»: la acción de revisión de seguridad de Claude Code, la GitHub Action de Gemini CLI y el agente de Copilot procesaban títulos de PR, cuerpos de issues e incluso comentarios HTML ocultos como instrucciones legítimas.
Antes, en febrero, el incidente Clinejection había mostrado que no era teoría: según la Cloud Security Alliance, el título de un solo issue malicioso desencadenó una cadena de cuatro vulnerabilidades que terminó en un compromiso de la cadena de suministro del paquete npm de Cline, disponible durante unas ocho horas antes de ser retirado.
En junio, Microsoft Threat Intelligence publicó otro hallazgo: en la Claude Code GitHub Action, el entorno de los subprocesos como Bash se depuraba, pero la herramienta de lectura no seguía el mismo modelo de sandbox y podía llegar a leer /proc/self/environ, donde vivía la ANTHROPIC_API_KEY del workflow. Anthropic lo mitigó en la versión 2.1.128 bloqueando el acceso a esos archivos.
CVE-2026-54316: exfiltrar con contadores de descarga
En Black Hat USA 2026, investigadores de Novee Security llevaron el patrón un paso más allá. Una cuenta de GitHub sin permisos de escritura y sin relación con los mantenedores podía abrir un único issue y alcanzar credenciales de los agentes conectados al CI. Mostraron cadenas funcionales contra Claude Code, Gemini CLI y Codex.
El caso de Claude Code recibió el identificador CVE-2026-54316 y es de una creatividad inquietante. El agente tenía acceso preaprobado a Hugging Face. El contenido inyectado lo llevaba a hacer peticiones a un repositorio controlado por el atacante, codificando la información robada en esas peticiones; el atacante reconstruía los datos observando los contadores de descarga. Carácter por carácter.
La filtración no necesitó un dominio sospechoso. Usó uno que el sistema ya consideraba de confianza.
En Gemini CLI, CVE-2026-12537 recibió la puntuación máxima CVSS v4 de 10.0 por permitir ejecución arbitraria de comandos en el host de CI antes de que el sandbox del agente siquiera se inicializara.
La raíz del problema
Si quitamos los nombres propios, el patrón es siempre el mismo: un agente con credenciales elevadas que ingiere contenido no confiable y tiene algún canal de salida. Cualquiera de esas tres condiciones, sola, es manejable. Las tres juntas son una cadena de suministro abierta al público.
Lo que recomiendo revisar esta semana
- Separar el agente que lee contenido público del job que tiene secretos: el primero propone, el segundo ejecuta solo tras revisión.
- Eliminar secretos del entorno del agente cuando no los necesita, y usar tokens de corta duración con permisos mínimos.
- Revisar las listas de dominios preaprobados: un destino «confiable» donde cualquiera puede crear repositorios es un canal de exfiltración.
- No disparar agentes automáticamente con issues o PRs de cuentas externas sin una etiqueta o aprobación humana.
- Actualizar las acciones de agentes a las versiones parchadas y fijar sus versiones.
Reflexión
Lo que más me interesa de esta historia es su lado cultural. Durante años aprendimos a desconfiar del código de terceros: revisamos dependencias, fijamos versiones, escaneamos vulnerabilidades. Pero el texto de un issue lo seguimos viendo como conversación, no como código. Con agentes en el pipeline, esa distinción desaparece. El texto que tu agente lee es parte de tu cadena de suministro, y hay que tratarlo con la misma seriedad.
Fuentes
- Cloud Security Alliance — «Comment and Control: When a GitHub Issue Steals CI Secrets» (7 ago 2026): https://labs.cloudsecurityalliance.org/research/csa-research-note-ai-coding-agent-ci-prompt-injection-202608/
- Cloud Security Alliance — «AI Agent Prompt Injection: The New CI/CD Supply Chain Threat» (5 jun 2026): https://labs.cloudsecurityalliance.org/research/csa-research-note-claude-code-github-action-prompt-injection/
- Microsoft Security Blog (5 jun 2026): https://www.microsoft.com/en-us/security/blog/2026/06/05/securing-ci-cd-in-agentic-world-claude-code-github-action-case/
- Agent post-mortems — CVE-2026-54316: https://swarmproof.github.io/agent-postmortems/2026-claude-code-ci-hf-exfiltration/
- Seguridad en IA
- CI/CD
- Agentes
Recibe los nuevos artículos
Un correo cuando publico algo nuevo sobre IA aplicada, producto y sistemas en producción. Sin ruido.
Comentarios
- Todavía no hay comentarios. Sé el primero.