GitHub Copilot CLI передал секреты разработчика злоумышленнику

GitHub Copilot CLI передал секреты разработчика злоумышленнику в тестах исследователей безопасности из Adversa AI после чтения страницы с зашифрованными инструкциями. Эксперт «Группы Астра» Эдуард Тихомиров считает, что агент должен работать в изолированном окружении без доступа к настоящим секретам и с закрытым выходом в интернет.

Источник: securitylab.ru

Модель Microsoft mai-code-1.1-flash выполнила всю цепочку атаки в половине попыток, а обе модели OpenAI GPT-5.6 отказались ее выполнять.

Атака срабатывает, если агент работает в режиме автопилота, который в Copilot CLI включают по желанию, а пользователь сам попросил прочитать подготовленную злоумышленником страницу. Многое зависит от модели. На платном аккаунте исследователей уязвимую модель пришлось выбрать вручную, но при автоматическом выборе сервис в одних сеансах назначал уязвимую модель, в других устойчивую, и пользователь не видит, какая из них работает.

Страница предлагает агенту расшифровать содержимое с помощью Python и дает два ключа. Первый ключ поддельный: чтобы собрать его, агент читает локальные файлы, например .env, и добавляет секреты в строку ключа. После неудачной попытки он использует второй ключ и получает инструкции открыть еще один URL якобы для дополнительного контекста. Адрес содержит собранные секреты, и запрос передаёт их злоумышленнику.

Эдуард Тихомиров, руководитель разработки GitFlic (входит в «Группу Астра») отметил, что атака не взламывает агента, она заставляет его сделать то, что ему и так разрешено.

«Надеяться на то, что модель откажется выполнять вредную инструкцию, нельзя: защиту нужно закладывать в среду. Агент должен работать в изолированном окружении без доступа к настоящим секретам и с закрытым выходом в интернет.

На практике это обеспечивается несколькими мерами. Локальное развертывание модели позволяет компании самой решать, какая модель работает, заранее проверить ее на устойчивость к подобным атакам и не зависеть от автоматического выбора на стороне сервиса, где пользователь даже не видит, какая модель ему досталась. Контроль исходящего трафика пропускает запросы только на разрешенные адреса, поэтому попытка отправить данные на сторонний сервер просто блокируется. Трассируемость фиксирует каждое действие агента: какие файлы он прочитал, какой код запустил, куда обращался. Регулярный аудит этих журналов помогает заметить аномалии, например обращение к .env в задаче, которая с ним никак не связана, раньше, чем они превратятся в инцидент.

Ни одна из этих мер не спасает в одиночку, но вместе они делают так, что даже успешная инъекция не заканчивается утечкой».

Эдуард Тихомиров, руководитель разработки GitFlic (входит в «Группу Астра»)

Что будем искать? Например,ChatGPT

Мы в социальных сетях