Три ИИ-агента для написания кода слили секреты через одну инъекцию промпта. Системная карта одного из разработчиков предсказала это

Три ИИ-агента для написания кода слили секреты через одну инъекцию промпта. Системная карта одного из разработчиков предсказала это

Источник: VentureBeat · Louis Columbus

Специалист по информационной безопасности, работающий совместно с коллегами из Университета Джонса Хопкинса, создал запрос на слияние (pull request) в GitHub, ввёл вредоносную инструкцию в заголовок PR и стал наблюдать за тем, как функция безопасности Claude Code от Anthropic публикует свой собственный ключ API в качестве комментария. Та же атака путём внедрения промпта (prompt injection) сработала на инструменте командной строки Gemini CLI от Google и агенте Copilot от GitHub (Microsoft). Никакой внешней инфраструктуры не потребовалось.

Аонань Гуань (Aonan Guan), исследователь, обнаруживший уязвимость, вместе со своими коллегами по Университету Джонса Хопкинса Чжэньюй Лю (Zhengyu Liu) и Гэвином Чжуном (Gavin Zhong) опубликовали полное техническое описание на прошлой неделе, назвав эту методологию «Comment and Control» (Комментарий и управление). GitHub Actions по умолчанию не передает секретные данные форк-репозиториям при использовании триггера pull_request, однако рабочие процессы (workflows), использующие pull_request_target (что требуется для доступа к секретам большинству интеграций с ИИ-агентами), действительно внедряют секреты в среду выполнения (runner). Это ограничивает практическую поверхность атаки, но не устраняет её полностью: участники репозитория, поля для комментариев и любые репозитории, использующие pull_request_target совместно с ИИ-агентом для написания кода, остаются уязвимыми.

Согласно графику раскрытия информации, предоставленному Гуанем: компания Anthropic классифицировала уязвимость как критическую — 9.4 балла по шкале CVSS (выплатив вознаграждение в размере 100 долларов), Google выплатила баунти в размере 1337 долларов, а GitHub присудил 500 долларов в рамках программы Copilot Bounty Program. Сумма в 100 долларов выглядит удивительно низкой по сравнению с рейтингом CVSS 9.4; программа HackerOne компании Anthropic рассматривает находки, связанные с инструментами агентов, отдельно от уязвимостей безопасности самих моделей. Все три компании тихо выпустили патчи, и по состоянию на субботу ни одна из них не выпустила CVE в базе NVD и не опубликовала официальных предупреждений о безопасности через GitHub Security Advisories.

Атака Comment and Control эксплуатировала уязвимость внедрения промптов в Claude Code Security Review — специальной функции GitHub Action, в системном паспорте (system card) которой сама Anthropic признала, что она «не защищена от внедрения промптов». Эта функция по умолчанию предназначена для обработки доверенных входящих данных от внутренних пользователей; пользователи, которые соглашаются на обработку ненадежных внешних PR и issues, принимают на себя дополнительные риски и несут ответственность за ограничение прав агента. После раскрытия информации Anthropic обновила документацию, чтобы прояснить эту рабочую модель. Аналогичный класс атак работает и под уровнем защиты OpenAI на этапе выполнения агента, судя по тому, что не задокументировано в их системном паспорте (хотя продемонстрированного эксплойта представлено не было). Сам эксплойт является доказательством концепции, но главная суть истории заключается в том, что системные паспорта всех трех компаний показывают разрыв между тем, что вендоры документируют, и тем, что они реально защищают.

Компания OpenAI и Google не ответили на запросы о комментариях к моменту публикации.

«На границе действия [экшна], а не на границе модели», — ответила Мерритт Бэр (Merritt Baer), директор по информационной безопасности в Enkrypt AI и бывший заместитель директора по информационной безопасности в AWS, на вопрос VentureBeat о том, где именно должна находиться защита. — «Среда выполнения (рантайм) и есть зона наибольшего поражения».

О чем говорят системные паспорта (system cards)

Системный паспорт Opus 4.7 от компании Anthropic занимает 232 страницы и содержит количественные показатели частоты взломов и устойчивости к инъекциям. В нем раскрывается стратегия ограниченного использования моделей (модель Mythos удерживается в качестве превью возможностей) и прямо заявляется, что инструмент Claude Code Security Review «не защищен от внедрения промптов». Системный паспорт объясняет читателям, что среда выполнения была уязвима. Атака Comment and Control доказала это. Anthropic действительно ограничивает определенные действия агентов за пределами области видимости системного паспорта (например, режим Claude Code Auto Mode применяет средства защиты на уровне рантайма), однако сам системный паспорт не документирует эти средства защиты среды выполнения или степень их покрытия.

