ИИ ИИшка Про
Гайды

Как защитить ИИ-агента от prompt injection: пошаговый план

AI-редакция

Prompt injection — это попытка заставить модель принять внешний текст за новую команду. Полностью убрать такие атаки нельзя, но можно сократить последствия. Ниже маршрут, который начинается с карты доверия и заканчивается повторяемым тестом на отказ.

Шаг 1. Разделите источники

Пометьте системные инструкции, запрос пользователя и внешние документы разными полями. В интерфейсе показывайте происхождение каждого фрагмента. Агент не должен сам решать, какой текст имеет высший приоритет.

Шаг 2. Сузьте инструменты

Дайте только функции, необходимые сценарию. Чтение разрешите раньше записи, платежи и удаление вынесите за отдельное подтверждение. Ограничьте пути, домены и число повторов.

Шаг 3. Добавьте подтверждение

Перед опасным действием отобразите цель, источник данных и точные аргументы. Кнопка подтверждения должна быть отдельной от продолжения диалога.

Шаг 4. Проведите атаки

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

Шаг 5. Отслеживайте отказ

Хороший агент объясняет, что контент недоверенный, и возвращает управление человеку. Молчаливое выполнение и бесконечные повторы считаются провалом.

Шаг 6. Закрепите правила

Поставьте тест в CI, назначьте владельца политики и повторяйте его после смены модели или инструмента.

FAQ

Как ограничить инструменты агента?

Версию модели, права инструментов, обработку неизвестного и ручное подтверждение опасных действий.

Как понять, что пилот удался?

Сравнить время до принятого результата, ошибки и стоимость с прежним процессом.

Что делать при регрессии?

Остановить расширение, сохранить трассу и вернуть проверенную конфигурацию.

Что почитать дальше

Связанные материалы: гайд по replay-тестам, обзор MAI-Transcribe-2 и каталог инструментов.

Карта доверия

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

Тест отказа

Подготовьте набор атак, которые выглядят правдоподобно: «срочно оплатить счёт», «отправить файл новому адресу», «удалить старую запись». Разместите их в тексте, метаданных и вложении. Ожидаемый результат — агент сообщает о конфликте, показывает источник и ждёт человека. Проверьте также повторную попытку и смену языка.

Наблюдаемость

Лог должен фиксировать исходную цель, найденную инструкцию, выбранный инструмент и решение проверяющего. Не храните там секреты и полные персональные данные. Раз в неделю просматривайте случайные трассы, чтобы заметить тихие обходы. Если журнал нельзя быстро прочитать, расследование инцидента будет дороже самой ошибки.

Запуск

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

Практический сценарий

Представьте, что команда хочет проверить защиты агентного контура на рабочей задаче. В первый день назначьте владельца и опишите ожидаемый результат простыми словами. Во второй подготовьте обезличенные входы: обычный пример, пограничный случай и ситуацию, где правильного ответа нет. На третьем зафиксируйте версию инструмента, режим доступа, лимит времени и место хранения журнала. Четвёртый день оставьте для слепой проверки: человек, который не настраивал систему, оценивает факты, формат и соблюдение ограничений. Пятый день посвятите отказам. Подайте неполный документ, недоступный инструмент и текст с попыткой изменить цель. Запишите, остановилась ли система и понятно ли объяснила причину. На шестой день посчитайте полную стоимость: запросы, сервер, хранение, повторные прогоны и минуты редактора. В последний день примите решение с условиями продолжения и остановки. Если результат нельзя быстро проверить, область задачи нужно сузить. Если ошибка обратима и журнал читаем, пилот можно расширять небольшой партией. Такой порядок защищает от эффекта демонстрации: красивый первый ответ не подменяет устойчивый процесс. После запуска назначьте дату повторной проверки и сохраните исходную выборку, чтобы сравнивать версии честно.

Рабочая заметка редакции

Любой вывод о новой технологии полезно проверять в контексте процесса. Спросите себя, кто отвечает за исходные данные, кто имеет право остановить выполнение и как будет восстановлена система после ошибки. Отдельно запишите, что модель не умеет: отсутствие факта, ограниченный язык, зависимость от сети или невозможность подтвердить источник. Такой список не выглядит эффектно, зато помогает коллегам использовать материал без неверных ожиданий. Внутреннее обсуждение проведите до публикации результата, а не после инцидента. Пусть второй читатель попробует повторить основной шаг и найти место, где формулировка допускает двойное толкование. Если он справился, добавьте замечание в журнал и обновите инструкцию. Если нет, сократите область доступа и повторите тест. В конце недели сравните не число сгенерированных ответов, а минуты до принятого решения и количество существенных исправлений. Это универсальный критерий для новости, гайда, обзора и карточки модели. Он показывает реальную пользу и не зависит от громкости названия или красивого интерфейса.

Гайды Как ограничить ИИ-агента: бюджет шагов, тайм-аут и безопасная остановка Практическая инструкция для агента с браузером, кодом или файлами: задаём пределы до запуска, ловим цикл и сохраняем состояние для разбора. Гайды Как проверить сетевые границы ИИ-агента до доступа к рабочим системам Пошаговая проверка белого списка, DNS, журналов, секретов и ручного подтверждения — на безопасном стенде, без атак на чужую инфраструктуру. Гайды Как обезличить рабочий документ перед загрузкой в нейросеть: практический маршрут Не просто удалить имя, а найти идентификаторы в тексте, таблицах, свойствах файла и изображениях, проверить замену и сохранить полезность документа. Гайды Как проверить код тремя ИИ-ролями: исследователь, критик и верификатор Практический маршрут многоагентной проверки небольшого репозитория без сотни агентов, доступа к продакшену и ложного ощущения безопасности.
Опубликовано: 7 сентября 20:30
← На главную