ДокументацияБиблиотека
БИБЛИОТЕКА ЗАЩИТЫ ИИ

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

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

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

SYNTREX (защитный слой Spectorn) несёт специализированные движки для мультиагентного контура: распознаёт заразную инъекцию между агентами, подмену авторитета, теневые инструменты и отравление общей памяти, а SOC Correlation Engine и Decision Logger дают сквозную атрибуцию по всей цепочке. SYNTREX работает в составе платформы Spectorn и разворачивается standalone на внутреннем контуре заказчика.

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


🛑 Ключевые риски и как SYNTREX их закрывает

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).

Защита SYNTREX:

  • Движки: 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).

Защита SYNTREX:

  • Движки: 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).

Защита SYNTREX:

  • Движки: 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).

Защита SYNTREX:

  • Движки: 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).

Защита SYNTREX:

  • Движки: 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).

Защита SYNTREX:

  • Движки/компоненты: 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).

Защита SYNTREX:

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

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

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

YAML
# syntrex.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»). SYNTREX распознаёт сигнатуру заразной нагрузки в межагентном сообщении движком cross_agent_contagion и обрывает цепочку, а injection фильтрует входящий контент каждого агента.

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

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

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

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

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

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


📚 Источники

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

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