Защита агентных приложений по OWASP Agentic Top 10 и модели Trifecta

Защита агентных приложений по OWASP Agentic Top 10 и модели Trifecta

Агентные системы уже давно вышли за рамки простых чат-ботов. Это самостоятельные приложения, способные:

  • планировать действия
  • выполнять сложные цепочки операций
  • вызывать внешние инструменты (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, отзыв токенов, карантин

Такой подход даёт быстрое снижение рисков уже на первом этапе, а не откладывает защиту до «идеальной» архитектуры.

Что важно понять о защите

  1. Детекторы prompt injection — это слой, а не стена. Обходы неизбежны (например, EchoLeak).
  2. Самая сильная защита — ограничение последствий. Policy enforcement, least privilege, JIT, egress control, sandboxing, kill switch.
  3. Агентные системы — это распределённые системы. Без неизменяемых логов, трассировки и circuit breakers вы не увидите катастрофу до её начала.

Практический нюанс: почти все инциденты выглядят «правдоподобно» в моменте. Поэтому важна не только техническая защита, но и операционная дисциплина — кто проверяет изменения, кто может остановить систему, и как быстро команда может откатиться.

Читать оригинал