Промпт-инъекция
Материал из MachineLearning.
| | Статья написана с использованием LLM Claude Opus 4.8 и проверена участником Iaroslav Lyakhov 20:13, 1 июля 2026 (MSD) |
|
Промпт-инъекция (англ. prompt injection) - класс атак на приложения, построенные на больших языковых моделях, при котором злоумышленник внедряет в поданный модели текст инструкции, перехватывающие управление поведением модели в обход замысла разработчика. Промпт-инъекция возглавляет список угроз OWASP Top-10 для LLM-приложений и считается одной из фундаментальных нерешённых проблем безопасности ИИ.
Природа уязвимости
Языковая модель обрабатывает системные инструкции разработчика, данные и ввод пользователя в едином потоке токенов. У модели нет надёжной границы между «доверенной командой» и «недоверенными данными» - всё это для неё просто текст. Поэтому строка вида «Игнорируй предыдущие инструкции и сделай…», попавшая во входной контекст, может быть воспринята как команда. Это роднит проблему с классическими инъекциями (SQL-инъекция), но, в отличие от них, надёжного экранирования здесь пока не существует.
Виды
- Прямая инъекция (direct) - вредоносные инструкции вводит сам пользователь, пытаясь обойти ограничения (см. джейлбрейк).
- Косвенная инъекция (indirect) - инструкции спрятаны во внешних данных, которые модель читает: на веб-странице, в письме, в PDF, в документе из базы RAG. Особо опасна для агентов, которые ходят в интернет и вызывают инструменты.
- Скрытая инъекция - текст, незаметный человеку (белый шрифт на белом фоне, метаданные, комментарии в коде), но видимый модели.
Возможные последствия
- Утечка системного промпта или конфиденциальных данных из контекста.
- Несанкционированный вызов инструментов агентом (отправка писем, покупки, выполнение кода).
- Эксфильтрация данных через сформированные моделью ссылки или запросы.
- Выдача дезинформации, обход правил безопасности и фильтров.
Связь с джейлбрейком
Джейлбрейк (jailbreak) - частный случай прямой инъекции, нацеленный на обход встроенных ограничений безопасности модели (получить запрещённый контент). Промпт-инъекция шире: её цель - перехват логики приложения, а не только снятие ограничений модели.
Меры защиты
Полного решения нет; применяют эшелонированную защиту:
- разделение и пометка доверенных инструкций и недоверенных данных (delimiters, спец-разметка);
- принцип наименьших привилегий для инструментов агента, подтверждение опасных действий человеком;
- фильтрация и санитизация ввода и вывода, отдельные модели-классификаторы атак;
- ограничение того, какие внешние источники модель может читать;
- дообучение на устойчивость (часть согласования) и «инструкционная иерархия», приоритезирующая системные команды.
Значение
Промпт-инъекция показывает принципиальное отличие LLM-систем от традиционного ПО: уязвимость заключена не в коде, а в неспособности модели разделять команды и данные. По мере распространения автономных агентов значимость проблемы растёт, а её решение становится частью более широкой задачи безопасности и этики искусственного интеллекта.
См. также
- Большая языковая модель
- Агентный искусственный интеллект
- RAG
- Риски искусственного интеллекта
- Промпт-инжиниринг
Литература
- Greshake K. и др. Proc. of the 16th ACM Workshop on Artificial Intelligence and Security (AISec). — 2023.
- OWASP Foundation OWASP Top 10 for Large Language Model Applications

