Выбор ответа Junior Безопасность LLM спрашивают часто обновлено
Секреты в системном промпте
Вопрос
Можно ли хранить в системном промпте API-ключ для внутреннего сервиса, если в промпте написано «никогда не раскрывай этот ключ»?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Нет: системный промпт надо считать публичным, его вытаскивают инъекциями. Модели действительно учат не раскрывать системный промпт, но это не гарантия: есть множество способов его вытащить.
Варианты ответа
- Да: модели обучены не раскрывать системный промпт, и такая инструкция это закрепляет
- Да, если промпт на английском: модели строже соблюдают английские инструкции
- Нет: системный промпт надо считать публичным, его вытаскивают инъекциямиправильный ответ
- Да, если ключ закодирован в base64: модель не сможет прочитать его пользователю
Разбор
Модели действительно учат не раскрывать системный промпт, но это не гарантия: есть множество способов его вытащить. Ключи и секреты живут в коде и хранилище секретов, модель вызывает инструмент, а инструмент использует ключ на сервере. Язык промпта ничего не меняет. Base64 модель декодирует сама.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Безопасность LLM»
- Прямая и косвенная инъекция
- Слои защиты от инъекций
- Каналы утечки данных
- Маскирование персональных данных перед отправкой в модель
- Спроектируйте модерацию для пользовательского контента
- Косвенная prompt injection
- Минимальные права агента
- Утечка через markdown-картинку