Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon GitHub Copilot explotado para tomar control total de repositorios mediante inyección pasiva de prompts


Una vulnerabilidad crítica impulsada por IA en GitHub Codespaces, denominada RoguePilot, permitió a los atacantes secuestrar silenciosamente un repositorio al incrustar instrucciones maliciosas dentro de un Issue de GitHub. La falla, descubierta por investigadores del Orca Research Pod, explota la integración fluida entre GitHub Issues y el agente de IA Copilot dentro de Codespaces, sin requerir interacción directa del atacante 





Una vulnerabilidad crítica impulsada por IA en GitHub Codespaces, llamada RoguePilot, permitió a los atacantes secuestrar silenciosamente un repositorio al incrustar instrucciones maliciosas dentro de un Issue de GitHub.

El fallo, descubierto por investigadores del Orca Research Pod, explota la integración fluida entre GitHub Issues y el agente de IA Copilot dentro de Codespaces, sin requerir interacción directa del atacante para desencadenar una toma completa del repositorio.

La vulnerabilidad fue reportada de manera responsable a GitHub, y Microsoft ya la ha parcheado tras esfuerzos coordinados de remediación con el equipo de Orca.

 

Cómo funciona el ataque a GitHub Copilot

RoguePilot se clasifica como una Inyección Pasiva de Prompts, una variante en la que instrucciones maliciosas se incrustan dentro de datos, contenido o entornos de desarrollo que un modelo de lenguaje procesa automáticamente.

A diferencia de la inyección de prompts tradicional, que requiere que la víctima interactúe directamente con la IA, este ataque se activa en el momento en que un desarrollador abre un Codespace desde un Issue envenenado. Cuando se lanza un Codespace desde el contexto de un Issue, GitHub Copilot recibe automáticamente la descripción del Issue como prompt inicial, creando una vía directa de inyección desde contenido no confiable controlado por el usuario hacia el contexto de ejecución del agente de IA.

Cadena de ataque

El investigador Roi Nisimi de Orca Security demostró la cadena de explotación incrustando instrucciones ocultas dentro de un Issue de GitHub usando etiquetas de comentarios HTML (<!-- -->), una función estándar de GitHub que hace que el contenido sea invisible para los lectores humanos, pero que Copilot puede leer completamente al procesar la descripción del Issue.

Una vez abierto el Codespace, Copilot cumplió silenciosamente con las instrucciones inyectadas sin generar ninguna alerta visible para el desarrollador.

El ataque avanza a través de una cadena de exfiltración en tres etapas. Primero, el prompt inyectado instruye a Copilot a ejecutar gh pr checkout 2 mediante su herramienta run_in_terminal, incorporando una solicitud de extracción (pull request) preelaborada que contiene un enlace simbólico llamado 1.json que apunta a /workspaces/.codespaces/shared/user-secrets-envs.json —el archivo que alberga el GITHUB_TOKEN del entorno.

Como los mecanismos de protección de Copilot no siguen enlaces simbólicos, el agente lee el archivo de secretos a través del enlace usando su herramienta file_read sin activar las restricciones de límites del espacio de trabajo.

Finalmente, se instruye a Copilot para crear un nuevo archivo JSON, issue.json, con una propiedad $schema que apunta a un servidor controlado por el atacante, explotando la configuración predeterminada de VS Code json.schemaDownload.enable, que descarga automáticamente esquemas JSON remotos mediante HTTP GET.

El atacante adjunta el GITHUB_TOKEN robado como parámetro de URL en esta solicitud de esquema, lo que resulta en la exfiltración silenciosa del token de autenticación privilegiado. Con un GITHUB_TOKEN válido con alcance al repositorio, el atacante obtiene acceso completo de lectura y escritura, completando así un secuestro sigiloso del repositorio.

Orca Security describe a RoguePilot como una nueva clase de ataque a la cadena de suministro mediado por IA, donde las capacidades agentivas de un LLM, el acceso a terminales, la lectura/escritura de archivos y las herramientas conectadas a la red se utilizan como armas contra el mismo desarrollador al que la IA está destinada a ayudar.

La vulnerabilidad demuestra que Copilot, al operar como un agente de codificación autónomo dentro de Codespaces, no puede distinguir de manera confiable entre una instrucción legítima de un desarrollador y contenido adversarial incrustado en un Issue o pull request de GitHub.

El ataque no requirió privilegios especiales, ni ejecución de código por parte de la víctima, ni ingeniería social más allá de crear un Issue malicioso, lo que lo sitúa al alcance de actores de amenazas con baja sofisticación.

Los expertos en seguridad señalan que esto es una consecuencia directa de otorgar a los agentes de IA permisos de "modo Dios", herramientas, acceso a terminales y tokens privilegiados, mientras el modelo subyacente sigue operando con una lógica de "libro abierto" que trata todo el texto procesado como potencialmente confiable.

La divulgación de Orca recomienda que los proveedores adopten configuraciones predeterminadas seguras en todas las herramientas de desarrollo integradas con LLM: tratar el contenido de repositorios, issues y pull requests como entrada no confiable; desactivar el prompting pasivo de agentes de IA desde fuentes de datos externas; establecer json.schemaDownload.enable en false por defecto; aplicar un sandboxing estricto de enlaces simbólicos dentro de los límites del espacio de trabajo; y emitir tokens de corta duración y con alcance mínimo para los entornos de Codespaces.



Fuentes:
https://cybersecuritynews.com/github-copilot-exploited



0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.