К содержимому
БИБЛИОТЕКА ЗАЩИТЫ ИИ

🕸️ Безопасность мультиагентных систем: защита от cross-agent contagion и подмены доверия между агентами

Целевая аудитория: Команды, разворачивающие мультиагентные системы — оркестратор с субагентами, рои агентов, конвейеры «агент вызывает агента», внедрения на протоколах A2A (Agent-to-Agent) и MCP-оркестрации.

Текущий статус: Эта страница описывает модель угроз и реализованные примитивы детектирования. Она не означает, что Spectorn сейчас посредничает в каждом межагентном событии или обеспечивает сквозную атрибуцию агента. Мультитенантный /v1/observe закрыт fail-closed до реализации изоляции состояния по аутентифицированному tenant и свежих межтенантных тестов. Регистрация и коммерческая доступность имеют отдельные релизные гейты.

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

Кодовая база Spectorn содержит специализированные движки для мультиагентного контура: заразной инъекции между агентами, подмены авторитета, теневых инструментов и отравления общей памяти. Они возвращают сигналы для событий, которые интеграция действительно передала. Блокировка и атрибуция требуют, чтобы вызывающая система направила событие через Spectorn, применила вердикт и предоставила достоверную идентичность агента; автоматическое сквозное посредничество сейчас не заявляется.

Эта страница разбирает атаки на мультиагентные системы в терминах OWASP Top 10 для LLM-приложений (2025), отдельного OWASP Top 10 для агентных приложений (ASI, 2025) и техник MITRE ATLAS — и показывает, какие движки Spectorn закрывают каждый вектор.


🛑 Ключевые риски и как Spectorn на них отвечает

1. Cross-agent contagion: самораспространяющаяся инъекция (AI-червь)

Риск: Адверсариальный промпт входит через ввод одного агента — письмо, втянутый документ, вывод инструмента — и распространяется от агента к агенту без человека в петле, эксфильтруя данные или рассылая себя по мере распространения. Это результат исследований Morris II (ComPromptMized) и «Prompt Infection»: даже агенты, которые не пересылают друг другу все сообщения целиком, оказываются восприимчивы. Заражение превращает локальную инъекцию в эпидемию по всей системе.

OWASP LLM01:2025 Prompt Injection, LLM02:2025 Sensitive Information Disclosure · ASI06 Memory and Context Poisoning, ASI08 Cascading Failures · MITRE ATLAS AML.T0051 (LLM Prompt Injection, индиректный поток), AML.T0024 (Exfiltration via AI Inference API).

Защита Spectorn:

  • Движки: cross_agent_contagion, injection, exfiltration.
  • cross_agent_contagion возвращает сигнал о характерной сигнатуре заразной нагрузки в межагентном сообщении. Цепочка останавливается только тогда, когда вызывающая система направляет сообщение через контроль и применяет вердикт.
  • injection инспектирует входящий контент каждого агента на встроенные команды; exfiltration ловит выгрузку данных, которую червь инициирует по мере распространения.

2. Перехват цели оркестратора (Orchestrator Goal Hijack)

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

OWASP LLM01:2025 Prompt Injection, LLM06:2025 Excessive Agency · ASI01 Agent Goal Hijack · MITRE ATLAS AML.T0051 (LLM Prompt Injection), AML.T0054 (LLM Jailbreak).

Защита Spectorn:

  • Движки: injection, goal_predictability, intent_revelation.
  • injection инспектирует вывод субагентов и втянутый контент, попадающий в контекст оркестратора, на инструкции-перехватчики.
  • goal_predictability возвращает сигнал, когда план оркестратора выглядит выходящим из множества безопасных целей; применить этот сигнал должен сам оркестратор. intent_revelation помечает шаги, чья видимая цель расходится с заявленной задачей.

3. Подмена доверия и эскалация привилегий между агентами (Authority Bypass)