Системный паспорт GPT-5.4 от OpenAI документирует обширные тестирования на проникновение (red teaming) и публикует результаты оценки устойчивости к инъекциям на уровне моделей, но не на уровне выполнения агентов или использования инструментов. Программа Trusted Access for Cyber масштабирует доступ до тысяч пользователей. Системный паспорт рассказывает о том, что тестировали специалисты по «красным командным» проверкам. При этом он не сообщает, насколько модель устойчива к тем атакам, которые они обнаружили.

В паспорте модели Gemini 3.1 Pro от Google, выпущенном в феврале, большая часть методологии безопасности отнесена к более старой документации, как показал анализ VentureBeat. Программа Automated Red Teaming от Google остается закрытой и внутренней. Никаких внешних программ кибербезопасности нет.

Измерение

Anthropic (Opus 4.7)

OpenAI (GPT-5.4)

Google (Gemini 3.1 Pro)

Глубина системного паспорта

232 страницы. Количественные показатели взломов, оценки классификаторов и метрики устойчивости к инъекциям.

Обширная. Задокументированы часы тестирования на проникновение (red teaming). Метрики устойчивости к инъекциям не опубликованы.

Несколько страниц. Отсылает к более старому паспорту Gemini 3 Pro. Количественные результаты отсутствуют.

Программа киберверификации

CVP (Cyber Verification Program). Снимает средства киберзащиты для проверенных пентестеров и красных команд, выполняющих авторизованную наступательную работу. Не затрагивает защиту от промпт-инъекций. Исключения, касающиеся платформы и хранения данных, пока публично не задокументированы.

TAC. Масштабировано до тысяч. Ограничивает ZDR.

Отсутствует. Нет пути для внешних защитников.

Стратегия ограниченных моделей

Да. Mythos удерживается как превью возможностей. Opus 4.7 выступает в роли полигона для испытаний.

Ограниченной модели нет. Полный функционал выпущен, доступ ограничен.

Ограниченной модели нет. Планов по ее созданию не заявлено.

Защита агентов в рантайме

Claude Code Security Review: в системном паспорте указано, что инструмент не защищен от внедрения промптов. Функция предназначена для доверенных входящих данных от первого лица. Anthropic применяет дополнительные средства защиты рантайма (например, Claude Code Auto Mode), которые не задокументированы в системном паспорте.

Не задокументировано. TAC управляет доступом, а не операциями агентов.

Не задокументировано. ART только для внутреннего использования.

Реагирование на эксплойт (Comment and Control)

Критический уровень CVSS 9.4. Баунти 100 долл. Исправлено. Без CVE.

Напрямую не эксплуатировался. Структурный пробел выведен из дизайна TAC, а не продемонстрирован.

Баунти 1337 долл. согласно раскрытию информации Гуаня. Исправлено. Без CVE.

Данные об устойчивости к инъекциям

Опубликованы. Количественные показатели приведены в системном паспорте.

Опубликованы оценки инъекций на уровне модели. Показатели устойчивости для рантайма агента или выполнения инструментов отсутствуют.

Не опубликованы. Количественные данные недоступны.

Бэр предложила конкретные вопросы для отдела закупок. «Для Anthropic спросите, как результаты безопасности реально переносятся через скачки возможностей», — сказала она VentureBeat. — «Для OpenAI спросите, что означает «доверенный» в условиях компрометации». Для обеих компаний, по ее словам, руководителям необходимо «требовать ясности относительно того, распространяются ли меры защиты на этап выполнения инструментов, а не только на фильтрацию промптов».

Семь классов угроз, которые не закрывает ни один подход к защите

Каждая строка описывает, что именно ломается, почему ваши средства контроля это пропускают, что доказала атака Comment and Control и какое действие рекомендуется предпринять на предстоящей неделе.

Класс угрозы

Что ломается

Почему ваши средства контроля это пропускают

Что доказала атака Comment and Control

Рекомендуемое действие

1. Несоответствие среды развертывания

Программа CVP предназначена для авторизованных исследований в области наступательной безопасности, а не для защиты от промпт-инъекций. Она не распространяется на арендаторов Bedrock, Vertex или ZDR. TAC ограничивает ZDR. У Google нет никакой программы. Ваша команда может запускать верифицированную модель на неверифицированной поверхности.

Анонсы запусков описывают программу. Вспомогательная документация перечисляет исключения. Команды безопасности читают анонс. Закупки не читают ни то, ни другое.

