Агентные системы уже давно вышли за рамки простых чат-ботов. Это самостоятельные приложения, способные:
- планировать действия
- выполнять сложные цепочки операций
- вызывать внешние инструменты (API, файловая система, shell, браузер)
- хранить и использовать память (RAG, долгосрочное хранение)
- взаимодействовать с другими агентами
- действовать автономно, но с потенциально опасными побочными эффектами
Безопасность в таких системах — это не просто фильтрация вредоносных промптов. Главное — контроль доверенных границ и последствий действий. Инциденты редко возникают из-за одной уязвимости. Чаще это результат цепочки рискованных решений:
- избыточные права
- чрезмерная автономия
- слепое доверие к внешнему контенту
В сумме это приводит к аварийным сценариям. Эта статья — не про «серебряную пулю», а про практическую карту рисков, эффективные контрмеры и типичные точки обхода защиты. В основе — свежий OWASP Top 10 for Agentic Applications 2026 и модель Lethal Trifecta: комбинация private data, untrusted content и external communication, которая делает утечки почти неизбежными.
Trifecta как тест «катастрофичности»
Lethal Trifecta — простой, но мощный инструмент архитектурного анализа. Если одновременно присутствуют:
- Private data: доступ к приватным данным (почта, документы, БД, секреты)
- Untrusted content: потребление внешнего контента (веб, письма, вложения, выводы инструментов)
- External communication: канал наружу (HTTP, email, комментарии, DNS)
— то непрямая prompt injection почти наверняка приведёт к утечке. Надёжная защита сводится к «сломать хотя бы одну ножку» или жёстко контролировать последствия. Trifecta стоит использовать как обязательный тест при каждом архитектурном ревью: кто что читает, чему доверяет и что может сделать.
Как «сломать ножку» Trifecta
Private data
- Что делать: минимизировать доступ, выдавать права по требованию (JIT)
- Компромисс: меньше автоматизации
- Практика: короткоживущие токены, скоуп по задаче, минимизация данных, изоляция зон
External communication
- Что делать: строгий контроль исходящих соединений
- Компромисс: меньше гибкости
- Практика: allowlist доменов, запрет произвольных URL, человек в цикле (HITL) для публикаций, DLP на выходе
Untrusted content
- Что делать: изолировать и санитизировать входы
- Компромисс: выше задержки, сложнее UX
- Практика: маркировка источников, разделение данных и управления, запрет интерпретации контента как инструкции без policy gate
Persistent memory (усилитель Trifecta)
- Как снижать риск: строгая модель доверия к памяти
- Компромисс: сложнее поддерживать персонализацию и долгую память
- Практика: TTL, trust scoring, изоляция по tenant, rollback, запрет авто-ингеста
Где ломается безопасность в агенте
OWASP Agentic Top 10 помогает выявить точки, где данные становятся инструкциями, а инструкции — действиями. Ключевые зоны:
- входы: пользователь, RAG, веб, почта, документы
- планирование: выбор целей, подцелей и инструментов
- инструменты: реальные возможности и побочные эффекты
- память: что сохраняется, чему доверяют, как переиспользуется
- межагентное взаимодействие: формирование доверия
- человек: механизм подтверждений, эксплуатация automation bias
ASI01: Перехват цели агента (Agent Goal Hijack)
- Что ломают: цели и приоритеты
- Как атакуют: indirect prompt injection через веб, документы, письма, вывод инструментов
- Минимум защиты: независимый policy/intent gate, явное подтверждение для критичных действий, логирование смещения целей, маркировка источников
ASI02: Неправомерное использование инструментов (Tool Misuse & Exploitation)
- Что ломают: инструменты и их цепочки
- Как атакуют: легальный вызов с вредным намерением, каскады инструментов, компрометация в цепочке поставок
- Минимум защиты: allowlist инструментов, ограничение blast radius (права, лимиты, egress), корреляция опасных цепочек, запрет произвольного внешнего доступа
ASI03: Злоупотребление правами (Identity & Privilege Abuse)
- Что ломают: токены, сессии, делегирование
- Как атакуют: reuse токенов, confused deputy, транзитивное расширение прав через память или межагентные сообщения
- Минимум защиты: JIT и short-lived токены, скоуп по задаче, ревалидация прав на критичных шагах, контроль наследования
ASI04: Уязвимости в цепочке поставок (Agentic Supply Chain Vulnerabilities)
- Что ломают: зависимости, метаданные инструментов, агентные карточки, реестры
- Как атакуют: подмена дескрипторов, компрометация пакетов, typosquatting
- Минимум защиты: фиксация версий/хэшей, provenance и подпись артефактов, allowlist источников, kill switch для интеграций
ASI05: Неожиданное выполнение кода (RCE)
- Что ломают: контуры генерации и выполнения кода
- Как атакуют: инъекции, приводящие к unsafe execution (eval, auto-run), обход фильтров через нестандартные форматы
- Минимум защиты: изоляция выполнения, запрет сети, разделение генерации и исполнения, отдельное подтверждение для повышенных привилегий, мониторинг подозрительных шаблонов
ASI06: Отравление памяти и контекста (Memory & Context Poisoning)
- Что ломают: RAG и долгосрочную память
- Как атакуют: внедрение ложных паттернов, постепенное расширение зоны доверия
- Минимум защиты: сегментация по tenant, trust scoring, TTL, карантин и rollback, запрет auto-ingest без проверки
ASI07: Небезопасное межагентное взаимодействие (Insecure Inter-Agent Communication)
- Что ломают: протоколы и доверие между агентами
- Как атакуют: spoofing, replay, downgrade, подмена сообщений
- Минимум защиты: mTLS/PKI, подпись сообщений, anti-replay (nonce/timestamp), закрытый реестр, строгая валидация, мониторинг аномалий
ASI08: Каскадные сбои (Cascading Failures)
- Что ломают: устойчивость всей системы
- Как атакуют: одна ошибка размножается через память, планы и сообщения
- Минимум защиты: разделение planner/executor, circuit breakers, лимиты blast radius, контрольные точки, неизменяемый lineage-лог
ASI09: Эксплуатация доверия человека (Human-Agent Trust Exploitation)
- Что ломают: процесс подтверждений
- Как атакуют: убедительные объяснения, consent laundering, социальная инженерия
- Минимум защиты: показ diff/плана при подтверждении, многошаговые approvals для критичных действий, обучение операторов, режим быстрого отключения
ASI10: Самостоятельные агенты (Rogue Agents)
- Что ломают: контроль над долгоживущим поведением
- Как атакуют: скрытый дрейф целей, low-and-slow активность, коллюзия между агентами
- Минимум защиты: kill switch на уровне платформы, behavioral baseline и алерты, карантин с аттестацией, регулярные ревью целей и планов
Типовые сценарии и зоны риска
1. Корпоративный агент для почты и документов
Наиболее уязвим к ASI01, ASI02, ASI03 и ASI09. Агент читает письма, извлекает данные из документов, может отправлять ответы.
- письмо содержит скрытую инструкцию, воспринимаемую как приоритет
- агент наследует широкие права пользователя
- оператор подтверждает действия «по инерции»
Что помогает:
- разделять чтение контента и выполнение действий от имени пользователя
- требовать явного подтверждения для внешних отправок
- вести прозрачный trail: какой источник повлиял на каждое действие
2. RAG-агент с доступом к внутренней базе знаний
Риски: ASI06 и ASI08. Память усиливает другие уязвимости. Одна инъекция может постепенно отравить всю систему.
- в память попадают непроверенные фрагменты
- загрязнение становится «новой нормой»
- ошибки тиражируются по зависимым сервисам
Что помогает:
- доверять памяти только по уровню доверия источника
- вводить TTL и процедуры отката
- изолировать tenant-контексты
3. Агент-оркестратор (CI/CD, тикеты, CRM, облако)
Критичны ASI02, ASI04, ASI05, ASI07 и ASI10.
- легитимный инструмент вызывается с вредным намерением
- компрометация интеграции в цепочке поставок
- мелкие действия складываются в каскад
Что помогает:
- фиксировать допустимые операции для каждого инструмента
- пинить версии и проверять provenance
- ограничивать blast radius через лимиты и policy gate
Компактный roadmap внедрения защиты
- провести инвентаризацию инструментов, данных и внешних каналов (Trifecta check)
- запретить избыточный egress, сократить права по умолчанию
- включить детальный аудит действий и источников данных
- внедрить независимый policy/intent gate перед критичными действиями
- перейти на JIT-токены и короткий срок жизни доступов
- ввести обязательные подтверждения для high-impact операций
- сегментировать память, ввести TTL, trust scoring и карантин
- настроить трассировку цепочек (lineage) и корреляцию событий
- разработать регламент аварийного реагирования: kill switch, отзыв токенов, карантин
Такой подход даёт быстрое снижение рисков уже на первом этапе, а не откладывает защиту до «идеальной» архитектуры.
Что важно понять о защите
- Детекторы prompt injection — это слой, а не стена. Обходы неизбежны (например, EchoLeak).
- Самая сильная защита — ограничение последствий. Policy enforcement, least privilege, JIT, egress control, sandboxing, kill switch.
- Агентные системы — это распределённые системы. Без неизменяемых логов, трассировки и circuit breakers вы не увидите катастрофу до её начала.
Практический нюанс: почти все инциденты выглядят «правдоподобно» в моменте. Поэтому важна не только техническая защита, но и операционная дисциплина — кто проверяет изменения, кто может остановить систему, и как быстро команда может откатиться.