Риск: Низкопривилегированный агент выдаёт себя за высокопривилегированного или принуждает оркестратор выполнить действие за пределами своей области — confused deputy внутри агентной сетки. Корень — недостаточное разграничение областей и слишком широкие делегированные токены: агент-исполнитель получает полномочия планировщика, которых ему не положено.

OWASP LLM06:2025 Excessive Agency · ASI03 Identity and Privilege Abuse, ASI09 Human-Agent Trust Exploitation · MITRE ATLAS AML.T0048 (External Harms).

Защита Spectorn:

  • Движки: agent_authority_bypass, goal_predictability, capability_proxy.
  • agent_authority_bypass распознаёт попытку агента действовать с уровнем полномочий, который ему не делегирован — имитацию идентичности соседа, эскалацию через посредника, обход разграничения областей.
  • goal_predictability — эвристический поведенческий движок: в рассуждениях/командах агента выявляет многошаговые цепочки увода с штатной цели (напр. «получить доступ → выгрузить»); capability_proxy контролирует передачу возможностей по цепочке делегирования.

4. Теневая подмена инструментов между агентами (Tool Shadowing)

Риск: Вредоносный или отравленный инструмент (или инструмент, чьё описание было инъецировано — «отравление карточки агента/инструмента») затеняет легитимный, и вызовы маршрутизируются к атакующему. Сюда же — загрязнение параметров и манипуляция цепочкой инструментов: агент вызывает легитимный инструмент с подменёнными аргументами. В мультиагентной среде один отравленный инструмент компрометирует всех агентов, которые к нему обращаются.

OWASP LLM01:2025 Prompt Injection, LLM03:2025 Supply Chain, LLM05:2025 Improper Output Handling · ASI02 Tool Misuse and Exploitation, ASI04 Agentic Supply Chain Vulnerabilities · MITRE ATLAS AML.T0051 (LLM Prompt Injection), AML.T0048 (External Harms).

Защита Spectorn:

  • Движки: tool_shadowing, cross_tool_guard, tool_call_injection.
  • tool_shadowing распознаёт ситуацию, когда один инструмент переопределяет или маскирует поведение другого, адресованного доверенному источнику.
  • cross_tool_guard контролирует кросс-инструментальные взаимодействия (данные, утёкшие из одного инструмента в вызов другого); tool_call_injection ловит подмену аргументов вызова. О поверхности самих инструментов — Безопасность MCP-серверов.

5. Отравление общей памяти и контекста (Shared Memory Poisoning)

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

OWASP LLM04:2025 Data and Model Poisoning, LLM08:2025 Vector and Embedding Weaknesses, LLM09:2025 Misinformation · ASI06 Memory and Context Poisoning · MITRE ATLAS AML.T0051 (LLM Prompt Injection, индиректный поток), AML.T0024 (Exfiltration via AI Inference API).

Защита Spectorn:

  • Движки: memory_integrity, injection, dormant_payload.
  • memory_integrity контролирует целостность того, что записывается в общую память и читается из неё: аномальная или инструкция-несущая запись помечается до того, как закрепится в хранилище.
  • injection пре-фильтрует любой фрагмент, попадающий в общую память, на встроенные инструкции; dormant_payload распознаёт отложенные нагрузки, рассчитанные сработать у будущего читателя.

6. Небезопасная межагентная коммуникация и протокол A2A (Insecure Inter-Agent Communication)

Риск: Протокол A2A объявляет возможности агентов через «карточки агента» (Agent Cards), но не предписывает, как эти карточки верифицировать. Риски: спуфинг/отравление карточки (инъекция метаданных), переадресация эндпоинта через компрометацию DNS/CDN, занижение объявленной аутентификации, повтор задач и импersonation, когда управление учётными данными отдано на откуп реализующему. Скомпрометированная карточка превращает доверенного «соседа» в точку входа атакующего.

