Специалисты Adversa AI назвали технику Cryptographic Context Injection — криптографической инъекцией контекста. Для воспроизведения атаки пользователь запускал GitHub Copilot CLI в режиме Autopilot и просил агента открыть подконтрольную исследователям веб-страницу.
На странице находился зашифрованный контент с инструкцией его расшифровать и двумя ключами. Один из них на самом деле был шаблоном, для заполнения которого агенту требовалось прочитать локальный файл. В эксперименте таким файлом стал .env.prod.
Прочитанные сведения попадали в создаваемый агентом ключ. Попытка расшифровки с его помощью завершалась неудачей, после чего Copilot переходил ко второму, настоящему ключу.
С его помощью агент расшифровывал скрытую инструкцию, которая заставляла GitHub Copilot CLI обратиться к другому URL. В параметры запроса добавлялось уже прочитанное содержимое локального файла, и секреты отправлялись на сервер исследователей.
По данным Adversa AI, весь эксперимент занял не более 28 секунд. Пользователь при этом не видел предупреждения или другого указания на то, что содержимое файла было отправлено за пределы его компьютера.
Исследователи подчеркнули, что целью эксперимента мог быть не только .env.prod, но и другие локальные файлы, к которым ИИ-агент имел доступ. Для разработчиков это особенно опасно, поскольку в environment-файлах часто хранятся ключи доступа, токены и другие учетные данные.