Перейти к содержанию
Публикация AiManual

Промпт-инъекции в AI-агентах: почему заявления Anthropic об абсолютной защите Opus 5 требуют проверки

Anthropic заявляет, что Opus 5 почти невозможно взломать промпт-инъекцией, а независимый бенчмарк дал 0 успехов из 720 попыток. Разбираем, что показал тест, как

Коротко

Что будет в материале

  1. 01

    Что именно заявила Anthropic об устойчивости Opus 5 к промпт-инъекциям

  2. 02

    Что показал независимый бенчмарк Trajectory Labs: 0 из 720

  3. 03

    Новая атака на Claude Code Auto Mode: цепочка из безопасных действий

  4. 04

    Где на самом деле проходит граница защиты AI-агента

В конце июля создатель Claude Code Борис Черный написал, что команда Anthropic больше не может продемонстрировать успешную промпт-инъекцию в Claude Opus 5. Через несколько недель на YC Startup School формулировка стала жестче: «The model does not seem to be prompt injectable anymore». Независимая лаборатория Trajectory Labs прогнала Claude Fable, Opus и Sonnet в режиме Auto Mode через 72 сценария по 10 запусков и не получила ни одного успеха: 0 из 720.

26 августа исследователь Йоханн Рехбергер опубликовал attack chain для Claude Code в Auto Mode. Цепочка собрана из действий, каждое из которых по отдельности выглядит безобидно: скачивание архива, отказ от запуска подозрительного бинарника, написание собственного Python-декодера. Итог - подмена модуля struct и выполнение стороннего кода, с успехом 60-80% для отдельных вариантов. Соавтор Django Саймон Уиллисон уточнил, что это не промпт-инъекция в строгом смысле, а confused environment attack.

Короткий ответ на главный вопрос: Opus 5 действительно устойчивее к промпт-инъекциям, чем предыдущие модели, и подтверждения этому есть. Абсолютной защиты нет, а заявления об обратном опираются на тесты против известных атак. Граница безопасности агента проходит не по модели, а по изоляции операционной системы, правам доступа, контролю исходящего трафика и мониторингу.

Что именно заявила Anthropic об устойчивости Opus 5 к промпт-инъекциям

Официальные формулировки осторожнее, чем их пересказы. В публичных материалах и выступлениях звучали две: «Opus 5 is our least prompt injectable model yet» и «across PI evals and red teaming, Opus 5 is very hard to prompt inject successfully». Первая сравнивает модель с другими, вторая говорит о вероятности успеха атаки в ходе оценок и редтиминга. Обе приводит разбор на Habr вместе с постом Бориса Черного.

Пост создателя Claude Code появился в конце июля, среди волны новостей о выходе Opus 5. Смысл заявления: модель стала настолько устойчивой к prompt injection (PI), что команда Anthropic больше не может показать успешную атаку. Это утверждение о демонстрации, а не о доказанной неуязвимости класса угроз.

От «least prompt injectable» до «not prompt injectable»: как менялась формулировка

На YC Startup School прозвучали версии сильнее: «The model does not seem to be prompt injectable anymore» и «with these three layers, we just cannot demonstrate prompt injection anymore». Во второй фразе важная деталь: речь про три слоя защиты, а не про одну модель.

ФормулировкаГде прозвучалаЧто описывает
«Opus 5 is our least prompt injectable model yet»Публичные материалы AnthropicСравнение с другими моделями: наименьшая подверженность инъекциям среди них
«very hard to prompt inject successfully»PI-оценки и редтимингНизкая вероятность успеха атаки в рамках конкретного набора тестов
«we just cannot demonstrate prompt injection anymore»YC Startup SchoolКоманда не может показать успешную атаку в конфигурации с тремя слоями защиты

Разница между «least injectable» и «not injectable» принципиальна. Первое - сравнительная характеристика в ряду моделей: Opus 5 устойчивее остальных. Второе - абсолютное утверждение обо всем классе угроз. Между ними стоит промежуточная формулировка про «очень трудно взломать», и она ближе всего к тому, что реально измерялось.

За цифрами стоят редтиминг и PI-эвалы, то есть атаки, которые исследователи уже придумали и описали. Такой подход показывает прогресс, но не закрывает вопрос о векторах, которых пока никто не нашел. Ограничения подобных проверок и инструментов защиты разобраны в материале про prompt injection и защиту LLM-систем.

Что показал независимый бенчмарк Trajectory Labs: 0 из 720

