TGViewer
ML&|Sec Feed ML&|Sec Feed @mlsecfeed · 1.36K subscribers
Post #2601 112

Forwarded from AI Was Made For Lovin' You

Скрытые состояния ИИ выдают промпт-инъекцию (1/2)

Когда ИИ-агент читает письмо, веб-страницу или результат работы инструмента, чужой текст попадает в один контекст с заданием пользователя. Свежий препринт задаёт интересный вопрос - появляется ли во внутренних состояниях модели узнаваемый сигнал промпт-инъекции ещё до того, как она сгенерировала первый токен?

Ещё как! Простейший линейный классификатор по скрытым состояниям шести открытых моделей определял атаку с ROC AUC от 0,934 до 0,977. Он справлялся с незнакомыми атаками, системными промптами и наборами задач.

При этом агенты продолжали выполнять вредоносные инструкции. Опасность уже отразилась во внутреннем состоянии модели, но решимости не выполнять инструкции не прибавлялось.

🤖 Ход исследования

Исследователи собрали траектории агентов в AgentDojo - четыре системных промпта, четыре набора задач и шесть видов косвенных инъекций. Всего получилось 92 конфигурации (4 комбинации были бессмысленными) и в среднем около 61200 траекторий на модель.

Траектория здесь - один полный запуск агента: задание пользователя, ответы модели, вызовы инструментов, их результаты и итог. Внутри одной траектории могло быть несколько ходов и несколько точек проверки.

Проверяли Qwen3-8B, Qwen3.5-9B и 27B, GPT-oss-20B, Gemma-4-31B и GLM-5.2 с 753 миллиардами параметров.

Каждый ход агента перед генерацией ответа становился точкой проверки. Метка была положительной, если последний результат инструмента содержал внедрённую инструкцию. Не имело значения, заметила ли её модель и подчинилась ли ей - классификатор учился распознавать сам факт.

Во время фазы предзаполнения - первой фазы инференса, когда модель целиком обрабатывает входной контекст и строит KV-кэш, но ещё не генерирует ответ, - из остаточного потока брали один вектор рядом с токеном начала ответа ассистента. Остаточный поток (residual stream) - общее пространство, куда слои трансформера последовательно добавляют результаты своей работы. Вектор стандартизировали и подавали в линейную модель вида z = wᵀh + b.

Один слой, один вектор и логистическая граница между "всё ок" и "замечена инъекция".

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

🤖 Результаты

Лучший слой каждой модели дал на проверке:
- Qwen3-8B - 0,976
- Qwen3.5-9B - 0,934
- Qwen3.5-27B - 0,936
- GPT-oss-20B - 0,977
- Gemma-4-31B - 0,951
- GLM-5.2 - 0,948

Сигнал жил на разной глубине слоя. У Qwen3.5-9B максимум находился уже на слое 2 из 32, у версии 27B - на 18 из 64, у GLM-5.2 - на 38 из 78. У остальных моделей лучше работали поздние слои. После генерации вызова инструмента сигнал слабел.

На Qwen3-8B хватило 256 обучающих примеров, чтобы получить 0,909 ROC AUC. На другом наборе, InjecAgent, классификатор без дообучения показал 0,931.
  • ❤ 1
  • 🔥 1
More from @mlsecfeed
  1. Sep 28, 2026За последние две недели слишком много новостей вокруг Jev, я решил собрать себе автообзор…
  2. Sep 27, 2026⚡ Julia 1: decision-модель на 144 млн параметров, которая работает даже на CPU Supersonic…
  3. Sep 26, 2026📣 Теперь публично. Запускаем соревнование ИИ-агентов по расследование инцидентов ИБ BlueS…
  4. Sep 25, 2026Microsoft выпустила скилл, который проверяет ИИ-агентов на дыры и фиксит всё 👍 run-assert…
  5. Sep 24, 2026Лаборатория Transluce провела большое расследование инцидентов с агентами OpenAI Они утвер…
  6. Sep 24, 2026https://pypi.org/project/agent-security-harness/3.7.0/#2
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →