AHORA
Nuevo proyecto de Ley de Protección de Datos Personales en Argentina: análisis completo Colombia actúa donde Argentina falla: la SIC sanciona a empresa por filtración Microsoft patches récord: 570 vulnerabilidades corregidas en julio 2026 DGL Talent: primera firma de talento en datos, privacidad y ciber de LATAM Nuevo proyecto de Ley de Protección de Datos Personales en Argentina: análisis completo Colombia actúa donde Argentina falla: la SIC sanciona a empresa por filtración Microsoft patches récord: 570 vulnerabilidades corregidas en julio 2026 DGL Talent: primera firma de talento en datos, privacidad y ciber de LATAM

Copilot CLI ejecuta instrucciones ocultas en texto cifrado — GitHub rechaza tratarlo como falla

Una técnica de inyección criptográfica logró que el asistente de línea de comandos leyera archivos sensibles y los enviara a servidores externos en 28 segundos, sin confirmación del usuario.
Alerta

Una técnica de inyección criptográfica logró que el asistente de línea de comandos leyera archivos sensibles y los enviara a servidores externos en 28 segundos, sin confirmación del usuario.

Investigadores de Adversa AI demostraron que GitHub Copilot CLI puede ser manipulado para extraer archivos sensibles de la máquina de un desarrollador mediante una técnica que oculta instrucciones maliciosas dentro de contenido encriptado. El ataque, denominado Cryptographic Context Injection (CCI), aprovecha que el agente trata como contexto confiable las instrucciones que él mismo desencripta en su entorno de ejecución de código. En una prueba documentada, los investigadores lograron que Copilot leyera un archivo .env.prod conteniendo secretos y enviara su contenido a un endpoint controlado por atacantes. El proceso completo tomó 28 segundos, sin solicitar confirmación al usuario y sin que la transcripción del agente indicara el host de destino ni que el contenido del archivo había salido de la máquina.

Cómo el cifrado convierte instrucciones rechazadas en comandos ejecutables

El vector de ataque comienza cuando un usuario ejecuta Copilot CLI y le solicita obtener una URL. La página contiene instrucciones encriptadas que el agente debe desencriptar usando dos claves candidatas. Una de esas claves es legítima. La otra es una plantilla que solo puede completarse leyendo archivos de la máquina local. Copilot intenta preparar ambas claves, lo que implica leer los archivos objetivo y agregar su contenido a la plantilla. Esa lectura del archivo es el robo en sí. La clave reconstruida falla la desencriptación, pero ya cumplió su propósito. Copilot usa entonces la clave legítima, desencripta las instrucciones y ejecuta una segunda solicitud web que lleva el contenido previamente recolectado al servidor del atacante.

El punto crítico que Adversa AI señala en su disputa con GitHub es que Copilot rechaza las mismas instrucciones cuando se presentan en texto plano, pero las acepta después de haberlas encriptado y desencriptado dentro de su propio entorno de ejecución. GitHub validó el hallazgo pero rechazó tratarlo como vulnerabilidad, argumentando que el usuario había solicitado explícitamente a Copilot obtener contenido controlado por atacantes mientras le otorgaba permisos completos para actuar de forma autónoma. La compañía indicó que podría hacer la funcionalidad más restrictiva en el futuro, pero no anunció cambios concretos, y rechazó la elegibilidad del reporte para su programa de bug bounty.

El modelo de lenguaje determina si el ataque funciona o falla

La selección de modelo en Copilot puede cambiar el resultado del ataque. El modelo mai-code-1.1-flash de Microsoft ejecutó la cadena completa en el 50 por ciento de las ejecuciones de prueba realizadas por Adversa. Dos modelos GPT-5.6 ofrecidos a través de Copilot rechazaron consistentemente el mismo payload. Con la selección de modelo configurada en Auto, el modelo vulnerable fue asignado en algunas sesiones sin que el usuario eligiera o viera qué modelo estaba manejando el flujo de trabajo. Esta variabilidad introduce un factor de incertidumbre para el atacante, pero también para el usuario: no hay garantía de que el modelo asignado automáticamente sea el que rechaza instrucciones sospechosas.