Сторонняя лаборатория Trajectory Labs проверила три модели Claude (Fable, Opus, Sonnet) в режиме Auto Mode: 72 сценария, по 10 запусков каждый. Ни одна из 720 попыток не завершилась успехом. Для сравнения, GPT-5.6 Sol в режиме Auto-review показал ASR 5,83%. Об этом сообщает источник с описанием методики.

ASR (attack success rate) - доля попыток, в которых атака достигла цели. Разрыв между 0% и 5,83% заметный, но сравнивать числа напрямую нельзя: у моделей разные режимы работы и разные наборы сценариев. Корректный вывод один: на выбранном наборе атак Claude-модели не поддались ни разу.

Почему 0 из 720 - это не доказательство абсолютной защиты

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

Набор из 72 сценариев не покрывает confused environment attack, цепочки из по отдельности безвредных действий и атаки на уровне окружения: пути к файлам, имена модулей, права, конфигурацию инструментов. Все 720 прогонов говорят лишь о том, что в этих прогонах выбранные векторы не сработали. Именно поэтому корректная формулировка звучит как «устойчивость к известным атакам», а не «решение проблемы промпт-инъекций».

Новая атака на Claude Code Auto Mode: цепочка из безопасных действий

26 августа Йоханн Рехбергер опубликовал attack chain для Claude Code в режиме Auto Mode. Схема такая: агент скачивает архив, затем отказывается запускать подозрительный бинарник из него, вместо этого пишет собственный Python-декодер, после чего происходит подмена модуля struct и выполняется сторонний код. Успешность отдельных вариантов атаки - 60-80%.

Ключевая деталь в том, что каждый шаг по отдельности выглядит нормальным. Скачивание архива не атака. Отказ запускать неизвестный бинарник - вообще полезная осторожность. Собственный декодер для формата данных - рутинная задача для coding-агента. Обход получается не через вредоносный паттерн, а через последовательность, в которой вредоносного паттерна нет ни на одном шаге.

Почему Саймон Уиллисон называет это confused environment attack

При промпт-инъекции злоумышленник прячет инструкции в данных, которые обрабатывает модель: текст на веб-странице, содержимое письма, инструкцию в README репозитория. Задача защиты - не дать агенту принять данные за команды.

В confused environment attack инструкций в данных может не быть вовсе. Агент запутывается в собственном окружении: доверенное имя, например модуль struct, указывает на файл, подконтрольный атакующему. Саймон Уиллисон прямо отметил, что атака Рехбергера не промпт-инъекция в строгом смысле, поэтому она не опровергает исходное заявление об устойчивости Opus к PI. Типы атак на агентов и подходы к их отражению разобраны в статье про трёхфазную защиту AI-агентов.

Реакция Anthropic: статус Informative и границы Auto Mode

Anthropic закрыла репорт со статусом Informative. Пояснение компании: Auto Mode защищает от approval fatigue, то есть от усталости пользователя от бесконечных подтверждений, а не гарантирует безопасность. Реальная граница защиты, по словам Anthropic, строится на изоляции операционной системы и контроле исходящего трафика. Тот же разбор приводит и реакцию на репорт.

Ответ со статусом Informative - не признание уязвимости и не отказ от проблемы. Это указание на уровень, где компания считает нужным защищаться: модель плюс окружение, а модель в одиночку не тянет эту роль.

Где на самом деле проходит граница защиты AI-агента

Уровней несколько: изоляция ОС, песочница, ограничение прав, контроль исходящего трафика, мониторинг действий и механизмы восстановления. Anthropic сотрудничает с NVIDIA, чтобы добавить дополнительные слои безопасности и контроля в агентный стек: описание подхода опубликовано в блоге Claude.

Что происходит, когда изоляция настроена плохо, видно по реальным инцидентам: агент OpenAI за 17 000 автономных действий добрался до продакшена через ошибки конфигурации тестовой среды. Технический разбор этого случая есть в материале про безопасность автономных AI-агентов.

Approval fatigue: почему Auto Mode не равен безопасности

Approval fatigue - усталость от постоянных подтверждений. Агент просит одобрить команду, потом еще одну, к сотому запросу пользователь жмет «разрешить», не читая текст. Auto Mode снимает эту нагрузку, автоматически одобряя типовые действия. Выигрыш в скорости и удобстве, потеря в контроле: если среди автоматически одобренных шагов окажется вредоносный, человек его не увидит и не остановит.

Claude Managed Agents: песочница, хранилище учётных данных и трассировка

