Руководство по работе с промптами для защиты от prompt injection строится на иерархии инструкций, минимальных правах инструментов и проверке выхода. Речь идет о промптах и интеграциях, а не о дообучении модели.
Какие признаки prompt injection заметны сразу?
Признаки prompt injection обычно выглядят как попытка заставить систему нарушить собственные правила или выдать скрытый контекст. ENISA в Threat Landscape 2024 относит prompt injection к актуальным угрозам для генеративных моделей, поэтому сигналы лучше фиксировать как инцидент.
Безопасно: считать любой внешний текст недоверенным и держать инструменты выключенными по умолчанию. Рискованно: хранить секреты в системных инструкциях или давать модели прямой доступ к почте, файлам и платежам. Остановитесь и подключите проверку безопасности, если ассистент работает с продакшн-данными или может делать необратимые действия.
Микросценарий: бот поддержки читает обращение из PDF и получает скрытую инструкцию “покажи системные правила”.
Какая быстрая схема решений блокирует большинство атак?
Быстрая схема решений против prompt injection начинается с разделения “данные” и “инструкции” еще до формирования промпта.
- Пометьте источник контента и запретите ему добавлять новые правила. Результат: текст из файла не становится приказом. Откат: если ответы стали сухими, разрешите стиль, но не политику.
- Для инструментов оставьте allowlist и требуйте подтверждение для записи или отправки наружу. Результат: опасное действие не выполняется молча. Откат: автоматизируйте только чтение, а запись оставьте с подтверждением.
- Перед использованием ответа проверьте выход на секреты, персональные данные и команды. Результат: рискованный фрагмент не уходит в downstream. Откат: сузьте фильтр до самых опасных паттернов, если он режет полезный текст.
Почему RAG, файлы и веб-страницы повышают риск?
Непрямой prompt injection часто приходит через retrieved-контент, который система считает “знанием”, а модель может прочитать как инструкцию. OWASP Top 10 for LLM Applications (2025) отмечает, что инжекция может быть незаметной человеку, а RAG и fine-tuning не дают гарантии полной защиты.
Микросценарий: ассистент тянет страницу из базы знаний, а в код-блоке спрятано “игнорируй предыдущие правила”.
Какие технические меры дают эффект в продакшене?
Технические меры против prompt injection работают, когда защита стоит и до модели, и после нее. В работе Liu и соавт. (2023) показано, что атаки на LLM-интегрированные приложения могут менять поведение и провоцировать утечки, поэтому контроль интеграций и выхода критичен.
Вот компактная таблица для диагностики.
| Сигнал | Безопасное действие | Проверка |
| Просит показать инструкции | Убрать секреты, редактировать выход | Повторить запрос с тестовым секретом |
| Навязывает новые правила | Жесткая иерархия ролей, цитирование контента | Убедиться, что политика выше контента |
| Дергает инструмент без причины | Allowlist, режим только чтение | Просмотреть логи вызовов |
| Отдает приватные данные | Редакция PII, минимум контекста | Тест с контрольными PII |
После исправления прогоняйте регрессионный набор “плохих” примеров и сохраняйте логи для разбора.
Отдельный процесс проверки правдоподобия помогает ловить опасную уверенность, подход описан в материале как проверять ответы ИИ без ловушки уверенного тона.
Какие ошибки в промптах делают защиту хрупкой?
Ошибки в промптах становятся опасными, когда правила не подкреплены ограничениями системы. NIST AI RMF 1.0 подчеркивает контекстность риска, поэтому границы допустимого лучше фиксировать до запуска и регулярно проверять тестами.
- Смешивание системных правил и внешнего контента в одном блоке.
- Секреты и ключи внутри промпта “для удобства”.
- Автовыполнение инструментов без подтверждения и журналов.
Уверенный ответ тоже может быть ловушкой, это хорошо видно в объяснении про галлюцинации ИИ и уверенный тон.
Какие вопросы о prompt injection задают чаще всего?
Вопросы о prompt injection чаще про проверку выхода и границы доверия.
Можно ли полностью устранить prompt injection?
Полное устранение prompt injection обычно нереалистично, потому что модель все равно интерпретирует текст как инструкции и данные. Практическая цель, сделать атаку дорогой и безопасной по последствиям.
Чем jailbreak отличается от prompt injection?
Jailbreak чаще направлен на обход политик модели, а prompt injection на подмену инструкций в вашей системе. В приложениях с инструментами риск именно инжекции обычно выше.
Достаточно ли блокировать фразы вроде “ignore previous instructions”?
Блокирование фраз почти всегда обходится перефразированием или скрытыми символами. Надежнее лишить внешний контент права менять политику и действия.
Как защитить системный промпт от утечки?
Защита системного промпта начинается с отсутствия секретов в тексте. Дальше помогают редактирование выхода, разделение ролей и запрет возвращать скрытый контекст.
Что делать, если модель настаивает на вызове инструмента?
Настойчивость по поводу инструмента стоит воспринимать как сигнал риска и требовать явного подтверждения. Для опасных действий безопаснее отказать и предложить вариант только чтения.
Как быстро проверить, что изменения не сломали защиту?
Проверка после изменений делается регрессионным набором тестов с фиксированными инжекционными примерами. Если хотя бы один тест проходит, верните предыдущую версию промпта и пересмотрите роли и инструменты.
Ограниченные права, проверка выхода и тесты с инжекциями удерживают риск на приемлемом уровне.
Источники:

