GitHub Copilot CLI раскрывает секреты разработчиков через CCI
GitHub Copilot CLI выполняет команды из зашифрованных инструкций
Уязвимость в GitHub Copilot CLI позволяет злоумышленнику получить доступ к локальным файлам разработчика. Атака использует метод Cryptographic Context Injection (CCI), при котором вредоносные инструкции маскируются под зашифрованный текст. Агент расшифровывает их в собственной среде и выполняет как доверенные команды. Это подтверждает опасения, что CCI будет более опасен для агентов, выполняющих код и сетевые запросы, чем для чат-ботов.
Copilot CLI передает содержимое файлов злоумышленнику
Злоумышленник может создать URL-адрес, который при запросе пользователем в режиме автопилота заставит Copilot CLI прочитать локальные файлы. Это могут быть файлы за пределами рабочей директории. Затем содержимое файлов отправляется на сервер атакующего. Атака происходит незаметно для пользователя: в логах агента появляется запись об «авторизованном эндпоинте», но пользователь не видит, что файлы покинули машину. Весь процесс занимает около 28 секунд. Атака не является универсальной и требует наличия уязвимой модели в составе Copilot CLI. Некоторые модели отклоняют вредоносные команды, другие выполняют их. Пользователь не всегда имеет контроль над выбором модели, особенно при настройке "Auto".
CCI работает через шифрование и выполнение кода
Механизм CCI заключается в отправке вредоносных инструкций в виде зашифрованного текста вместе с ключом для дешифровки. Агент получает команду расшифровать и выполнить этот текст в своем окружении. Поскольку шифрование не проверяется статическими средствами защиты, агент выполняет дешифровку. Расшифрованные инструкции воспринимаются как доверенные команды, написанные самим агентом. Атака происходит на этапе подготовки к дешифровке, когда агент пытается сформировать один из ключей, читая локальные файлы. После этого агент переходит ко второму этапу, который включает отправку украденных данных на сервер злоумышленника.
Защита от Cryptographic Context Injection требует мониторинга действий агента
Защита от CCI должна основываться на мониторинге всей цепочки действий агента, а не на блокировке отдельных вредоносных фрагментов. Вредоносные инструкции не существуют в виде открытого текста до момента их дешифровки агентом. Сигналом для обнаружения атаки служит последовательность действий: получение недоверенного контента, выполнение кода, чтение локальных файлов и последующий исходящий сетевой запрос к неизвестному хосту. Необходимо отслеживать все вызовы инструментов с полностью разрешенными аргументами, а не шаблонами. Изолируйте недоверенный контент в среде без доступа к учетным данным и инструментам. При закупке продуктов для работы с ИИ-агентами следует уточнять, отделен ли вывод инструментов от канала инструкций и может ли агент отклонять вызовы инструментов, аргументы которых получены из внешнего контента. Платформа Adversa AI блокирует такие цепочки, понижая уровень доверия агента при работе с недоверенным контентом.
Опубликовано в канале 6 октября, 16:05
Каждый материал сайта выходит в канале в тот же момент.
Источники: Adversa AI · The Register