Безопасность AI-агентов: что может пойти не так, когда LLM дали руки
Чат-бот, который отвечает текстом, может максимум наговорить лишнего. Агент — другое дело: у него есть инструменты, и он сам решает, когда их дёргать. Письмо, платёж, запись в CRM, запрос во внутренний API — всё это теперь делает модель, которую можно убедить текстом. Разбираем, что идёт не так у агентов в проде и как строить их безопасно.
Excessive agency: главный риск агентов
OWASP называет это excessive agency — избыточная самостоятельность: у агента больше возможностей, чем требует сценарий. Инструмент «посмотреть заказ» принимает любой ID, а не только заказы текущего пользователя. Инструмент «отправить письмо» пишет на любой адрес. Агент поддержки может делать возвраты без лимита суммы. Пока модель ведёт себя хорошо, всё работает; когда её убеждают — каждое лишнее право превращается в действие атакующего.
Ключевая мысль: агент — это недоверенный пользователь ваших инструментов. Модель нельзя «допросить» и нельзя гарантировать её решения, поэтому права должны ограничиваться там, куда убеждение не дотягивается — в коде инструментов и на сервере.
Типовые сценарии атак на агентов
- ◇Кража действий через косвенную инъекцию: агент читает письмо, тикет или страницу с вложенной командой — и выполняет её от имени легитимного пользователя: пересылает данные, меняет записи, инициирует платёж. Классический confused deputy: правами обладает агент, командует — атакующий.
- ◇Эксфильтрация через безобидные инструменты: даже «только чтение» опасно, если у агента есть канал наружу — браузинг, вебхук, письмо. Данные из контекста упаковываются в URL-параметры или тело письма и уходят.
- ◇Отравление памяти: если агент запоминает факты между сессиями, инъекция один раз записывает в память инструкцию — и та срабатывает во всех последующих диалогах, уже без атакующего.
- ◇Злоупотребление цепочкой агентов: в мультиагентных системах выход одного агента — вход другого. Инъекция, проглоченная «безобидным» агентом-ресёрчером, доезжает до агента с правами на запись.
- ◇Раскрутка привилегий через уточнения: агент по одному выдаёт кусочки — список инструментов, форматы параметров, внутренние URL — и атакующий собирает карту системы для точной атаки.
Принципы безопасной архитектуры агента
- ◇Минимальные права на инструмент: каждый инструмент проверяет права текущего пользователя в своём коде и жёстко валидирует параметры. Не «модель не должна», а «инструмент не может».
- ◇Скоупинг сессии: агент действует от имени конкретного пользователя с его правами, а не от сервисной учётки с доступом ко всему.
- ◇Подтверждение необратимого: платёж, удаление, отправка вовне — через явное подтверждение человека. Модель предлагает, человек решает.
- ◇Изоляция недоверенного контента: всё, что агент прочитал извне (письма, страницы, документы), маркируется как данные; выводы из такого контента не должны напрямую становиться параметрами инструментов.
- ◇Память с модерацией: записи в долгосрочную память — отдельная привилегия; что записано, можно посмотреть и почистить.
- ◇Аудит каждого вызова: полный лог «диалог → решение → инструмент → параметры → результат» с алертами на аномальные цепочки.
Как агентов тестируют
Аудит агента — это комбинация пентеста LLM-слоя и классического пентеста API: сначала карта инструментов и прав (что агент умеет, от чьего имени, с какими параметрами), затем атаки на слой убеждения (инъекции прямые и косвенные, многоходовые сценарии, отравление памяти) и параллельно — прямые атаки на инструменты в обход модели: та же матрица «роль × объект», что и в пентесте API. Частая находка: сам бэкенд инструментов не проверяет права вообще, полагаясь на то, что «агент лишнего не вызовет».
Каждая находка фиксируется транскриптом и воспроизводимым сценарием. Базовые проверки одного агента входят в бесплатный экспресс-аудит; полный аудит с инструментами, памятью и цепочками — 2–3 недели, $3 600–9 000.
FAQ
За 2 дня: инъекции, попытки увода действий, утечка промпта и карты инструментов. Короткий отчёт с транскриптами — что реально работает против вашего агента.
Записаться на экспресс-аудит