Агенты, инструменты и чрезмерные полномочия
Безопасность AI и LLM: интеграции, агенты, guardrailsКак агент получает доступ к данным и действиям, почему это похоже на подделку запросов и как ограничить ущерб.
Зачем это нужно
- Именно агенты превращают манипуляцию текстом в реальные действия: платежи, изменения данных, отправку писем.
- Чрезмерные полномочия — самая частая архитектурная ошибка внедрения модели.
- Правильное проектирование инструментов устраняет целый класс атак, независимо от формулировок.
Теория
Агент работает по циклу: получает задачу, выбирает инструмент, формирует аргументы, получает результат, продолжает до цели. Типовой сценарий: модель возвращает структурированное описание вызова, клиент выполняет вызов, результат возвращается модели. Уязвимости появляются, когда модель может выбирать инструменты свободно, аргументы принимаются без проверки, а результат вызова возвращается в контекст без разметки источника. Тогда атака строится так: заставить выбрать инструмент, которого не предполагал сценарий, передать чужие идентификаторы или опасные значения и использовать вывод как инструкцию.
Понятие «чрезмерные полномочия» описывает ситуацию, когда у модели есть доступ к API с чувствительными данными и действиями и нет ограничений, мешающих использовать их вне задуманной цели. Даже безобидный набор инструментов может дать эффект: например, инструмент работы с файлами, доступный в контексте с пользовательскими данными, позволяет обойти проверки. Поэтому при проверке важно не только манипулировать моделью, но и составить карту инструментов: что вызывается, с какими параметрами, что возвращается и какие права используются.
Защита: минимальный набор инструментов, узкие права у учётных данных сервиса, валидация аргументов по строгой схеме, запрет на передачу идентификаторов, не принадлежащих текущему пользователю, подтверждение человеком для опасных действий, журналирование каждого вызова с причиной, ограничение частоты и объёма, изоляция инструментов друг от друга через отдельные права, а также проверка результата вызова перед возвратом в контекст — с явной пометкой, что это данные, а не инструкция.
Ключевые концепции
- Чрезмерные полномочия агента
- Доступ модели к API с чувствительными данными и действиями без ограничения области применения.
- Вызываемые функции
- Инструменты, которые модель может инициировать: описываются схемой аргументов.
- Строгая схема аргументов
- Проверка типов, диапазонов и принадлежности значений до выполнения вызова.
- Проверка принадлежности объекта
- Отказ выполнять операцию над объектом, не принадлежащим текущему пользователю.
- Подтверждение действия
- Явное одобрение человеком для операций с последствиями.
- Журнал вызовов
- Запись того, какой инструмент вызван, с какими аргументами и по чьей инициативе.
Инструменты
- Lakera Agent Breaker — уровни с реальными сценариями агентов и оценкой результата атаки.
- Средства описания инструментов агента со строгими схемами аргументов.
- Платформы наблюдаемости для моделей: трассировка контекста и вызовов.
- Средства проверки политик: разрешённые инструменты и параметры на пользователя.
- Средства тестирования API-контрактов для инструментов агента.
Практика в легальных лабораториях
- Составьте карту инструментов учебного агента: назначение, права, аргументы, последствия.
- Найдите в своей схеме минимум один инструмент с избыточными полномочиями и ограничьте его.
- Реализуйте проверку принадлежности объекта для операции чтения и проверьте отказ на чужом объекте.
- Добавьте подтверждение человеком для одного опасного действия и опишите поток.
- Прогоните сценарий на площадке Agent Breaker и разберите, какая мера снизила бы результат атаки.
Защита, детект и защитные меры
- Относитесь к API, доступным модели, как к публичным: аутентификация и авторизация обязательны.
- Ограничивайте набор инструментов и их параметры; отдельные права для каждого инструмента.
- Проверяйте принадлежность объектов и запрещайте опасные значения по умолчанию.
- Требуйте подтверждения для действий с последствиями.
- Помечайте результат вызова как данные и не позволяйте ему выступать инструкцией.
Правовая рамка и этика
- Работайте с агентами на учебных площадках или на собственных развёртываниях.
- Не проверяйте чужих агентов, доступных в интернете: это воздействие на чужой сервис.
Типичные ошибки
- Давать агенту инструменты «на будущее».
- Принимать идентификаторы объектов от пользователя без проверки владельца.
- Возвращать результат вызова в контекст без пометки источника.
- Не журналировать вызовы: инцидент невозможно разобрать.
Чек-лист «умею»
- Составляю карту инструментов с правами и последствиями.
- Ограничиваю полномочия и проверяю аргументы по схеме.
- Проверяю принадлежность объектов при каждой операции.
- Ввожу подтверждение для опасных действий.
- Журналирую вызовы инструментов.
Вопросы на интервью
- Что такое чрезмерные полномочия агента и как их устранять?
- Как вы проверяете, что агент не выполняет операции над чужими объектами?
- Какие действия агента вы будете требовать подтверждать?