CourionAI
ES
Boletín
← Todas las noticias
security 3 min de lectura

GitLost: unos investigadores engañan al agente de IA de GitHub para que filtre código privado

Un Issue de GitHub manipulado bastó para que el nuevo agente de flujos de trabajo de GitHub entregara datos de repositorios privados: un caso de libro de inyección de instrucciones, ya corregido.

Ilustración en estilo risografía de un robot que lee una nota fijada mientras unos hilos de marioneta ocultos guían su brazo para pasar una carpeta cerrada a través de una valla

Investigadores de seguridad de Noma Labs descubrieron una vulnerabilidad crítica en los nuevos Agentic Workflows de GitHub que permitía a un atacante extraer datos de repositorios de código privados sin levantar sospechas, simplemente publicando un Issue especialmente preparado en un repositorio público de la misma organización. Bautizaron el fallo como GitLost, lo comunicaron de forma responsable a GitHub y publicaron los detalles con conocimiento de la empresa.

Una rápida explicación. GitHub Agentic Workflows combina GitHub Actions, el sistema de automatización de GitHub que ejecuta tareas cuando sucede algo en un repositorio, con un agente de IA basado en Claude o GitHub Copilot. Los equipos describen lo que quieren mediante Markdown corriente, y el agente lee incidencias, llama a herramientas y responde por su cuenta. Un «Issue» es sencillamente un hilo público de comentarios en el que cualquiera puede informar de errores o hacer solicitudes. Y ese «cualquiera» es precisamente donde empieza el problema.

El ataque es lo que los expertos en seguridad denominan inyección indirecta de instrucciones: ocultar indicaciones maliciosas dentro de contenido que un agente de IA leerá más adelante. El agente no puede distinguir de forma fiable entre «instrucciones de mi operador» y «texto que acabo de leer en una incidencia», por lo que puede terminar obedeciendo al atacante. En este caso, el Issue de un desconocido sin autenticar podía dirigir a un agente con acceso a los repositorios privados de la organización y hacer que filtrara datos de manera discreta. No se descifró ninguna contraseña ni se vulneró ningún servidor. El agente sencillamente era demasiado confiado.

Lo que hay detrás es más grande que un solo fallo. Los investigadores de Noma plantean una comparación directa: la inyección de instrucciones se está convirtiendo para los agentes de IA en lo que la inyección SQL fue para las aplicaciones web; no es un error aislado, sino una debilidad sistemática que afecta a toda la categoría y exige defensas sistemáticas. Mientras los agentes estén diseñados por naturaleza para seguir instrucciones y lean contenido que pueden escribir desconocidos, este tipo de ataque seguirá reapareciendo. Merece la pena reproducir las recomendaciones de Noma para quienes desarrollan estos sistemas: nunca trates como instrucciones fiables el contenido controlado por usuarios, concede a los agentes los permisos mínimos que necesiten y limita lo que pueden publicar.

Qué significa esto para ti: Si solo utilizas chatbots de IA, no te afecta: el problema concierne a agentes conectados a sistemas reales y con permisos reales. Si tú o tu equipo utilizáis flujos de trabajo con agentes en cualquier lugar, GitHub u otro servicio, la lección es transferible: un agente solo es tan seguro como el texto menos fiable que lee. Revisa a qué pueden acceder tus agentes y da por hecho que todo lo que pueda escribir un desconocido, incidencias, correos electrónicos o campos de formularios, podría ser un ataque. El fallo concreto de GitLost ya se ha corregido, pero el patrón que lo hizo posible sigue ahí.

Fuentes

Fuentes: https://noma.security/blog/gitlost-how-we-tricked-githubs-ai-agent-into-leaking-private-repos/

Siguiente artículo

Los modelos GPT-5.6 de OpenAI se lanzan públicamente este jueves

Tras semanas de acceso restringido, GPT-5.6 Sol, Terra y Luna de OpenAI llegan al público el jueves, con victorias frente a Claude Mythos 5 en las pruebas y precios notablemente inferiores.

Ilustración en estilo risografía de un sol radiante, un pequeño planeta y una luna creciente que ascienden juntos sobre una puerta de salida abierta