Защита от промт-инъекций
Jailbreak-атаки и промт-инъекции применяют для того, чтобы изменить поведение LLM: заставить модель обойти ограничения или выполнить что-то нежелательное. Jay Guard распознает такие угрозы и блокирует запросы до того, как они попадут в языковую модель.
Защита от промт-инъекций — отдельный платный модуль. Чтобы подключить его для вашего аккаунта, обратитесь к аккаунт-менеджеру. Без этого опция в настройках фильтра не появится.
Как работает защита
Jay Guard проверяет каждый пользовательский запрос. Если он находит попытку инъекции или манипуляции, запрос отклоняется и до LLM не доходит.
При интеграции с Jay Copilot пользователь увидит уведомление о блокировке:
Сообщение заблокировано
Ваша компания блокирует отправку этого сообщения нейросети по следующим политикам: Защита от промт-инъекций.
Отредактируйте сообщение и повторите попытку. Если вы считаете, что произошла ошибка, свяжитесь со своим администратором.
Как включить защиту
- При создании или редактировании фильтра включите опцию Защита от промт-инъекций.
- Сохраните изменения.
Особенности и ограничения
-
Защита работает только при проксировании в LLM (сообщений чата). Отдельного метода API для проверки произвольного текста на инъекции нет.
-
Сканируется только текст. Вложения (изображения, аудио и другие файлы) система не проверяет.
подсказкаЧтобы контролировать отправку файлов в модель, настройте фильтрацию вложений.
-
Система проверяет запрос пользователя перед отправкой в LLM. Ответ модели проверяется, если фильтр с этой защитой назначен фильтром ответов.
-
Вердикт модуля бинарный: запрос либо распознается как промт-инъекция или jailbreak-атака и блокируется, либо признается безопасным и пропускается в LLM. Тип атаки не детализируется.
Мониторинг заблокированных запросов
События блокировки фиксируются в разделе Аудит. У отклоненного запроса будет указано действие deny, а в поле Обнаружено при модерации развернутой записи появится Защита от промт-инъекций.
Действие redact (маскирование) для данного типа проверок не используется.
Использование через API
Проверка работает для эндпоинтов проксирования: POST /api/dataguard/public/{serviceName}/{proxyPath}, где {serviceName} — имя сервиса (например, openai).
Условия срабатывания:
- опция защиты включена в настройках применяемого фильтра;
- тело запроса передается в формате JSON;
- в теле запроса присутствует текст для анализа (сообщения, состоящие только из вложений, пропускаются).
Результат проверки
- Угроза не найдена — запрос уходит к LLM, клиент получает ответ от модели.
- Обнаружена инъекция — запрос прерывается, Jay Guard применяет действие
deny.
Если для запроса одновременно срабатывает правило маскирования данных (redact), система все равно заблокирует весь запрос, так как действие deny имеет приоритет (allow < redact < deny).
Ответ API при блокировке
В случае выявления атаки или инъекции Jay Guard возвращает HTTP-статус 400 с JSON-телом:
{
"error": {
"error": "dataguard.request_action.deny",
"message": "Request denied due to internal policies",
"args": {
"moderators": [
{
"key": "prompt-injection-detector",
"localization": { "EN": "Prompt injection protection", "RU": "Защита от промт-инъекций" }
}
]
}
}
}
В ответе:
error.error— код ошибки, всегда принимает значениеdataguard.request_action.deny.error.message— фиксированный текст сообщения.error.args.moderators— список сработавших проверок.
Для сравнения: если запрос блокируется по правилу маскирования персональных данных, вернется код dataguard.common.personal_data_detected.
При прямой интеграции по API вам необходимо самостоятельно обрабатывать статус 400 и код dataguard.request_action.deny, чтобы формировать уведомление для пользователя.