Перейти к содержимому
Экосистема AI Vibe

Разборы

AI-guardrail может быть «зелёным» и при этом не ловить инъекции в агенте

Редакция 30 сентября 2026 г.

AI-guardrail может быть «зелёным» и при этом не ловить инъекции в агенте

Три отказа защиты вокруг LLM: сервис лежит, ловит мало или формально работает, проходит проверку живости и молча пропускает атаки. Соло, который один настраивает фильтр перед продовым агентом, в третьем режиме рискует сильнее, чем при явном падении: дашборд успокаивает, пока инъекция уходит в вывод инструментов. В разборе Rudratosh Shastri показывает это на бенчмарке реальных атак на агентов; код и перебор порогов лежат в репозитории buried-injections.

Зелёный мониторинг при уязвимом агенте

Автор делит сбои guardrail на громкий (сервис недоступен), слабый (доля перехватов видна в метриках) и бессимптомный: детектор отвечает, логи чистые, скоры приходят, но из‑за порога решения ничего не блокируется. Такой режим он называет «green by construction»: формально всё в порядке, эффективность нулевая.

Для стека с AI-агентами картина воспроизводима на бенчмарке. Атаки спрятаны в типичный вывод инструментов: счёт, письмо, фрагмент страницы, тот же контур, через который агент читает результаты tools. Проверка живости процесса не подтверждает, что атака реально режется в вашем трафике. При доле перехватов около 1% и около 99% картина «здоровья» в дашборде совпадает, пока не случится инцидент.

Зелёный статус guardrail не заменяет проверку, что известная атака блокируется в вашем трафике.

Meta Prompt Guard 2 на 629 атаках AgentDojo

Rudratosh Shastri прогоняет Meta Prompt Guard 2, модель, которую часто упоминают в разговорах про prompt injection. На 629 атак из AgentDojo (плюс 97 безвредных выводов tools и сравнение 10 open-source детекторов) при стандартном пороге 0.5 (block if P(malicious) ≥ 0.5) поймано 6 атак, порядка 1%.

Важно: модель ранжирует вредоносное выше безвредного. Типичные скоры атаки и нормального трафика в эксперименте около 0.009 и 0.0008 против отсечки 0.5. Сигнал различим, но при текущей точке отсечения все запросы получают ALLOW.

Автор сравнивает чувствительность с «дымовым извещателем, настроенным только на сверхновую». Для агентного пайплайна это значит: инъекция может пройти в цепочку вызовов tools, пока вы смотрите на uptime детектора.

Одно число порога: от 1% к 621 из 629

Тот же вес, те же запросы, меняется только порог отсечения. При значении 0.003, с калибровкой под бюджет ложных срабатываний «не больше 2%» на нормальном трафике AgentDojo (модель под этот домен не тюнилась), результат 621 из 629 блокировок, около 99% на этом наборе.

Автор явно оговаривает: 99% не означает «prompt injection решена». Это общий wrapper в AgentDojo, headline для привлечения внимания к другой мысли. Суть в сбое калибровки дефолта: отсечка 0.5 для таких скоров завышена примерно на порядок (~50× в формулировке автора; в honesty clause поста фигурирует и ~100×). Дефолт 0.5 описан как «очевидный» способ включить бинарный классификатор; на buried attacks без перенастройки он бесполезен.

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

Что проверить вокруг guardrail у своего агента

Если вы один собираете защитный слой вокруг чата или агента, без отдельной команды безопасности, опирайтесь на чеклист из источника, без дефолта вендора:

  1. Различимость и рабочая точка: отдельно смотрите, отличает ли модель атаку от безвредного трафика и где стоит порог блокировки. Хороший rank при плохой отсечке даёт ноль в проде.
  2. Перебор на своих данных: не переносите 0.5 с чужого бенчмарка на свой tool output.
  3. Доля перехватов вместе с ложными тревогами: блокировки легитимных запросов обязательны в отчёте.
  4. Живая проверка: прогоните известную атаку через работающий guardrail и убедитесь, что приходит block; health check этого не заменяет.
  5. Красная команда конфига: порог в YAML/конфиге так же важен, как веса модели.

Те же «тихие» отказы автор проводит аналогиями: WAF в log-only, алерт в заглушенном канале, MFA с legacy API path, зелёные тесты с skip. Для агентов аналог прост: детектор в цепочке есть, но порог не настроен под ваше распределение скоров.

В обсуждении под постом уточняют живую проверку: rotating canary из held-out pool и перекалибровка на свежем трафике; автор соглашается разводить дрейф данных и реальную эффективность. Для практики соло это напоминание: раз в спринт смотреть uptime и гонять контрольную атаку после смены конфига или версии детектора.

Источники

  • Rudratosh Shastri, «Your AI guardrail is green. It's also catching nothing.» — Dev.to (опубликовано 2026-09-30, доступ при обогащении: 2026-09-30 UTC)
  • Репозиторий бенчмарка buried injections — https://github.com/rudratoshs/buried-injections (доступ: 2026-09-30 UTC)