Подмена инструкций, или prompt injection, возникает, когда ИИ воспринимает текст вопроса, документа или внешней страницы как команду, влияющую на его поведение. Для бизнеса последствия зависят от полномочий агента: он может исказить ответ или попытаться выполнить нежелательное действие. Снизить риск помогают границы доступа, проверка инструментов и подтверждение операций с серьёзными последствиями.
Методы защиты снижают риск и ограничивают последствия ошибки. OWASP указывает на пределы существующих методов и на то, что RAG сам по себе не устраняет эту уязвимость. OWASP: Prompt Injection.
Условная история одного документа
Представим компанию, где агент готовит ответ по техническому заданию клиента. В приложенном файле есть посторонняя инструкция, требующая изменить условия ответа и передать сведения наружу. Для обычного сотрудника этот текст выглядит странным. Модель может принять его за часть поручения.
Здесь две отдельные проблемы. Первая возникает, когда источник пытается управлять поведением модели. Вторая связана с доступными агенту действиями, последствия которых выходят за рамки чтения задания. Защита должна учитывать обе.
Для проектирования защиты нужно проследить путь данных: откуда приходит текст, кто его контролирует, куда он попадает и какие инструменты затем может вызвать агент.
Нарисуйте границы доверия
Составьте таблицу всех источников. Документы компании тоже проверяйте: часть могла быть загружена клиентом, получена по почте или изменена сотрудником без редакторской проверки.
| Вход | Кто контролирует содержание | Как использовать | Что ограничить |
|---|---|---|---|
| Системные правила приложения | Команда проекта | Порядок работы | Изменение через пользовательский текст |
| Сообщение сотрудника | Авторизованный пользователь | Задача в пределах его прав | Чужие данные и запрещённые операции |
| Файл клиента | Внешний отправитель | Материал для анализа | Превращение текста файла в полномочие |
| Сайт по ссылке | Владелец сайта | Проверяемый источник | Передачу данных на адреса из страницы |
| Ответ внешнего инструмента | Подключённая система | Данные конкретного запроса | Новые команды из свободного текста |
Это рекомендуемая модель для анализа, конкретные границы зависят от системы. Даже если сотрудник вправе поручить отправку, документ, который он просит прочитать, не получает такие же полномочия автоматически.
Что ограничить в инструментах
Перечислите функции агента поимённо: читать файл, искать документ, подготовить письмо, отправить письмо, изменить запись. Слишком широкая функция вроде «выполнить произвольную команду» усложняет контроль. Для ограниченной задачи полезнее узкая операция с проверяемыми параметрами.
В функции отправки рекомендуем проверять получателя, тип данных, разрешение пользователя и подтверждение конкретной версии сообщения. Источник из документа не должен самостоятельно менять эти условия. В функции чтения нужны ограничения по папкам и объектам.
OWASP Cheat Sheet предлагает многоуровневую защиту, выделение инструкций и данных, контроль инструментов и наблюдение за поведением системы. Отдельный фильтр полезен как часть такой схемы. OWASP: меры предотвращения подмены инструкций.
Практический вопрос подрядчику: «Если модель попросит отправить файл неизвестному адресату, какой код остановит действие?» Ответ должен показывать конкретную проверку. Одна формулировка в промпте оставляет существенную зависимость от поведения модели.
Проверка входного текста и её ограничения
Некоторые платформы предлагают средства выявления подозрительных инструкций. Microsoft, например, описывает Prompt Shields для пользовательских запросов и документов. Это дополнительный слой защиты в конкретной платформе. Microsoft: Prompt Shields.
Перед выбором такого средства проверьте его на ваших форматах: письмах, таблицах, вложениях, распознанных изображениях. Оцените две группы ошибок: опасный материал прошёл проверку; обычный рабочий материал заблокирован. Второй случай тоже влияет на процесс, особенно когда сотрудники начинают обходить неудобную проверку.
Обозначайте внешнее содержимое как материал для анализа. Убирайте из контекста секреты, которые не нужны задаче. Ограничивайте переходы по ссылкам и передачу полного диалога внешним сервисам. Эти меры сужают последствия даже при неверном решении модели.
Как испытать систему без риска для клиентов
Используйте отдельную среду, вымышленных получателей и тестовые документы. Внешние отправки должны уходить в контролируемый канал или блокироваться. Данные клиентов и рабочие ключи для такой проверки обычно не нужны.
Подготовьте безопасные примеры документов, которые пытаются изменить формат ответа, подменить основание решения или потребовать действие за пределами задачи. Проверяйте результат и вызовы инструментов. Отказ в тексте ответа не считается успехом, если нежелательный вызов уже произошёл.
Для каждого испытания сохраните вопрос, источник, разрешённые действия и фактический результат. После смены модели, добавления поиска или нового инструмента повторите проверки. Дополнительный инструмент меняет последствия возможной ошибки и требует пересмотра ограничений.
Если агент повёл себя неожиданно
Рекомендуем временно отключить спорную операцию и проверить журнал: какой источник использован, какие параметры сформированы, что реально выполнила внешняя система. Если исход отправки или изменения неизвестен, сначала выясните состояние. Повторять операцию вслепую опасно.
Сохраните отдельную защищённую запись с версией системы, источником и временем события. В обычном уведомлении сотруднику достаточно идентификаторов и краткого описания. Полный подозрительный документ может содержать чувствительные сведения, поэтому круг получателей такой записи следует ограничить.
Зафиксируйте причину, класс затронутых данных и способ исправления. Отдельно проверьте другие документы того же происхождения. При работе с персональными или конфиденциальными сведениями дальнейшие организационные и юридические действия определяют по обстоятельствам.
По итогам проверки руководитель должен получить карту входов, перечень разрешённых функций и доказательства блокировки конкретных нежелательных действий. Эти документы позволяют обсуждать защиту предметно и обновлять её вместе с развитием агента.
Источники
- OWASP LLM01: определение и ограничения защиты.
- OWASP Prompt Injection Cheat Sheet: принципы многоуровневой защиты.
- Microsoft Prompt Shields: средства проверки запросов и документов. Таблица и план испытаний предложены редакцией.
