Работает только комбинация подходов: часть на уровне модели, часть — на уровне системы.
1️⃣ Spotlighting (разметка недоверенного контента)
Любой внешний текст (email, веб-страница, документ) оборачивается в <UNTRUSTED>...</UNTRUSTED>. Модель должна воспринимать его как данные, а не инструкции.
2️⃣ Instruction hierarchy (приоритет инструкций)
Системный и developer prompt всегда выше пользовательского ввода, а пользовательский — выше стороннего контента. Это снижает шанс, что внешние данные «перепишут» логику.
3️⃣ Least-privilege tools (минимальные права)
Агенту дают только те инструменты, которые реально нужны. Чем меньше возможностей — тем меньше ущерб при успешной инъекции.
4️⃣ Human-in-the-loop (подтверждение действий)
Критичные операции (письма, удаление данных, доступы) требуют явного подтверждения. Это простой, но эффективный стоп-кран.
5️⃣ Planner / Executor split (разделение ролей)
Одна модель планирует и работает с инструментами, другая читает недоверенный контент, но ничего не может выполнить. Даже если её «сломают» — дальше атака не пойдёт.
Больше можно узнать об ИИ-агента тут.
🐸 Библиотека хакера
#cheat_sheet