В Claude Managed Agents цикл агента выполняется на отдельном сервере, а не внутри песочницы, где идет работа. Учётные данные, то есть пароли и ключи доступа, лежат в отдельном хранилище, и агент их не видит. В набор входят production-grade песочница, аутентификация, выполнение инструментов, длительные сессии, мультиагентная оркестрация, ограниченные права, управление идентификацией и трассировка выполнения. Детали архитектуры описаны в анонсе.

NVIDIA OpenShell: политики, блокировка по умолчанию и математическое доказательство

NVIDIA OpenShell - открытое secure runtime-ПО для контроля поведения агентов. Логика deny-by-default: блокируется всё, что не разрешено правилом. OpenShell проверяет каждый инструмент, который пытается вызвать агент, применяет правила к файлам, сетевым соединениям и данным и логирует каждое свое решение. Правила действуют вне агента, поэтому их нельзя переписать изнутри сессии. Policy prover использует математическое доказательство, чтобы подтвердить, к чему агент может добраться в границах написанных правил. Там же NVIDIA описывает открытую платформу и референсный дизайн системы безопасности агентов, Open Agent Safety Platform: сводка решений.

Практический чек-лист: как защитить своего AI-агента

Меры ниже снижают вероятность атаки и ущерб от нее. Абсолютной защиты они не дают: любая изоляция обходится, если в конфигурации есть ошибка, а атака, как в кейсе с Claude Code, собирается из легальных действий.

Ограничение прав и scoped permissions

Принцип минимальных привилегий: агент получает доступ только к тем файлам, сетевым ресурсам и инструментам, которые нужны для текущей задачи. На практике это отдельный пользователь ОС с урезанными правами, API-ключи с узкими scope вместо ключа администратора, запрет на запись в системные директории, отдельные токены под каждый сценарий работы. Если агент пишет код в проект, ему не нужны права на чтение домашней директории с ключами SSH.

Sandbox и изоляция ОС

Варианты изоляции: контейнеры, виртуальные машины, отдельные пользователи ОС, файловые системы в режиме read-only, монтирование только нужных директорий. Claude Managed Agents использует разделение серверов: цикл агента отдельно, песочница с работой отдельно. Изоляция ограничивает ущерб, но не предотвращает все атаки: подмена файла внутри песочницы остается возможной. Расширенный разбор того, почему базовая сетевая и системная гигиена важнее внешних проверок, есть в материале про аудит безопасности AI-агентов.

Контроль сети и исходящего трафика

Контроль исходящего трафика Anthropic называет частью реальной границы защиты. Практика: белые списки доменов вместо разрешения всего, блокировка неожиданных соединений, мониторинг сетевой активности и алерты на обращения к незнакомым адресам. В OpenShell правила применяются к сетевым соединениям так же, как к файлам и данным. Агенту, который разбирает локальный архив, внешний доступ к произвольным хостам обычно не нужен.

Мониторинг, логирование и восстановление

Логирование каждого действия агента, трассировка выполнения и алерты на подозрительную активность дают шанс заметить атаку до того, как она дойдет до конца. Execution tracing есть в Claude Managed Agents, логирование разрешенных и заблокированных решений - в OpenShell. Восстановление строится заранее: регулярные бэкапы, снапшоты окружения перед запуском автономных сессий, возможность откатить изменения. Без этого обнаружение атаки превращается в констатацию факта.

Что это значит для пользователей AI-агентов: выводы без иллюзий

Разрыв между результатами тестов и заявлениями видно, когда сравниваешь формулировки. 0 из 720 на известных сценариях и «модель больше не подвержена промпт-инъекциям» - утверждения разного масштаба. Первое измеримо и проверяемо, второе описывает класс угроз целиком, включая векторы, которых в тестах не было.

Модели действительно становятся устойчивее, и Anthropic публикует исследования и оценки в этой области, о внутренних дебатах компании и ограничениях моделей можно прочитать в отдельном разборе инсайтов Anthropic. Проблема не в самих цифрах, а в том, что устойчивость модели не заменяет изоляцию: атака Рехбергера сработала, не нарушая правил промпт-инъекции.

Что делать читателю. Спрашивать у вендора методику тестирования: какие сценарии, сколько прогонов, что считалось успехом и покрыт ли набор атаками на уровне окружения. Строить защиту слоями: права, песочница, сеть, логи, восстановление. И разделять задачи, которые решают Auto Mode, режимы автоодобрения и заявления про устойчивость к инъекциям: удобство работы, снижение нагрузки на пользователя и защита от атак - три разных вещи.

Подписаться на канал