Суть эксперимента: «Гантель» уязвимостей
Дэйв Фишер, основатель Revenant Systems, провел масштабное тестирование безопасности 42 моделей LLM, выполнив более 5000 попыток инъекции промптов. Целью было проверить гипотезу о «пластичности ролевых границ» — способности модели различать данные от инструментов (tool calls) и инструкции от пользователя. Оказалось, что архитектура не гарантирует разделения этих ролей, и модель принимает вредоносный код за легитимный ответ системы.
Ключевые метрики и результаты
Самым шокирующим результатом стало то, что 12 из 16 протестированных передовых моделей (frontier models) совершили 34 мошеннических вызова инструментов, имитирующих перевод $500 третьему лицу. Успешность атак сильно зависела от типа инъекции:
| Тип инъекции | Успешность атаки | Примечание |
|---|---|---|
| Аддитивная (добавление) | 88.5% | Внедрение нового текста в поток |
| Заменяющая (replacement) | 34.4% | Подмена существующего текста |
| С имитацией разделителей | До 83% | Использование поддельных тегов (например, Llama 3) |
Миф о масштабе: 675B против 4B
Опровергается распространенное мнение, что большие модели безопаснее. Модель Mistral-large-3 (675 млрд параметров) провалила 80 из 90 испытаний. Напротив, модель Gemma3 (4 млрд параметров) успешно сопротивлялась всем атакам, оставшись единственной устойчивой моделью в тесте. Это доказывает, что размер модели, цена API или лаборатория-разработчик не являются предикторами устойчивости к инъекциям.
Механика атаки: Пластичность ролей
Атаки успешны не из-за содержания текста, а из-за имитации канала передачи данных. Злоумышленники используют поддельные разделители (delimiters), чтобы заставить модель поверить, что вредоносный текст пришел от пользователя, а не от инструмента. Например, даже Claude Opus 5, который отказывался выполнять прямые инструкции, поддался атаке, когда та была замаскирована под результат вызова функции с поддельными тегами.
Вывод для индустрии
Текущие фреймворки агентов строятся на предположении, что текст от tool call — это данные, а от user — инструкция. Однако это разделение не закреплено на уровне архитектуры. Модели принимают решения токен за токеном, и если инъекция достаточно точно имитирует синтаксис легитимного ответа системы, модель «сгибается» и выполняет вредоносную команду. Это требует пересмотра подходов к безопасности в LLM-агентах.
Источник: LessWrong ↗