OWASP LLM01:2025 Prompt Injection, LLM03:2025 Supply Chain · ASI07 Insecure Inter-Agent Communication, ASI10 Rogue Agents · MITRE ATLAS AML.T0051 (LLM Prompt Injection), AML.T0048 (External Harms).

Защита Spectorn:

  • Движки/компоненты: agent_authority_bypass, injection, SOC Correlation Engine, Decision Logger.
  • injection инспектирует метаданные карточек агента (объявленные возможности, описания) на встроенные инструкции и скрытые символы; agent_authority_bypass ловит импersonation на уровне идентичности агента.
  • Событие подмены карточки и последующий аномальный вызов коррелируются в SOC; Decision Logger фиксирует объявленные возможности агентов в неизменяемой цепочке.

7. Каскадные сбои и потеря атрибуции (Cascading Failures)

Риск: Один скомпрометированный или сбойный агент распространяет отказ по планированию, исполнению и памяти; при отсутствии per-agent идентичности атрибуция и аудит теряются, а радиус поражения становится неограниченным. Зацикленные агенты дополнительно сжигают бюджет.

OWASP LLM06:2025 Excessive Agency, LLM10:2025 Unbounded Consumption · ASI08 Cascading Failures, ASI03 Identity and Privilege Abuse · MITRE ATLAS AML.T0029 (Denial of ML Service).

Защита Spectorn:

  • Компоненты: SOC Correlation Engine + Decision Logger, движок resource_exhaustion.
  • Для запросов, действительно переданных в Spectorn, Decision Logger может фиксировать цепочку с защитой целостности на SHA-256/HMAC. Атрибуция ограничена идентичностью и данными события, которые передала аутентифицированная интеграция; сообщения в обход интеграции не фиксируются.
  • resource_exhaustion ловит зацикливание агентов и аномальное потребление до того, как рой опустошит бюджет.

🛠️ Рекомендуемая конфигурация

Профиль для мультиагентной системы — контроль заразной инъекции, подмены доверия, теневых инструментов и целостности общей памяти:

YAML
# spectorn.yaml — профиль мультиагентной системы
version: "1.0"
mode: multi_agent

engines:
  cross_agent_contagion:
    action: block               # заразная инъекция, распространяющаяся между агентами
  injection:
    action: block               # ввод агента + вывод субагента + карточки агента + общая память
    inspect_tool_output: true
    inspect_retrieved_content: true
    confidence_threshold: 0.80
  agent_authority_bypass:
    action: block               # импersonation и эскалация привилегий между агентами
  tool_shadowing:
    action: block               # один инструмент затеняет/переопределяет другой
  cross_tool_guard:
    action: block               # утечка данных из одного инструмента в вызов другого
  tool_call_injection:
    action: block               # подмена аргументов вызова инструмента
  memory_integrity:
    action: block               # целостность записи/чтения общей памяти
  goal_predictability:
    action: block               # поведенческая эвристика: многошаговые цепочки атак / увод с цели
  capability_proxy:
    action: flag                # передача возможностей по цепочке делегирования
  exfiltration:
    action: block
    confidence_threshold: 0.90
  resource_exhaustion:
    action: throttle            # зацикливание агентов, опустошение бюджета
  dormant_payload:
    action: flag

audit:
  decision_logger: true         # неизменяемая цепочка решений (SHA-256/HMAC), per-agent атрибуция

🚨 Правила корреляции (SOC)

Связки «заражение между агентами → эксфильтрация» и «отравление карточки → аномальное действие» — ключевые индикаторы компрометации роя:

JSON
{
  "name": "MULTIAGENT_CONTAGION_SPREAD",
  "description": "Заразная инъекция между агентами, за которой следует распространение и попытка внешней передачи",
  "condition": "sequence(cross_agent_contagion[confidence>0.7], injection[source='agent_message', confidence>0.7], exfiltration[confidence>0.8], 30s)",
  "severity": "CRITICAL",
  "playbook": "quarantine_agent_mesh_and_alert_soc"
}
JSON
{
  "name": "MULTIAGENT_AUTHORITY_ESCALATION",
  "description": "Подмена доверия/идентичности между агентами, за которой следует привилегированное действие или теневой вызов инструмента",
  "condition": "sequence(agent_authority_bypass[match=true], tool_shadowing[match=true] OR goal_predictability[violation=true], 20s)",
  "severity": "CRITICAL",
  "playbook": "revoke_delegated_token_and_isolate_agent"
}

