(Securing Agentic Applications Guide)
Это руководство дополняет документ ASI Threats & Mitigations и предлагает практические советы. Ниже — краткий разбор ключевых выводов, угроз и архитектурных моментов для тех, кто разрабатывает или защищает такие системы.
1. Что такое агентные приложения?
Агент = LLM + логика планирования + память + доступ к инструментам (API, файлы, браузер, ОС и др.).
Архитектуры бывают:
Последовательная (Sequential) — один агент с линейным выполнением задач.
Иерархическая (Hierarchical) — оркестратор координирует подагентов.
Рой / сеть (Swarm / Mesh) — децентрализованное взаимодействие агентов.
2. Поверхности атаки (KC) и ключевые угрозы
Компонент — Основные риски:
KC1: LLM — галлюцинации (T5), перехват целей (T6), дрейф поведения (T7).
KC2: Оркестрация — потеря контроля, спуфинг, “беглые” агенты (T9, T13).
KC3: Планирование — отравленные цепочки решений (T5, T6), непрослеживаемая логика (T8).
KC4: Память — утечка контекста, отравление, перекрестное загрязнение между пользователями (T1, T3).
KC5: Интеграция инструментов — удалённое выполнение кода (RCE), неправильное использование инструментов, несанкционированный доступ (T2, T11).
KC6: Среда выполнения — злоупотребление API, утечки БД, внедрение кода, контроль SCADA (T3, T15).
3. Архитектурные паттерны и риски
Последовательный агент
Плюсы: ограниченный функционал, проще защитить.
Риски: галлюцинации, некорректные вызовы инструментов.
Иерархические агенты
Плюсы: масштабируемость, разделение ролей.
Риски: спуфинг идентичности (T9), отравление коммуникаций (T12), ошибки маршрутизации.
Рой / распределённая система
Плюсы: гибкость, децентрализованный интеллект.
Риски: потеря контроля, непредсказуемое взаимодействие агентов.
4. Безопасный жизненный цикл разработки (SDL)
Фаза проектирования:
Усиление подсказок — чёткая allow/deny-логика, языковые ограничения.
Изоляция памяти — сегментация по сессии/пользователю/агенту.
Человек в цикле — обязательная проверка высокорисковых действий (код, финансы).
Сборка и развертывание:
SCA + SAST + сканирование IaC.
Изоляция во время выполнения: Wasm, Firecracker, Pyodide.
Доступ “по требованию”: временные ключи (STS, JWT).
Работа в рантайме:
Мониторинг рассуждений: планы, вызовы инструментов, записи в память.
Ограничители (guardrails) на вход, логику и выход.
TTL для памяти + удаление PII + безопасный рендеринг (CSP).
Структурированное логирование без секретов, с трассируемыми ID.
5. Профессиональные выводы
Агентные системы меняют поверхность атаки: защищаем уже не модель, а распределённые автономные процессы с внутренним состоянием и внешними полномочиями.
Классической AppSec недостаточно — нужны многоуровневые защитные рамки, гигиена памяти, детерминированный контроль доступа и наблюдаемость поведения.
Инъекции в промпты — лишь верхушка. Главная опасность — отравление контекста, скрытое повышение привилегий и непреднамеренное поведение в коллаборации агентов.
Оркестрация ≠ контроль: в рое или иерархии агенты могут “уйти вразнос”, если коммуникации, границы памяти и права не ограничены.
Доверие формируется в рантайме: мониторинг цепочек рассуждений, инструментов и имитаций пользователей обязателен. Логи — это часть политики, а не только расследований.
Если LLM-агент может действовать — относитесь к нему как к недоверенному пользователю с API-доступом: лимиты, скоупы, изоляция, идентификация.
Рамка OWASP — хороший старт, но её эффективность зависит от дисциплины эксплуатации и понимания архитектуры.