Эксплойт нацелен на рантайм агента, а не на платформу развертывания. Команда, запускающая Claude Code на Bedrock, находится вне зоны покрытия CVP, однако CVP изначально и не проектировалась для решения этого класса уязвимостей.

Напишите вашим представителям в Anthropic и OpenAI сегодня. Один вопрос в письменном виде: «Подтвердите, охвачены ли [ваша платформа] и [ваша конфигурация хранения данных] вашими средствами защиты от промпт-инъекций на уровне рантайма, и опишите, что включают в себя эти средства защиты». Занесите ответ в ваш реестр рисков поставщиков.

2. Секреты CI, доступные ИИ-агентам

ANTHROPIC_API_KEY, GEMINI_API_KEY, GITHUB_TOKEN и любой производственный секрет, сохраненный как переменная окружения GitHub Actions, могут быть прочитаны каждым шагом рабочего процесса, включая ИИ-агентов для кодирования.

Конфигурация GitHub Actions по умолчанию не ограничивает секреты отдельными шагами. Секреты уровня репозитория и организации распространяются на все рабочие процессы. Большинство команд никогда не проверяют, какие шаги имеют доступ к каким секретам.

Агент прочитал ключ API из переменной окружения среды выполнения, зашифровал его в теле комментария к PR и опубликовал через API GitHub. Никакой контролируемой злоумышленником инфраструктуры не потребовалось. Эксфильтрация данных прошла через собственный API GitHub — сама платформа превратилась в командный центр (C2-канал).

Запустите команду: grep -r ‘secrets.’ .github/workflows/ по каждому репозиторию с ИИ-агентом. Перечислите все секреты, к которым агент имеет доступ. Ротируйте все скомпрометированные учетные данные. Мигрируйте на недолговечные OIDC-токены (GitHub, GitLab, CircleCI).

3. Избыточные привилегии рантайма агентов

ИИ-агентам при настройке предоставляются права на выполнение команд bash, git push и запись через API. Права никогда не сужаются. Периодический аудит по принципу наименьших привилегий не проводится. Агенты накапливают доступ точно так же, как сервисные учетные записи.

Агенты настраиваются один раз при подключении и наследуются в репозиториях. Никакие инструменты не сигнализируют об неиспользуемых разрешениях. У агента в атаке Comment and Control были права bash, записи и чтения переменных окружения для задачи проверки кода.

У агента был доступ к bash, который ему был не нужен для код-ревью. Он использовал этот доступ для чтения переменных окружения и публикации эксфильтрованных данных. Лишение прав bash полностью заблокировало бы цепочку атаки.

Проведите аудит разрешений агентов для каждого репозитория. Отоберите права bash у агентов для код-ревью. Установите доступ к репозиторию в режим «только чтение». Защитите права на запись (комментарии к PR, коммиты, слияния) обязательным этапом ручного утверждения.

4. Отсутствие сигналов CVE для уязвимостей ИИ-агентов

Критический уровень CVSS 9.4. Anthropic, Google и GitHub выпустили патчи. Ноль записей CVE в NVD. Ноль бюллетеней безопасности. Ваш сканер уязвимостей, SIEM и GRC-инструмент показывают зеленый статус.

Ни одно бюро нумерации CVE (CNA) пока не выпустило CVE для промпт-инъекций в агентах кодирования, а текущая практика работы с CVE не охватывает этот класс сбоев. Вендоры выпускают патчи через обновление версий. У Qualys, Tenable и Rapid7 нет ничего для сканирования.

Аналитик SOC, запустивший полное сканирование в понедельник утром, не обнаружил бы ни одной записи о критической уязвимости, которая одновременно поразила Claude Code Security Review, Gemini CLI Action и Copilot.

Создайте новую категорию в своем реестре рисков цепочки поставок: «Рантайм ИИ-агента». Установите 48-часовой график проверки с контактным лицом по безопасности каждого вендора. Не ждите появления CVE. Их пока нет, а пробелы в таксономии делают их маловероятными без давления со стороны индустрии.

5. Средства защиты моделей не контролируют действия агентов

Opus 4.7 блокирует промпт фишингового письма. Он не блокирует чтение агентом переменной $ANTHROPIC_API_KEY и ее публикацию в виде комментария к PR. Защитные механизмы контролируют генерацию, а не операции.

Защитные механизмы фильтруют выходные данные модели (текст). Операции агента (bash, git push, curl, API POST) полностью обходят оценку безопасности. Среда выполнения находится за пределами периметра защиты. Anthropic применяет некоторые средства защиты на уровне рантайма в таких функциях, как Claude Code Auto Mode, но они не задокументированы в системном паспорте, а их охват публично не определен.

