GitHub Copilot CLI в тестах передал секреты после чтения зашифрованных инструкций

Изображение: OpenAI
GitHub Copilot CLI передал секреты разработчика злоумышленнику в тестах исследователей безопасности из Adversa AI после чтения страницы с зашифрованными инструкциями. По данным The Register, модель Microsoft mai-code-1.1-flash выполнила всю цепочку атаки в половине попыток, а обе модели OpenAI GPT-5.6 отказались её выполнять.
Атака срабатывает, если агент работает в режиме автопилота, который в Copilot CLI включают по желанию, а пользователь сам попросил прочитать подготовленную злоумышленником страницу. Многое зависит от модели. На платном аккаунте исследователей уязвимую модель пришлось выбрать вручную, но при автоматическом выборе сервис в одних сеансах назначал уязвимую модель, в других устойчивую, и пользователь не видит, какая из них работает.
Страница предлагает агенту расшифровать содержимое с помощью Python и даёт два ключа. Первый ключ поддельный: чтобы собрать его, агент читает локальные файлы, например .env, и добавляет секреты в строку ключа. После неудачной попытки он использует второй ключ и получает инструкции открыть ещё один URL якобы для дополнительного контекста. Адрес содержит собранные секреты, и запрос передаёт их злоумышленнику.
Исследователи называют приём внедрением криптографического контекста (Cryptographic Context Injection), ту же уязвимость два месяца назад нашли в Grok. Защитные фильтры читают текст, но не выполняют его, поэтому зашифрованные инструкции проходят мимо них, а расшифровывает их сам агент, когда запускает код.
Adversa AI сообщила о проблеме через программу bug bounty GitHub 17 сентября. Команда проверки GitHub подтвердила находку, но уязвимостью её не признала. В компании пояснили, что пользователь должен сам направить Copilot CLI на недоверенный контент и подтвердить действие, поэтому продукт не уязвим. В Adversa AI с этим не согласны и утверждают, что атака по-прежнему работает.



