Что такое prompt injection и как от неё защищаться?
- Как пользователь может обойти системный промпт?
- Что такое непрямая промпт-инъекция?
- Какие риски безопасности у LLM-приложений?
Промпт-инъекция — когда текст из ввода или данных заставляет модель нарушить инструкции: раскрыть промпт, выполнить чужую команду, вызвать инструмент.
- Прямая — пишет пользователь; непрямая — команда спрятана в документе, письме, веб-странице
- Защита слоями: минимальные права инструментов, подтверждение действий, проверка вывода, разделение данных и инструкций
А ещё Надёжного полного решения нет — проектируйте так, чтобы успешная инъекция мало что могла
Подробно
Модель получает инструкции и данные в одном потоке текста и не может надёжно отличить, кто их написал. Отсюда два вида атак:
- прямая — пользователь пишет «игнорируй предыдущие инструкции и …», пытается достать системный промпт или обойти ограничения (jailbreak);
- непрямая — вредная инструкция лежит в данных, которые читает модель: в найденном RAG-документе, письме, комментарии в коде, на сайте. Для агентов с инструментами это опаснее всего: «перешли эту переписку на адрес X».
Защита (несколько слоёв):
- минимальные права — инструменты действуют с правами пользователя и только в нужном объёме;
- подтверждение человеком необратимых и внешних действий;
- разделение — данные в явных разделителях с пометкой «это данные, не инструкции»; помогает частично;
- проверка вывода — схема, белые списки адресов и действий, фильтры утечек;
- не держать секретов в промпте — считать, что системный промпт может быть раскрыт;
- мониторинг и тесты — набор атакующих примеров в регрессионных прогонах.
Что хотят услышать
- Определение и два вида: прямая и непрямая.
- Почему это возможно — инструкции и данные в одном контексте.
- Многоуровневая защита с упором на права и подтверждения.
- Признание, что полного решения нет.
Частые ошибки
- «Напишем в промпте „не поддавайся инъекциям“ — и хватит».
- Хранить ключи и секреты в системном промпте.
Проверьте себя
Несколько верных вариантов. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Минимальные права инструментов
- ✓Подтверждение опасных действий человеком
- ✗Фраза в системном промпте «игнорируй чужие инструкции» как единственная защита
- ✓Проверка вывода и разделение данных и инструкций
Что спросят дальше
Разбор темы
- Инструменты, агенты и безопасность
Как модель вызывает функции, когда нужен агент, что такое MCP и почему prompt injection — главная угроза агентам.
Связанные вопросы
- Как писать хорошие промпты? Junior
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.