La defensa solo detecta texto cifrado; Copilot interpreta la orden — nuevo ataque elude los filtros de IA

La defensa solo detecta texto cifrado; Copilot interpreta la orden — nuevo ataque elude los filtros de IA

El sentido dañino solo aparece cuando ya no queda nadie que pueda verificarlo.

image

El cifrado que normalmente protege los datos se ha convertido en una forma de ocultar comandos frente a los filtros de seguridad de IA. El equipo de Adversa AI demostró el ataque Cryptographic Context Injection contra GitHub Copilot CLI: una página maliciosa transmite instrucciones cifradas, y el agente las descifra en su propio entorno, las ejecuta como si fueran de confianza y actúa con los permisos de una herramienta local.

En la prueba publicada, un usuario ejecutó Copilot CLI en modo autopilot y pidió abrir una página web. Adversa AI informó que la página contenía texto cifrado, una instrucción para ejecutar Python y dos supuestas claves. Un filtro habitual solo veía el bloque cifrado y no podía evaluar el sentido del comando hasta que Copilot recuperó el texto en claro.

La primera «clave» en realidad servía como plantilla, para completar la cual el agente leía archivos locales, incluido .env.prod. Los secretos insertados en la plantilla quedaban almacenados en la cadena de la clave. La tentativa de descifrado se provocaba para que fallara, tras lo cual Copilot pasaba a la segunda clave, obtenía el texto real de la instrucción y enviaba los datos preparados a la siguiente URL.

La segunda petición contenía información leída del disco, por lo que los secretos se enviaron al servidor del atacante como parámetros de la solicitud. Según Adversa AI, toda la cadena duró 28 segundos y no requirió confirmación adicional tras la orden inicial de abrir la página. Esta inyección de instrucciones es más peligrosa que el engaño textual habitual, porque el contenido malicioso aparece solo dentro del entorno del agente.

El éxito del ataque dependió del modelo. Microsoft mai-code-1.1-flash ejecutó la cadena completa en el 50% de las ejecuciones de Adversa AI, mientras que dos modelos OpenAI GPT-5.6 se negaron a ejecutar el mismo escenario cifrado. Al seleccionar el modelo automáticamente, Copilot podía asignar distintos motores sin una decisión explícita del usuario, por lo que la misma petición producía resultados distintos.

Adversa AI envió un informe al programa GitHub Bug Bounty el 17 de septiembre. Según el equipo, GitHub revisó el informe pero rechazó considerarlo una vulnerabilidad del producto. La empresa considera que el usuario pide a Copilot que cargue contenido no confiable y autoriza acciones autónomas. El 1 de octubre Adversa AI aún reproducía la cadena en un modelo susceptible.

Los autores de la prueba recomiendan proteger no solo el texto de entrada, sino toda la secuencia de acciones del agente. El control debe vincular la carga de contenido no confiable, la ejecución de código, la lectura de archivos locales y la posterior salida a un dominio nuevo. Para el modo autónomo se propone confirmar por separado las conexiones externas y prohibir que el agente trabaje simultáneamente con contenido web abierto y secretos.