Agentic AI Governance: как дать агенту автономию и не пустить инъекцию в банковский перевод

Автономия агента — не тумблер, а градация по риску. Архитектура policy-gated action loop, HITL для необратимого и kill-switch как штатный режим.

Agentic AI Governance: как дать агенту автономию и не пустить инъекцию в банковский перевод

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

По отчёту Saviynt 2026 лишь 5% security-лидеров уверены, что смогли бы сдержать скомпрометированного агента. Индустрия к агентным системам не готова, а они уже ходят в ваши внутренние API, создают тикеты и отправляют проекты решений клиентам.

Эта глава — про autonomy plane: как дать агенту делать полезную работу самому, но так, чтобы объём автономии был явно ограничен, необратимые действия согласованы, а опасное поведение перехвачено до последствий.

Бизнес-цель: градуированная автономия

Автономия агента градуирована по риску действия. Обещания бизнесу:

  1. Агент делает сам то, что дёшево откатить; всё необратимое и дорогое — через человека.
  2. Инъекция или галлюцинация не превращается в выполненное вредное действие.
  3. Любую агентную задачу можно остановить, а её незавершённые действия — заморозить.

Драйверы: угроза и регулятор

OWASP анонсировала Top 10 for Agentic Applications на Black Hat Europe 2025: excessive agency, tool misuse, memory poisoning, захват через инъекцию. OWASP LLM ставит проблему жёстче: LLM06 (Excessive Agency) и LLM01 (Prompt Injection как вектор захвата). EU AI Act в Art. 14 требует human oversight для high-risk систем — человек должен мочь вмешаться. А в роевой архитектуре одна ошибка усиливается до системной через каскад агентов.

Архитектурный паттерн: Bounded Autonomy & Policy-Gated Action Loop

Каждое действие агента проходит через детерминированный policy-гейт. Гейт решает: авто-исполнение, требование подтверждения человека или отказ. Автономия — не тумблер «вкл-выкл», а градация по классу риска действия.

Это прямое применение вывода из гл. 3 (out-of-band policy, CaMeL): безопасность действия решается вне модели — детерминированной политикой над происхождением и классом действия, которую нельзя уговорить инъекцией.

agent plan → выбор инструмента
      │
      ▼
[classify action risk] → read | reversible-write | irreversible | financial
      │
      ▼
[OPA policy gate] ── auto ──► execute (least-priv, short-lived creds)
      ├── HITL ──► approval queue ──► (человек) ──► execute | reject
      └── deny ──► block + audit (гл. 4)
      ▲
[kill-switch flag] ── прерывает цикл немедленно (гл. 8)

Инженерный стек

Слой Инструмент Назначение
Оркестрация LangGraph, CrewAI или собственный state-machine-раннер Явные состояния — требование архитектуры
Tool-протокол MCP (Model Context Protocol) Governance над серверами и скоупами
Policy OPA (Rego) Гейт действий
Kill-switch Feature-flags Немедленная остановка цикла
HITL Approval queue + аудит Подтверждение необратимых действий

Реализация: шесть шагов

Шаг 1. Каталог действий с классами риска

Каждое tool-действие получает класс и требуемый режим:

actions:
  search_customer:   {risk: read,             mode: auto}
  create_ticket:     {risk: reversible-write, mode: auto}
  update_limit:      {risk: irreversible,     mode: hitl}
  transfer_funds:    {risk: financial,        mode: hitl, second_approver: true}

Четыре класса — четыре режима. Чтение идёт автоматически. Создание тикета — тоже: его можно откатить. Изменение лимита требует человека. Перевод денег требует двух подтверждений.

Шаг 2. Policy-Gated Loop

Перед вызовом инструмента агент спрашивает OPA: можно ли, кому, при каких условиях — сумма, клиент, время, происхождение данных из гл. 3. Вердикт логируется (гл. 4). Политика написана на Rego, детерминирована и не подвержена социальному инжинирингу промпта.

Шаг 3. Least-privilege tools через MCP

MCP-серверы настраиваются с минимальными скоупами, short-lived отзываемыми кредами и allow-list инструментов на роль агента. MCP-серверы попадают в AIBOM (гл. 8) — это компоненты supply chain, и их учёт не отличается от учёта любой сторонней зависимости.