Агент никогда не генерировал запрещенный контент. Он выполнил легитимную операцию (опубликовал комментарий к PR), содержащую эксфильтрованные данные. Защитные механизмы ни разу не сработали.

Составьте карту каждой операции, которую выполняют ваши ИИ-агенты: bash, git, вызовы API, запись файлов. Для каждой спросите вендора в письменной форме: оценивает ли ваш уровень защиты это действие перед выполнением? Задокументируйте ответ.

6. Ненадежные входные данные обрабатываются как инструкции

Заголовки PR, текст тела PR, комментарии к issues, комментарии к ревью кода и сообщения коммитов — все это обрабатывается ИИ-агентами кодирования в качестве контекста. Любое из них может содержать внедренные инструкции.

Отсутствует слой санитизации (очистки) входных данных между GitHub и набором инструкций агента. Агент не может отличить намерения разработчика от внедрения злоумышленника в ненадежных полях. GitHub Action для Claude Code по умолчанию предназначен для доверенных входящих данных от первого лица. Пользователи, соглашающиеся на обработку ненадежных внешних PR, принимают на себя дополнительный риск.

Один вредоносный заголовок PR стал полноценной командой для эксфильтрации. Агент воспринял его как легитимную инструкцию и выполнил без валидации или подтверждения.

Внедрите очистку входных данных в качестве многоуровневой защиты (defense-in-depth), но не полагайтесь на традиционные регулярные выражения в стиле WAF. Промпт-инъекции в LLM недетерминированы и будут обходить статическое сопоставление с образцом. Ограничьте контекст агента утвержденными конфигурациями рабочих процессов в сочетании с правами по принципу наименьших привилегий.

7. Отсутствуют сопоставимые данные об устойчивости к инъекциям у разных вендоров

Anthropic публикует количественные показатели устойчивости к инъекциям на 232 страницах. OpenAI публикует оценки инъекций на уровне модели, но не показатели устойчивости в рантайме агента. Google публикует карту на нескольких страницах со ссылкой на более старую модель.

В индустрии нет стандартов для раскрытия метрик безопасности ИИ. У вендоров могут быть внутренние метрики и программы red teaming, но опубликованные данные несопоставимы. У отдела закупок нет базовых показателей и структуры для их требования.

Anthropic, OpenAI и Google получили одобрение для корпоративного использования без сопоставимых данных об устойчивости к инъекциям. Эксплойт обнажил то, как выглядит неизмеренный риск в продакшене.

Напишите одно предложение для вашей следующей встречи с вендором: «Покажите мне ваш количественный показатель устойчивости к инъекциям для той версии модели, которую я использую на своей платформе». Задокументируйте отказы для обеспечения соответствия регламенту ЕС об искусственном интеллекте (EU AI Act) для систем высокого риска. Крайний срок: август 2026 г.

GPT-5.4 от OpenAI напрямую не подвергался атаке в инциденте Comment and Control. Пробелы, выявленные в столбцах OpenAI и Google, выводятся из того, что их системные паспорта и документация программ не публикуют, а не из продемонстрированных эксплойтов. Это различие имеет значение. Отсутствие опубликованных метрик рантайма — это пробел в прозрачности, а не доказательство уязвимости. Но это означает, то что команды по закупкам не могут проверить то, что они не могут измерить.

Требования к участию в программе киберверификации Anthropic (Cyber Verification Program) и программе Trusted Access for Cyber от OpenAI все еще развиваются, равно как и покрытие платформ и масштаб программ, поэтому службам безопасности следует проверить актуальную документацию вендоров, прежде чем считать любое описанное здесь покрытие окончательным. Программа CVP от Anthropic разработана для авторизованных исследований в области наступательной безопасности — путем снятия киберзащиты для проверенных участников — и не является программой защиты от промпт-инъекций. Лидеры в области безопасности, сопоставляющие эти пробелы с существующими фреймворками, могут связать классы угроз 1–3 со стандартом NIST CSF 2.0 GV.SC (Управление рисками цепочки поставок), класс угрозы 4 — с ID.RA (Оценка рисков), а классы угроз 5–7 — с PR.DS (Безопасность данных).