El ataque no es un compromiso universal de un clic. Requiere que Copilot CLI esté ejecutándose en modo autopilot, que el usuario solicite contenido de una fuente no confiable y que el modelo asignado esté dispuesto a ejecutar las instrucciones desencriptadas. Pero dentro de esas condiciones, la técnica funciona sin dejar rastro visible en la transcripción del agente. El usuario no ve el nombre del host de destino ni recibe indicación de que el contenido de un archivo local fue enviado fuera de la máquina.

Por qué desarrolladores en Argentina, México y Brasil quedan expuestos sin saberlo

El impacto de esta técnica en América Latina está vinculado a la adopción acelerada de herramientas de asistencia de código en equipos de desarrollo de la región. Empresas de fintech en Brasil, startups de tecnología en Argentina y equipos de desarrollo en México han integrado Copilot en flujos de trabajo de producción sin políticas claras sobre qué modelos se usan ni bajo qué condiciones el agente puede ejecutar código de forma autónoma. La configuración Auto de selección de modelo, que asigna el backend sin intervención del usuario, significa que un desarrollador en Buenos Aires o Ciudad de México puede estar trabajando con el modelo vulnerable mai-code-1.1-flash sin saberlo, mientras otro en el mismo equipo obtiene un modelo GPT-5.6 que rechaza el mismo payload. No hay visibilidad de qué modelo maneja cada sesión cuando la selección es automática.

Publicidad728×90 — In-Article

La falta de controles granulares sobre qué contenido externo puede solicitar un agente en modo autopilot y qué archivos locales puede leer sin confirmación explícita deja a equipos de desarrollo en la región expuestos a un vector de ataque que no requiere explotación de vulnerabilidades tradicionales de software, sino manipulación del contexto que el agente considera confiable. Adversa AI recomienda que los defensores busquen secuencias sospechosas de acciones alrededor de un payload encriptado: contenido web no confiable ingresa al agente, se ejecuta código, se leen archivos locales y el agente realiza posteriormente una conexión saliente no relacionada.

Nuestro análisis

GitHub rechazó tratar este hallazgo como vulnerabilidad porque, desde su perspectiva, el usuario solicitó explícitamente a Copilot obtener contenido controlado por atacantes mientras le otorgaba permisos completos para actuar de forma autónoma. Esa lectura del incidente coloca toda la responsabilidad en el usuario y trata el comportamiento del agente como esperado dentro de los permisos otorgados. Pero esa posición no explica por qué el mismo conjunto de instrucciones es rechazado cuando se presenta en texto plano y aceptado cuando se presenta encriptado. La diferencia no está en los permisos del usuario ni en la fuente del contenido, sino en cómo el agente evalúa la confiabilidad del contexto después de haberlo procesado él mismo. Esa asimetría sugiere que el agente no está aplicando el mismo nivel de escrutinio a las instrucciones que desencripta dentro de su propio entorno de ejecución que a las que recibe directamente en texto plano.

El patrón que emerge de este caso es similar al que ya se ha visto en otros ataques de inyección de contexto contra agentes de IA: el agente trata como confiable cualquier contenido que haya procesado o transformado, incluso si ese contenido proviene de una fuente no confiable. La técnica de Cryptographic Context Injection no explota una falla de implementación específica de Copilot CLI, sino una característica de diseño de cómo los agentes de IA evalúan la confiabilidad del contexto. GitHub indicó que podría hacer la funcionalidad más restrictiva en el futuro, pero no anunció cambios concretos ni un cronograma. Mientras tanto, la técnica funciona en producción con el modelo mai-code-1.1-flash en el 50 por ciento de las ejecuciones, y la selección automática de modelo puede asignar ese backend sin que el usuario lo sepa. ¿Qué pasaría si esta técnica se combina con otros vectores de inyección de contexto ya documentados en agentes de IA, y cuántos equipos de desarrollo en la región están ejecutando Copilot CLI en modo autopilot sin políticas claras sobre qué contenido externo puede solicitar?

Publicidad728×90 — In-Article
Publicidad300×250 — Medium Rectangle

El briefing semanal

Seguridad, privacidad e IA en LATAM. Curado por expertos, gratis cada semana.

Publicidad300×600 — Half Page
Publicidad970×90 — Leaderboard