Шаг 4. Human-in-the-loop для необратимого

Необратимое или дорогое уходит в approval queue. Без подтверждения — для financial класса двух подтверждений — действие не исполняется. Это явный переход состояния, зафиксированный в оркестраторе, а не «модель решила, что можно».

Шаг 5. Memory governance

Память агента изолируется и валидируется — защита от memory poisoning из OWASP Agentic. TTL и права на записи. Отравленная память — способ протащить инъекцию между сессиями: агент «вспоминает» инструкцию, которую ему никогда не давали, и действует по ней.

Шаг 6. Лимиты и kill-switch

Лимит шагов и стоимости на задачу (стык с гл. 5); превышение — стоп и эскалация. Kill-switch (гл. 8) прерывает цикл немедленно и замораживает незавершённые действия. Это не аварийный режим — это штатный механизм управления контуром.

Где ломается

HITL-усталость

Слишком много подтверждений — и человек штампует «ок» не глядя. Rubber stamp: oversight формальный, человек в петле есть, контроля нет. Лечится тремя способами: HITL только для реально необратимого, батчинг однотипных запросов, внятный контекст в каждом запросе на подтверждение — чтобы человек видел, что именно одобряет, а не просто нажимал кнопку.

Инъекция обходит гейт логикой задачи

Агент «убеждён», что действие легитимно — indirect injection из данных (гл. 3). Письмо клиента содержит текст, который для модели выглядит как инструкция изменить лимит. Спасает не guard-модель, а провенанс-политика: действие спровоцировано недоверенным источником — deny. Происхождение данных проверяется до того, как действие попадает в гейт, и недоверенный источник не может санкционировать действие любого класса.

Композиция безопасных действий = опасный результат

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

Латентность гейтов

Каждый гейт — это задержка. Политики, проверка провенанса, approval queue — всё это ломает «живость» агента. Баланс автономии и контроля: чем больше гейтов, тем медленнее агент и тем меньше смысла в его автономии. Чем меньше гейтов, тем больше поверхность атаки. Решения нет — это инженерный компромисс, который нужно осознанно принимать на каждый класс действий.

Multi-agent

Ответственность размывается по рою. Трассировка причинности (гл. 4) усложняется: какой агент в цепочке принял решение, привёдшее к последствиям? Остановка (гл. 8) усложняется: kill-switch для одного агента не останавливает остальных. Рой требует собственного уровня координации и собственного kill-switch.

Стандарты и маппинг

Стандарт Покрытие
OWASP Top 10 for Agentic Applications Excessive agency, tool misuse, memory poisoning, injection
OWASP LLM LLM06 (Excessive Agency), LLM01 (Prompt Injection)
EU AI Act Art. 14 (human oversight), Art. 15 (robustness)
ISO/IEC 42001 Управление операциями и инцидентами ИИ
NIST AI RMF Manage (oversight, intervention)

Лаба и артефакт

Дать «Ковчегу»-агенту четыре инструмента разного класса риска через MCP. Настроить OPA-гейт, approval queue с двойным подтверждением для financial, step/budget-лимиты, memory-изоляцию и kill-switch. Провести red-team: indirect-инъекция из письма (кейс гл. 3), пытающаяся спровоцировать update_limit или transfer_funds.

Артефакт: каталог действий с классами риска + rego-гейты + журнал HITL + red-team отчёт по OWASP Agentic.

Полная инструкция: https://www.dobryakov.com/howto/ai-governance-agentic-governance.html

Чеклист зрелости

  • L1: агент с allow-list инструментов, логирование действий.
  • L2: policy-гейт по классам риска, HITL для необратимого, step/budget-лимиты, MCP с least-privilege.
  • L3: memory governance, kill-switch с учениями, out-of-band провенанс-политика, защита от композиционных атак, анти-rubber-stamp меры в oversight.

Источники


95% security-лидеров не уверены, что сдержат скомпрометированного агента. Если ваш агент уже ходит в API, а у вас нет policy-гейта, approval queue и kill-switch — вы в этих 95%. Посчитайте, сколько действий вашего агента относятся к классу irreversible или financial, и спросите себя: кто разрешает эти действия прямо сейчас — детерминированная политика или языковая модель, которую можно уговорить?

Leave a Reply

Your email address will not be published. Required fields are marked *