Skip to main content
2025arXiv:2510.11203

TraceAegis: 用溯源分析守护 Agent —— 层次化行为异常检测的实践

TraceAegis: Securing LLM-Based Agents via Hierarchical and Behavioral Anomaly Detection

Agent 安全的重点正从模型层面的对齐训练,转向对执行轨迹的实时监控。TraceAegis 的核心思路来自软件系统安全:把 Agent 的工具调用序列视为一个程序,从中提取层次结构约束和行为规则,在运行时检测偏离。这种方法不依赖对 LLM 本身的修改,也不需要预先定义详尽的规则。

Jiahao Liu, Bonan Ruan, Xianglin Yang, Zhiwei Lin, Yan Liu, Yang Wang, Tao Wei, Zhenkai Liang
AI Agent运行时安全异常检测Agent 规范与安全行为分析

论文概览

arXiv: 2510.11203
作者: Jiahao Liu, Bonan Ruan 等(新加坡国立大学 & 蚂蚁集团)
主题: Agent 执行轨迹异常检测、层次结构分析、行为约束建模


我觉得这篇论文的切入角度很务实。它没有试图去"修"大模型本身,而是把 Agent 视为一个软件系统——工具调用序列就是程序的执行路径,异常行为就是路径偏离。从这个角度看,软件工程中积累了几十年的程序分析经验,可以直接拿来用。


核心问题:规则难穷尽,单步检查不够

现有的 Agent 安全方案大致分两类:

  1. 模型中心方法:微调或对齐训练,让 LLM 本身更"安全"。问题是,安全训练无法覆盖所有 Agent 交互场景,而且 helpfulness 和 safety 的张力很难调和。

  2. 外部执行机制:预定义特定规则,在运行时检查。比如"不允许向外部地址发送邮件"。问题在于规则穷举困难、维护成本高,且容易出现漏报。

TraceAegis 走的是第三条路:不预设规则,从正常执行轨迹中自动学习行为模型,然后用这个模型检测异常。 这种思路和软件系统安全中的基于溯源(provenance)的分析一脉相承。


方法论

TraceAegis 分为两个阶段:

阶段 A:行为画像(Behavior Profiling)

给定一组历史的正常 Agent 执行路径(从网络日志/网关中提取的工具调用序列),TraceAegis 做两件事:

1. 层次结构恢复(Hierarchical Structure Recovery)

把工具调用序列组织成一个层次结构——一个 level mapping L:TNL: T \rightarrow \mathbb{N},其中 TT 是工具集合,L(t)L(t) 是工具 tt 所在的层次。这个结构满足严格的性质:

  • Property 1(严格层级):一个工具只能直接影响紧邻下一层的工具
  • Property 2(内聚性):同一层的工具之间没有直接调用关系
  • Property 3(完备性):每条正常路径都能被这个层次结构解释

这个结构是增量式构建的——每遇到一条新的正常路径,就更新相关节点的层级,并将变更传播到已有结构中。

2. 约束行为发现(Constrained Behavior Discovery)

层次结构提供了粗粒度的拓扑约束,但还不足以捕捉细粒度的行为语义。TraceAegis 进一步将路径分解为最小执行单元,然后为每个单元提取行为规则

r=ψ(p)=(Pre(p), Act(p))r = \psi(p) = (Pre(p),\ Act(p))

其中 Pre(p)Pre(p) 是前置条件(完成这个动作需要满足什么),Act(p)Act(p) 是动作本身(做了什么操作)。

多个结构相似的实例规则会被聚合为一条泛化行为规则(Generalized Behavioral Rule),形如:

"如果患者挂了骨科号(前置条件),则必须先完成分诊和挂号,再调用骨科 API(动作)"

阶段 B:违规检测(Violation Detection)

当一条新的执行路径到来时,TraceAegis 做两层检查:

  1. 结构一致性检查:路径中的工具调用顺序是否符合层次结构?如果出现从未见过的组合,标记为异常。
  2. 行为约束验证:每个执行单元的前置条件是否满足对应的泛化规则?如果不满足,标记为异常。

两层检查是级联式的——先做轻量的结构检查,再做精细的行为验证,兼顾效率和精度。

TraceAegis 系统架构
TraceAegis 系统架构


TraceAegis-Bench 评测基准

论文同时构建了 TraceAegis-Bench

场景正常样本异常样本异常类型
医疗健康(Healthcare)1,300300执行顺序违规 + 语义一致性违规
企业采购(Procurement)1,300300执行顺序违规 + 语义一致性违规

两类异常的设计思路很巧妙:

  • AT-C1(执行顺序违规):改变工具调用的顺序(如把验证步骤延后),导致执行结果不完整或被篡改。
  • AT-C2(语义一致性违规):保持调用顺序不变,但替换了工具的输入内容(如把合法 URL 替换为恶意脚本),破坏语义一致性。

实验结果

实验结果
实验结果

关键数据

在 Healthcare 场景上:

方法AT-C1 AccuracyAT-C1 F1AT-C2 AccuracyAT-C2 F1
TraceAegis (Joint)0.950.930.900.88
LLM Judge0.520.500.430.41
SentinelAgent0.570.550.490.47
AgentArmor0.530.510.460.44
SecAlign0.490.470.420.40

TraceAegis 在两类异常上均大幅领先所有基线,Joint 检测在 AT-C1 上达到 95% 准确率。

企业内部红队验证

论文还报告了在蚂蚁集团内部进行的红队测试。TraceAegis 在真实攻击场景下达到 0.87 的准确率,而其他方法均不超过 0.52

特别值得注意的是一个案例研究:攻击者通过 Code MCP 修改了代码仓库中的一个文件,将正常 URL 替换为恶意脚本,同时调整了工具执行顺序。这种攻击不包含任何显式的恶意载荷或可疑字符串,而是通过微妙的语义配置变化操纵跨步骤的执行依赖。传统基于内容或单步检查的方法完全无法检测,而 TraceAegis 通过重构层次结构和比对行为约束,成功识别了路径顺序违规和条件变更。


启示与思考

TraceAegis 让我看到了 Agent 安全研究的一个有价值的新方向。

从"修模型"到"看轨迹":目前绝大多数 Agent 安全研究都在模型层面做文章——要么改训练,要么改对齐,要么加护栏。但 TraceAegis 证明了,即使不碰模型本身,仅通过分析执行轨迹就能检测出绝大多数异常。这种"黑盒"式的防御天然更通用、更可迁移——换一个模型不用重新训练。

"正常行为"比"异常规则"更值得建模:预设异常规则的做法存在根本性的穷举困难——攻击者总能找到你没覆盖到的角落。而 TraceAegis 反其道而行之:建模正常行为,然后检测偏离。这和传统安全中的异常入侵检测系统(IDS)思路一致,但 TraceAegis 的创新在于用层次结构 + 行为规则两种约束,实现了比单一异常检测更精确的刻画。

局限也很明显:TraceAegis 的行为画像依赖充足的正常执行轨迹来构建——冷启动问题(新部署的 Agent 没有历史路径)可能严重影响效果。论文没有讨论这一点。此外,攻击者如果能在画像阶段注入伪装的正常路径(污染训练数据),可能会直接绕过整个检测框架。这种对抗场景在论文中也没有涉及。

从更宏观的视角看,我觉得 TraceAegis 代表了一种工程化的安全思路——不是追求理论上的完美防御,而是在现实约束下找到一个足够好的解。对于正在快速落地的 Agent 产品来说,这种思路的实用价值可能远大于"换一个更安全的大模型"。


参考链接