为什么多 Agent 系统需要运行时安全保证 — 2026 指南

作者 MAREF Engineering

多Agent安全 运行时护栏 熔断器 Agent隔离

没有运行时安全的多 Agent 系统,就是一个随时会崩坏的分布式系统。与传统的微服务不同(在微服务中,每个请求都有明确的类型和意图),Agent 的行为由 LLM 生成,而 LLM 随时都可能产生意料之外的行为。正是运行时安全,把实验性的 Agent 集群变成生产系统。

多 Agent 运行时安全与传统安全有何不同?

传统应用安全(AppSec)防范的是已知的攻击向量:SQL 注入、XSS、CSRF、认证绕过。这些攻击已被充分理解,并有成熟的缓解措施。而多 Agent 运行时安全必须应对一类本质上不同的风险:由 LLM 驱动的 Agent 产生的涌现行为

一个从未尝试过危险动作的 Agent,随时都可能做出危险动作,因为底层的 LLM 能够生成全新的输出。绕过系统提示词的提示注入看起来并不像恶意代码——它看起来像一个合法的用户请求,只是恰好说服了 Agent 去调用未授权的工具。这就是为什么静态安全措施(提示词工程、工具白名单)是必要的但并非充分的条件。你需要对每一个 Agent 动作都进行运行时验证

要更深入地了解威胁模型,请参阅 Agent 治理讲解 ,它涵盖了完整的 OWASP Agentic Top 10 映射。

Agent 身份隔离如何防止级联故障?

在多 Agent 系统中,如果 Agent 之间共享内存、工具或信任边界,一个被攻破的 Agent 就可能让故障级联到整个部署。MAREF 通过 SubAgent 隔离来防止这种情况——每个 Agent 都在独立的上下文中运行,拥有自己的密码学身份、内存空间、能力注册表和信任状态。

跨 Agent 通信需要通过 AgentHandoffProtocol 进行签名交接,该协议会验证发送者的身份、接收者接收消息的权限,以及整个对话历史的保管链。这意味着即使 Agent A 被完全攻破,处于不同隔离上下文中的 Agent B 也不会察觉,更不会受到影响。

运行时安全 指南详细介绍了 SubAgent 隔离模型与交接协议的集成。

熔断器何时会中止 Agent 的执行?

MAREF 的熔断器会监控所有 Agent 的安全决策。当在可配置的时间窗口内(默认 300 秒)连续发生三次安全失败时,熔断器就会触发,并将治理引擎转入 HALT 状态——这是一个吸收态,任何 Agent 或自动化流程都无法覆盖它。

进入 HALT 前的四个升级阶段如下:

  1. 警告 — 第一次失败被记录并通知该 Agent。不采取任何行动。
  2. 制裁 — 第二次失败会降低该 Agent 的信任状态,减少其自主能力。
  3. 隔离 — 第三次失败将该 Agent 隔离。不允许任何跨 Agent 通信或工具调用。
  4. HALT — 同一类型的连续三次失败触发吸收性中止。只有人工覆盖才能解除。

这种渐进式模型确保单次失误不会中止生产(警告阶段),但持续失败也不会被忽视。Governance 功能页 提供了完整的状态机规范。

LLM Agent 的运行时漂移检测是如何工作的?

基于 LLM 的 Agent 会随着时间推移而漂移。模型提供商更新 API、底层模型发生变化、提示词漂移改变行为,或者 Agent 遇到了分布上不同的输入。MAREF 使用两种并行运行的独立方法来检测漂移:

  • LoRA 权重分析 — 在推理期间监控 LoRA 适配器权重的分布。偏移表明模型退化或概念漂移。
  • 本体嵌入比较 — 将 Agent 的输出嵌入到语义空间中,并随时间追踪分布变化。

两种模式都使用三个独立的散度指标(KL 散度、JS 散度、Hellinger 距离)。只有当至少两个指标都一致认定存在显著偏移时,才会报告漂移——这样既减少了误报,又保持了检测的灵敏度。

什么是爆炸半径控制,为什么它很重要?

爆炸半径控制用于限制任何单个 Agent 故障的影响范围。BlastRadiusController 会追踪每个 Agent 的影响力范围:它可以访问哪些工具、可以与哪些 Agent 通信、基于近期行为的累计风险评分,以及 Agent 之间信任关系的依赖图。

当某个 Agent 的爆炸半径超过其配置的阈值时,控制器会自动收紧约束——缩小通信范围、要求对动作进行 HITL 审批,或者彻底隔离该 Agent。这可以防止单个被攻破的 Agent 拖垮整个系统。

如需完整的架构分解,请参阅 8 层防御架构运行时安全指南


MAREF 是一个开源的 Agent 治理操作系统。在 5 分钟内上手,只需 pip install maref