❓ Частые вопросы (FAQ)

Что такое cross-agent contagion и как защитить мультиагентную систему? Это самораспространяющаяся инъекция: адверсариальный промпт входит через одного агента и передаётся от агента к агенту без человека в петле, эксфильтруя данные по мере распространения (результат Morris II и «Prompt Infection»). cross_agent_contagion и injection могут вернуть сигналы для переданных сообщений; распространение остановится только если внешняя интеграция направляет сообщение через контроль и применяет вердикт.

Как агенты могут подменить доверие друг к другу, и как это остановить? Низкопривилегированный агент выдаёт себя за высокопривилегированного или принуждает оркестратор к действию за пределами своей области — confused deputy внутри сетки, часто из-за слишком широких делегированных токенов. Spectorn ловит это движком agent_authority_bypass (импersonation, эскалация через посредника), а goal_predictability эвристически выявляет многошаговые цепочки увода с штатной цели в рассуждениях/командах агента.

Что такое tool shadowing в мультиагентной среде? Это ситуация, когда вредоносный или отравленный инструмент затеняет легитимный, и вызовы маршрутизируются к атакующему — в рое один отравленный инструмент компрометирует всех агентов, которые к нему обращаются. Spectorn распознаёт затенение движком tool_shadowing, контролирует кросс-инструментальные утечки движком cross_tool_guard и ловит подмену аргументов движком tool_call_injection. Поверхность самих инструментов разбирает Безопасность MCP-серверов.

Как защитить общую память роя от отравления? Общая память (скретчпад, векторная БД) опасна тем, что искажённый «факт» персистит и направляет каждого агента, который его потом извлекает — долгоживущее межсессионное загрязнение. Spectorn контролирует целостность записи и чтения движком memory_integrity, пре-фильтрует попадающие в память фрагменты движком injection и распознаёт отложенные нагрузки движком dormant_payload.

Чем рискует протокол A2A и как закрыть межагентную коммуникацию? A2A объявляет возможности через «карточки агента», но не предписывает их верификацию — отсюда спуфинг/отравление карточки, переадресация эндпоинта, занижение аутентификации, импersonation. Spectorn инспектирует метаданные карточек движком injection и ловит импersonation движком agent_authority_bypass, а событие подмены коррелируется в SOC. Корректную аутентификацию и подпись карточек на уровне самого протокола Spectorn не подменяет.

Как обеспечить атрибуцию в мультиагентной системе при каскадном сбое? Для событий, реально направленных через Spectorn, Decision Logger может вести цепочку с защитой целостности на SHA-256/HMAC из переданной идентичности, метаданных входа и результатов движков. Это помогает расследованию, но не доказывает идентичность события, которое интеграция не аутентифицировала. resource_exhaustion может дополнительно сигнализировать об аномальном потреблении при наличии нужной телеметрии.

Что Spectorn в мультиагентной системе НЕ заменяет? Spectorn — слой обнаружения для взаимодействий агентов, а не система управления идентичностью и доступом. Блокирующим он становится только там, где вызывающая система применяет его вердикт. Per-agent идентичность, корректная аутентификация и подпись карточек A2A, узкие делегированные токены, изоляция областей и полнота маршрутизации событий остаются задачей IAM и оркестрации заказчика.


📚 Источники

Внутренние материалы: OWASP Top 10 для LLM (2025) · Безопасность автономных AI-агентов · Безопасность MCP-серверов.

Безопасность мультиагентных систем | Spectorn