На данный момент Comment and Control сосредоточена на GitHub Actions, однако эти семь классов угроз применимы к большинству сред выполнения CI/CD, где ИИ-агенты выполняются с доступом к секретам, включая GitHub Actions, GitLab CI, CircleCI и кастомные рантаймы. Форматы раскрытия метрик безопасности находятся в состоянии изменения у всех трех вендоров; Anthropic в настоящее время лидирует по объему опубликованных количественных данных в документации своих системных паспортов, однако стандарты, вероятнее всего, сблизятся по мере вступления в силу требований Закона ЕС об искусственном интеллекте (EU AI Act). Атака Comment and Control была направлена против Claude Code GitHub Action — конкретной функции продукта, а не против моделей Anthropic в целом. Тем не менее, этот класс уязвимостей применим к любому ИИ-агенту кодирования, работающему в среде CI/CD с доступом к секретам.

Что сделать до следующего продления контракта с вендором

«Не стандартизируйте модель. Стандартизируйте архитектуру контроля», — сказала Бэр VentureBeat. — «Риск носит системный характер для проектирования агентов, а не для конкретного вендора. Поддерживайте портируемость, чтобы вы могли менять модели без переработки своей позиции по безопасности».

Создайте карту развертывания. Убедитесь, что ваша платформа подходит под критерии средств защиты рантайма, на которые вы рассчитываете. Если вы используете Opus 4.7 на Bedrock, спросите своего аккаунт-менеджера в Anthropic, какие средства защиты от промпт-инъекций на уровне рантайма применяются к вашей среде развертывания. Напишите своему менеджеру по работе с клиентами сегодня. (Программа киберверификации Anthropic)

Проведите аудит каждого рантайма на предмет утечки секретов. Запустите команду grep -r ‘secrets.’ .github/workflows/ по каждому репозиторию с ИИ-агентом кодирования. Перечислите все секреты, к которым агент имеет доступ. Ротируйте все скомпрометированные учетные данные. (Документация по секретам GitHub Actions)

Начните миграцию учетных данных прямо сейчас. Переключите сохраненные секреты на выдачу недолговечных OIDC-токенов. GitHub Actions, GitLab CI и CircleCI поддерживают федерацию OIDC. Установите время жизни токенов в минутах, а не в часах. Запланируйте полный переход в течение одного-двух кварталов, начиная с репозиториев, где запущены ИИ-агенты. (Документация GitHub OIDC | Документация GitLab OIDC | Документация CircleCI OIDC)

Исправляйте права доступа агентов для каждого репозитория. Уберите возможность выполнения команд bash у каждого ИИ-агента, занимающегося код-ревью. Установите доступ к репозиторию в режим только чтения. Закройте права на запись за этапом обязательного одобрения человеком. (Документация по правам GitHub Actions)

Добавьте санитизацию входных данных как один из уровней, но не как единственный. Фильтруйте заголовки запросов на слияние, комментарии и ветки ревью на предмет шаблонов инструкций до того, как они дойдут до агентов. Сочетайте это с правами наименьшего доступа и OIDC. Статические регулярные выражения сами по себе не остановят недетерминированные инъекции промптов.

Добавьте «рантайм ИИ-агента» в свой реестр рисков цепочки поставок. Установите 48-часовой интервал проверки патчей с контактом безопасности каждого вендора. Не ждите CVE. Для этого класса уязвимостей они еще не появлялись.

Проверьте, какие жесткие меры защиты GitHub Actions у вас уже внедрены. Усиленные конфигурации GitHub Actions уже сегодня блокируют этот класс атак: ключ permissions ограничивает область действия GITHUB_TOKEN, правила защиты среды (environment protection rules) требуют одобрения перед внедрением секретов, а шлюзы для новых контрибьюторов предотвращают запуск рабочих процессов агентов внешними PR-запросами. (Руководство по усилению безопасности GitHub Actions)

Подготовьте один вопрос по закупкам для каждого вендора перед следующим продлением контракта. Напишите одно предложение: «Покажите мне ваш количественный показатель устойчивости к инъекциям для версии модели, которую я запускаю на развертываемой мной платформе». Задокументируйте отказы для соблюдения требований EU AI Act к системам высокого риска. Крайний срок — август 2026 года.

«Большинство систем компрометируют не чистые уязвимости нулевого дня (zero-day), а композитность», — сказала Бэр. — «Это связующий код, токены в CI, избыточно привязанные права агентов. Когда вы подключаете мощную модель к рантайму с избыточными правами, вы уже сделали за злоумышленника большую часть работы».

Безопасность

Смотреть все

Подпишитесь на свежие новости!

Глубокая аналитика для руководителей в области корпоративного ИИ, данных и безопасности

Подписаться по RSS

RSS-ленты обновляются каждые 15 минут.