Un flujo tóxico de agente con GitHub MCP filtra repositorios privados mediante una incidencia pública
Invariant Labs demostró que una incidencia pública maliciosa de GitHub puede dirigir a un agente que usa el servidor GitHub MCP para copiar datos de un repositorio privado en un pull request público.
Qué ocurrió
El 26 de mayo de 2025, Invariant Labs hizo público lo que denominó un flujo tóxico de agente relacionado con el servidor GitHub MCP. Un atacante abre un issue en un repositorio público y lo rellena con instrucciones dirigidas al agente. Cuando el agente lee más tarde los issues abiertos, incorpora el texto malicioso y lo sigue.
El token del agente también podía dar acceso a los repositorios privados del propietario. Siguiendo las instrucciones del issue, el agente extrajo datos de esos repositorios privados y los publicó en un pull request del repositorio público, donde cualquiera podía leerlos.
Por qué funcionó
Los tres elementos de la tríada letal coincidían en una misma sesión: un token con acceso a repositorios privados, texto no confiable procedente de un issue público y un pull request público como vía de salida. Cada elemento es corriente por separado. Juntos permiten que cualquiera que pueda abrir un issue lea todo lo que el token puede leer.
Qué hacer
- Asigna a los agentes que leen issues públicos un token limitado a ese único repositorio.
- Mantén los repositorios públicos y privados en sesiones de agente separadas.
- Exige aprobación antes de que el agente abra pull requests, publique comentarios o cree commits en repositorios públicos.
- Trata los títulos, el contenido y los comentarios de los issues como entradas no confiables.
Rompe la trifecta letalUsa credenciales con privilegios mínimosExige aprobación para las acciones con consecuencias
EchoLeak: robo de datos sin clics en Microsoft 365 Copilot
Envenenamiento de herramientas MCP: instrucciones ocultas en las descripciones
Sigue la lista de comprobación de seguridad →