Безопасность AI-агентов: что может пойти не так, когда LLM дали руки

2026-09-04

Чат-бот, который отвечает текстом, может максимум наговорить лишнего. Агент - другое дело: у него есть инструменты, и он сам решает, когда их дёргать. Письмо, платёж, запись в CRM, запрос во внутренний API - всё это теперь делает модель, которую можно убедить текстом. Разбираем, что идёт не так у агентов в проде и как строить их безопасно.

Excessive agency: главный риск агентов

OWASP называет это excessive agency - избыточная самостоятельность: у агента больше возможностей, чем требует сценарий. Инструмент «посмотреть заказ» принимает любой ID, а не только заказы текущего пользователя. Инструмент «отправить письмо» пишет на любой адрес. Агент поддержки может делать возвраты без лимита суммы. Пока модель ведёт себя хорошо, всё работает; когда её убеждают - каждое лишнее право превращается в действие атакующего.

Ключевая мысль: агент - это недоверенный пользователь ваших инструментов. Модель нельзя «допросить» и нельзя гарантировать её решения, поэтому права должны ограничиваться там, куда убеждение не дотягивается - в коде инструментов и на сервере.

Типовые сценарии атак на агентов

  • ◇Кража действий через косвенную инъекцию: агент читает письмо, тикет или страницу с вложенной командой - и выполняет её от имени легитимного пользователя: пересылает данные, меняет записи, инициирует платёж. Классический confused deputy: правами обладает агент, командует - атакующий.
  • ◇Эксфильтрация через безобидные инструменты: даже «только чтение» опасно, если у агента есть канал наружу - браузинг, вебхук, письмо. Данные из контекста упаковываются в URL-параметры или тело письма и уходят.
  • ◇Отравление памяти: если агент запоминает факты между сессиями, инъекция один раз записывает в память инструкцию - и та срабатывает во всех последующих диалогах, уже без атакующего.
  • ◇Злоупотребление цепочкой агентов: в мультиагентных системах выход одного агента - вход другого. Инъекция, проглоченная «безобидным» агентом-ресёрчером, доезжает до агента с правами на запись.
  • ◇Раскрутка привилегий через уточнения: агент по одному выдаёт кусочки - список инструментов, форматы параметров, внутренние URL - и атакующий собирает карту системы для точной атаки.

Принципы безопасной архитектуры агента

  • ◇Минимальные права на инструмент: каждый инструмент проверяет права текущего пользователя в своём коде и жёстко валидирует параметры. Не «модель не должна», а «инструмент не может».
  • ◇Скоупинг сессии: агент действует от имени конкретного пользователя с его правами, а не от сервисной учётки с доступом ко всему.
  • ◇Подтверждение необратимого: платёж, удаление, отправка вовне - через явное подтверждение человека. Модель предлагает, человек решает.
  • ◇Изоляция недоверенного контента: всё, что агент прочитал извне (письма, страницы, документы), маркируется как данные; выводы из такого контента не должны напрямую становиться параметрами инструментов.
  • ◇Память с модерацией: записи в долгосрочную память - отдельная привилегия; что записано, можно посмотреть и почистить.
  • ◇Аудит каждого вызова: полный лог «диалог → решение → инструмент → параметры → результат» с алертами на аномальные цепочки.

Как агентов тестируют

Аудит агента - это комбинация пентеста LLM-слоя и классического пентеста API: сначала карта инструментов и прав (что агент умеет, от чьего имени, с какими параметрами), затем атаки на слой убеждения (инъекции прямые и косвенные, многоходовые сценарии, отравление памяти) и параллельно - прямые атаки на инструменты в обход модели: та же матрица «роль × объект», что и в пентесте API. Частая находка: сам бэкенд инструментов не проверяет права вообще, полагаясь на то, что «агент лишнего не вызовет».

Каждая находка фиксируется транскриптом и воспроизводимым сценарием. Базовые проверки одного агента входят в бесплатный экспресс-аудит; полный аудит с инструментами, памятью и цепочками - 2–3 недели, 305 000–765 000 ₽.

FAQ

Наш агент работает только внутри компании. Риски те же?
Векторы те же, меняется модель нарушителя: вместо внешнего атакующего - инсайдер или инъекция через внешние данные (письма, документы, тикеты от клиентов), которые внутренний агент всё равно читает. Плюс внутренние агенты обычно имеют больше прав - цена успешной атаки выше.
Мы используем готовый фреймворк агентов. Это решает вопрос безопасности?
Фреймворк даёт механизмы (скоупы, валидацию, human-in-the-loop), но не решает за вас главное: какие права дать инструментам и где требовать подтверждения. Почти все находки в наших аудитах агентов - решения интеграции, а не баги фреймворков.
С чего начать, если агент уже в проде?
С инвентаризации прав: список инструментов, что каждый может, от чьего имени работает, какие проверки есть на бэкенде. Уже на этом шаге обычно находятся лишние права. Дальше - экспресс-аудит: за 2 дня покажем, что из этого эксплуатируется на практике.
Экспресс-аудит вашего агента - бесплатно

За 2 дня: инъекции, попытки увода действий, утечка промпта и карты инструментов. Короткий отчёт с транскриптами - что реально работает против вашего агента.

Записаться на экспресс-аудит