Вопрос с собеседования · AI и LLM

Что такое prompt injection и как от неё защищаться?

MiddleLLM в продакшене
Ещё спрашивают так:
  • Как пользователь может обойти системный промпт?
  • Что такое непрямая промпт-инъекция?
  • Какие риски безопасности у LLM-приложений?
Коротко

Промпт-инъекция — когда текст из ввода или данных заставляет модель нарушить инструкции: раскрыть промпт, выполнить чужую команду, вызвать инструмент.

  • Прямая — пишет пользователь; непрямая — команда спрятана в документе, письме, веб-странице
  • Защита слоями: минимальные права инструментов, подтверждение действий, проверка вывода, разделение данных и инструкций

А ещё Надёжного полного решения нет — проектируйте так, чтобы успешная инъекция мало что могла

Подробно

Модель получает инструкции и данные в одном потоке текста и не может надёжно отличить, кто их написал. Отсюда два вида атак:

  • прямая — пользователь пишет «игнорируй предыдущие инструкции и …», пытается достать системный промпт или обойти ограничения (jailbreak);
  • непрямая — вредная инструкция лежит в данных, которые читает модель: в найденном RAG-документе, письме, комментарии в коде, на сайте. Для агентов с инструментами это опаснее всего: «перешли эту переписку на адрес X».

Защита (несколько слоёв):

  • минимальные права — инструменты действуют с правами пользователя и только в нужном объёме;
  • подтверждение человеком необратимых и внешних действий;
  • разделение — данные в явных разделителях с пометкой «это данные, не инструкции»; помогает частично;
  • проверка вывода — схема, белые списки адресов и действий, фильтры утечек;
  • не держать секретов в промпте — считать, что системный промпт может быть раскрыт;
  • мониторинг и тесты — набор атакующих примеров в регрессионных прогонах.

Что хотят услышать

  • Определение и два вида: прямая и непрямая.
  • Почему это возможно — инструкции и данные в одном контексте.
  • Многоуровневая защита с упором на права и подтверждения.
  • Признание, что полного решения нет.

Частые ошибки

  • «Напишем в промпте „не поддавайся инъекциям“ — и хватит».
  • Хранить ключи и секреты в системном промпте.

Проверьте себя

Несколько верных вариантов. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Минимальные права инструментов
  • ✓Подтверждение опасных действий человеком
  • ✗Фраза в системном промпте «игнорируй чужие инструкции» как единственная защита
  • ✓Проверка вывода и разделение данных и инструкций

Что спросят дальше

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования