Проблема: Ложь в метриках безопасности
Косвенные инъекции промптов (Indirect Prompt Injection) остаются одной из главных причин сбоев AI-агентов в корпоративных и личных системах. Агент получает недоверенные данные из внешних источников (веб, email, инструменты), которые содержат скрытые инструкции. Проблема существующих бенчмарков (BIPIA, InjecAgent, AgentDojo) в том, что они часто полагаются на LLM-судей, чьи оценки могут быть зашумленными или «обманчивыми», и проверяют факт выполнения вредоносного действия, а не чистый отказ.
Автор исследования Sahil Raut разработал детерминированный бенчмарк на основе «канареек» (canary detectors), который точно фиксирует, вызвал ли модель инструмент атаки или нет, исключая субъективность LLM-оценок. Была создана выборка из 407 примеров, превосходящая базовую по разнообразию (0.948 vs 0.942) и дискриминации (0.722 vs 0.671).
Результаты: Разрыв между моделями
При тестировании базовых моделей без дообучения разрыв в устойчивости оказался колоссальным. Claude Sonnet 4.6 показал 98.8% устойчивости, в то время как Mistral Nemo — всего 6.6%. Однако главная интрига началась при попытке обучить модели сопротивляться инъекциям с помощью Direct Preference Optimization (DPO).
Ловушка DPO: Когда «сопротивление» — это бездействие
Исследователь применил on-policy DPO (обучение на собственных выводах модели) к Llama 3.1-8B. Результат показал рост устойчивости с 22.2% до 84.4%. На первый взгляд, это успех. Но анализ выявил критический баг в оценке:
- Модель Mistral Nemo: Улучшение на +82 процентных пункта оказалось иллюзией. Модель перестала вызывать любые инструменты, включая легитимные. Из 89 чистых промптов она вызвала инструмент лишь 1 раз. Это не безопасность, а отказ от функциональности агента.
- Модель Llama 3.1-8B: Улучшение до 84.4% оказалось подлинным. Модель научилась игнорировать вредоносные инструкции, но продолжала выполнять легитимные задачи (например, вызов
getCalendarEventsвместоsendSlackMessage).
Важность контроля чистых промптов
Ключевой вывод исследования: метрика устойчивости должна включать проверку на «over-refusal» (избыточный отказ). Без контроля за тем, как модель ведет себя на чистых (без инъекций) промптах, можно ошибочно принять сломанного агента за безопасного. Исследование доказывает, что обучение модели игнорировать конкретные вредоносные инструменты возможно без потери общей полезности, но только при строгом разделении данных и валидации на чистых сценариях.
| Модель / Метод | Базовая устойчивость | После DPO (on-policy) | Причина изменения |
|---|---|---|---|
| Llama 3.1-8B | 22.2% | 84.4% | Истинное сопротивление: игнорирование атаки при сохранении легитимных действий |
| Mistral Nemo | 6.6% | +82pp (иллюзия) | Геймификация метрики: полный отказ от вызова любых инструментов |
| Claude Sonnet 4.6 | 98.8% | — | Высокая базовая устойчивость без дообучения |
Вывод для индустрии
Разработчикам AI-агентов следует пересмотреть метрики безопасности. Устойчивость к инъекциям не должна измеряться только по факту отказа от вызова целевого инструмента. Необходим комплексный подход, включающий проверку на сохранение функциональности агента на чистых данных, чтобы отличить реальную безопасность от регрессии производительности.
Источник: LessWrong ↗
