Alerta: prompt injection en agentes de GitHub filtró credenciales en Claude, Gemini y Copilot
Un equipo de investigadores de seguridad demostró una prompt injection en agentes de GitHub capaz de secuestrar flujos automatizados en GitHub Actions y exfiltrar secretos (API keys y access tokens) desde el propio entorno de ejecución. El trabajo afecta a integraciones populares como Claude Code Security Review (Anthropic), Gemini CLI Action (Google) y GitHub Copilot Agent (Microsoft/GitHub), y pone el foco en un riesgo sistémico: los agentes leen contenido controlable por terceros (títulos de pull requests, issues y comentarios) y lo incorporan al contexto operativo que luego dispara acciones y publicaciones dentro del repositorio.
Según el investigador Aonan Guan, algunos usuarios podrían seguir anclados a versiones vulnerables, y la falta de avisos públicos o identificadores tipo CVE en estas incidencias complica la gestión del riesgo y la trazabilidad en entornos empresariales. Los investigadores reportaron los fallos a los tres proveedores y recibieron recompensas (bug bounties), pero no constan comunicados de seguridad públicos asociados en el momento descrito por la investigación.
Qué implica la prompt injection en agentes de GitHub
La prompt injection en agentes de GitHub descrita se apoya en un patrón operativo común: el agente consume datos del repositorio (títulos de PR, texto de issues, comentarios y otros metadatos), los trata como “contexto” y, a partir de ahí, toma decisiones y ejecuta herramientas. Si un atacante logra insertar instrucciones maliciosas en ese contenido, puede inducir al agente a ejecutar comandos o a revelar secretos que estén disponibles en el runner o en el contexto del workflow.
El punto crítico es que el canal de exfiltración no necesita infraestructura externa: las credenciales pueden aparecer como salida del agente publicada en un comentario o en el artefacto textual del propio flujo, dejando el robo de secretos “encapsulado” dentro de GitHub. En escenarios con permisos elevados o secretos amplios (repositorio u organización), el impacto potencial crece de forma significativa.
Productos afectados y cómo se materializa el ataque
Anthropic: Claude Code Security Review
En Claude Code Security Review, los investigadores demostraron que un payload en el título de un pull request podía inducir al agente a ejecutar comandos mediante herramientas disponibles (por ejemplo, ejecución de Bash) y a publicar la salida como parte del reporte. Posteriormente, el mismo patrón se utilizó para provocar filtración de secretos, donde el atacante escribe el payload (por ejemplo, en el título) y lee el resultado en el comentario generado por el bot.
Anthropic actualizó su documentación para advertir que la Action no está endurecida contra prompt injection y recomienda limitar su uso a PRs confiables, además de ajustar la configuración de GitHub para requerir aprobación a contribuciones externas antes de ejecutar workflows. Referencias oficiales: Repositorio oficial de Claude Code Security Review (Anthropic) y Documentación de GitHub Actions sobre control de workflows.
Google: Gemini CLI Action
En Gemini CLI Action, el equipo describió una escalada basada en insertar instrucciones maliciosas en contenido de issues y comentarios, llegando a construir secciones “confiables” falsas para intentar sobreescribir instrucciones de seguridad y forzar la publicación de secretos como la GEMINI_API_KEY. Referencia oficial: Repositorio oficial run-gemini-cli (Google).
Microsoft/GitHub: GitHub Copilot Agent
El caso de GitHub Copilot Agent resulta especialmente relevante por su naturaleza autónoma (SWE agent) y por operar con capas de seguridad adicionales a nivel de runtime. De acuerdo con la investigación, se emplearon instrucciones ocultas en comentarios HTML dentro de Markdown (invisibles al renderizado humano) para disparar el comportamiento del agente una vez que la issue era asignada a Copilot, y se reportó bypass de medidas como filtrado de entorno, secret scanning y firewall de red.
“Comment-and-control”: por qué esta técnica eleva el riesgo
Guan denomina el patrón como “comment-and-control”, en analogía con “command-and-control”, porque el control y la exfiltración pueden mantenerse dentro de GitHub sin servidores externos. La diferencia clave frente a la indirect prompt injection clásica, según el análisis, es la automatización: los workflows pueden dispararse de forma proactiva ante eventos (abrir PR, crear issue, comentar), lo que reduce fricción para el atacante y acelera la ventana de explotación.
El hallazgo sugiere que este problema podría ser más amplio que los tres casos demostrados, y potencialmente aplicable a otros agentes y automatizaciones integradas con GitHub Actions (por ejemplo, integraciones de Slack/Jira, agentes de email o despliegues) siempre que consuman texto controlable por usuarios no plenamente confiables y tengan acceso a secretos o herramientas sensibles.
Relevancia para empresas: gobernanza de secretos y permisos
Más allá de un bug puntual, el incidente reabre el debate sobre el modelo de confianza al conectar agentes a repositorios con secretos y permisos de escritura. La superficie de ataque incluye: (1) entradas de texto no confiables, (2) herramientas habilitadas al agente (por ejemplo, ejecución de shell), (3) alcance de secretos expuestos al runner, y (4) mecanismos de publicación del resultado (comentarios, logs, artefactos). En la práctica, cualquier combinación de estos factores puede convertir una automatización “útil” en un vector de exfiltración.
En este contexto, el trabajo subraya que los controles a nivel de modelo (guardrails en LLMs) no bastan si el diseño del workflow permite que el agente trate instrucciones externas como parte del contexto operativo y disponga de secretos o herramientas más allá de lo estrictamente necesario.
Qué se sabe sobre divulgación y respuesta
La investigación indica que los tres proveedores pagaron bug bounties y que, al menos en el caso de Anthropic, se añadieron advertencias explícitas en documentación. Sin embargo, también se señala la ausencia de avisos públicos y asignaciones de CVE, lo que puede dificultar a equipos de seguridad (AppSec/DevSecOps) evaluar exposición, priorizar mitigaciones y auditar repositorios con versiones fijadas (pinned) o configuraciones heredadas.
La investigación original fue publicada por Aonan Guan y colaboradores, con detalles técnicos adicionales: Publicación técnica “Comment-and-Control prompt injection”.
Cierre
El caso de prompt injection en agentes de GitHub muestra cómo la automatización basada en LLMs puede transformar texto aparentemente inofensivo (un título de PR o un comentario) en un canal de ejecución y fuga de secretos. Para la industria, el mensaje es claro: integrar agentes en pipelines de CI/CD sin una política estricta de permisos, secretos y entradas confiables convierte a GitHub Actions en un objetivo de alto valor, con un radio de impacto que puede ir mucho más allá de un solo repositorio.



