Prompt injection: объяснить и защититься
Вопрос
Расскажите, что такое prompt injection и как вы защищаете от неё LLM-приложение с инструментами.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Инструкции и данные в одном текстовом канале
Прямая и косвенная инъекция с примерами
На уровне модели надёжной защиты нет
Архитектура: минимальные права, подтверждения, изоляция пользователей
Фильтры входа и выхода как дополнительный слой
Закрыть каналы утечки и вести аудит
Что могут спросить следом
- Как протестировать приложение на инъекции?
- Чем опасен MCP-сервер стороннего разработчика?
Разбор
Образцовый ответ: «Модель получает и инструкции, и данные одним текстом, поэтому любая строка в контексте может попытаться ею управлять. Прямая инъекция, это когда пользователь пишет "забудь правила". Косвенная опаснее: инструкция лежит в письме, на странице или в документе, а агент её читает. Надёжного фильтра нет, поэтому я исхожу из того, что модель могут обмануть, и ограничиваю последствия. Инструменты узкие и работают с правами текущего пользователя. Чувствительные действия, вроде отправки писем и платежей, только после подтверждения. Данные пользователей изолированы. Внешние картинки и ссылки в ответе не рендерю или пропускаю только белый список. Сверху фильтры: классификатор инъекций, проверка ответа. И аудит вызовов инструментов. Тестирую набором атак, включая косвенные через документы, и регулярно его пополняю».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Безопасность LLM»
- Прямая и косвенная инъекция
- Слои защиты от инъекций
- Каналы утечки данных
- Маскирование персональных данных перед отправкой в модель
- Спроектируйте модерацию для пользовательского контента
- Косвенная prompt injection
- Минимальные права агента
- Утечка через markdown-картинку