Agent 越来越像一个能独立工作的数字员工。既然企业会给员工配账号、权限、审计和行为风控,那么企业也必须给 Agent 配一套检测与响应体系。

过去很多企业谈大模型安全,第一反应还是“输入输出检测”。

用户问了什么,模型答了什么,中间有没有违规内容、敏感信息、越狱诱导、提示注入。这套思路在聊天机器人时代是成立的,因为模型主要是在生成文本,安全边界也主要围绕文本展开。

但 Agent 出现之后,问题变了。

一个 Agent 不只是回答问题,它会读取文件、修改代码、调用数据库、访问 Jira、连接 GitHub、操作云资源,甚至通过 MCP Server 调用一整套企业内部工具。

这个时候,真正危险的行为可能并不出现在最终回答里,而是发生在工具调用链路里。

传统 EDR 可以看到终端上的文件写入、进程启动和网络连接,XDR 可以把终端、网络、身份、云和邮件里的事件串起来。

但在 Agent 场景下,它们仍然缺一块关键上下文:Agent 为什么要做这件事。

这也是论文《ADR: An Agentic Detection System for Enterprise Agentic AI Security》最值得关注的地方。

https://arxiv.org/pdf/2605.17380

作者提出了一个新的概念:ADR,也就是 Agentic AI Detection and Response,可以理解成“面向 Agent 的检测与响应系统”。

论文认为,企业 Agent 安全不能停留在内容护栏阶段,而要像 EDR/XDR 一样,进入可观测、可检测、可响应、可运营的新阶段。

EDR 看见了动作,但看不见意图

EDR 的核心能力是终端检测与响应。

它部署在终端上,持续采集进程、文件、注册表、命令行、网络连接、内存行为等遥测数据。当某个进程突然访问敏感目录、执行可疑脚本、连接异常域名时,EDR 可以发出告警,甚至隔离主机、杀死进程、阻断连接。

XDR 则是在 EDR 之上继续扩展。它不只看终端,还会把邮件、身份、云、网络、应用等多个安全域的数据关联起来,试图还原一条完整攻击链。

在传统网络攻防里,这套逻辑很有效。因为攻击者最终总要落到系统行为上:执行命令、横向移动、访问凭证、建立通信、外传数据。

但 Agent 带来了一个新的问题:同一个系统动作,在不同语义上下文里,风险完全不同。

比如,Agent 写入一个配置文件,EDR 看到的是“文件写入”。但它不知道这是用户明确要求保存配置,还是 Agent 被网页里的隐藏提示注入诱导后,在偷偷写入后门配置。

再比如,Agent 读取 SSH key 并发起 HTTP 请求,EDR 可以看到读文件和联网,但它不知道用户原本只是让 Agent “总结一个 Jira 工单”。如果看不到用户 prompt、Agent 的中间推理、MCP 工具调用顺序和工具返回内容,就很难判断这是正常开发流程,还是一次被间接提示注入触发的数据外传。

论文把这个问题称为 Agent 场景下的可观测性缺口。传统 EDR 可以看到 file write、API call、network call,却看不到 prompt、reasoning 和 intent-to-execution 的因果链。

这就是 ADR 的起点。

它不是要替代 EDR/XDR,而是要补上 Agent 时代新出现的那一层语义遥测。

MCP 让 Agent 拥有了“手”,也带来了新的攻击面

ADR 这篇论文重点讨论的是 MCP 场景。

MCP,也就是 Model Context Protocol,是一种让大模型连接外部工具、系统和上下文数据的标准接口。

通过 MCP,Agent 可以调用文件系统、数据库、代码仓库、Jira、Slack、云服务、浏览器等外部能力。

论文中提到,在典型工作流中,Cursor、Claude CLI 这类 MCP Host 会连接多个 MCP Server,而每个 Server 又会暴露不同工具能力,例如文件 I/O、API 调用、数据库访问等。

这意味着 Agent 的攻击面不再只是 prompt。

攻击者可以通过恶意网页、邮件、文档、Jira 工单、RAG 知识库内容植入隐藏指令,让 Agent 在读取外部内容后偏离用户原始意图。攻击者也可以污染 MCP Server、伪装工具描述、劫持工具调用链路,甚至诱导 Agent 调用本不该调用的高危工具。

在传统软件系统里,一个 API 是否危险,主要看它有没有鉴权漏洞、注入漏洞、越权漏洞。

但在 Agent 场景里,还要多问一个问题:这个 API 被模型自主调用时,是否会被语义诱导滥用?

比如一个 read_file 工具,本身可能只是读取本地文件。放在普通软件里,它需要检查路径穿越、权限边界和敏感目录访问。放在 Agent 里,它还要考虑另一个问题:Agent 会不会在“总结网页”的任务里,被网页隐藏指令诱导去读取 .env、SSH key 或云凭证?

这就是 MCP 安全区别于传统 API 安全的地方。MCP Server 既是服务,也是 Agent 的“手”。工具越多,Agent 越强;但工具权限越大,Agent 被诱导后造成的破坏也越大。

ADR 的核心思路:给 Agent 安装一套检测响应系统

ADR 的架构由三个部分组成:Sensor、Detector 和 Explorer。

(1) Sensor 负责采集 Agent 行为遥测。

它不是只看系统日志,而是解析 Cursor、Cline、Claude Code 等工具在本地留下的 SQLite 数据库和 JSONL 缓存,重建完整 Agent 会话。它采集用户 prompt、Agent reasoning、MCP tool invocation、环境上下文,包括 MCP Server 配置和 pip/npm 包信息。论文中提到,这个 Sensor 按小时运行,平均每次运行耗时 0.182 秒。

(2) Detector 负责在线检测。

它采用两级架构:第一层是轻量级 LLM triage,用来快速筛掉明显安全的会话,把可疑事件升级;第二层是更重的 reasoning agent,用来做深度语义分析。这个 reasoning agent 可以动态调用三类企业上下文:源代码检查 MCP、威胁情报 MCP 和策略验证 MCP。也就是说,它不只是判断文本是否危险,还会去看某个工具的源码到底做了什么,某个行为是否符合已知攻击技术,某个操作是否违反企业内部策略。

(3) Explorer 负责离线红队。

它会系统化生成攻击变体,在沙箱中执行和评估,再把高价值攻击模式沉淀到威胁情报库中,反过来增强在线检测。论文把这个过程设计成一个演化搜索过程,攻击样本会根据执行深度、语义自然度和影响程度被打分,得分更高的攻击变体会继续变异和测试。

这个架构真正有价值的地方,是它把 Agent 安全做成了一个类似 SOC 的运行体系。

Sensor 像日志采集和取证系统,Detector 像安全分析和告警系统,Explorer 像内部红队和检测工程系统。

最终目标不是简单拦截某个 prompt,而是持续发现、分析、响应和复盘 Agent 行为中的安全风险。

这和 EDR/XDR 的演进逻辑非常相似。

EDR 不是杀毒软件的简单升级,而是把终端安全从“查杀恶意样本”推进到“持续检测终端行为”。XDR 也不是多接几个日志源,而是把不同安全域的事件关联成攻击链。

ADR 的目标也类似,它试图把 Agent 安全从“检测输入输出内容”推进到“持续检测 Agent 行为链”。

ADR-Bench:把 Agent 攻击从提示注入扩展到企业攻击链

论文的另一个贡献是 ADR-Bench。

这套 Benchmark 包含 302 个任务、133 个 MCP Server、729 个工具,覆盖 17 种攻击技术和 5 大战术。任务中有 42 个恶意任务、260 个良性任务,恶意比例只有 13.9%。这个比例很重要,因为它更接近真实企业环境:绝大多数 Agent 会话都是正常的,真正恶意或高风险事件非常少。

ADR-Bench 的攻击分类也很有启发。

它不是只围绕 prompt injection 展开,而是把 MCP Agent 攻击分成 Initial Access & Execution、Permission Abuse、Security Control Bypass、Reasoning & Data Manipulation、Operational Impact 五类战术。

具体技术包括间接提示注入、Tool Rug Pull、Tool Shadowing、控制流劫持、恶意 Agent 合谋、代码解释器滥用、供应链污染等。

论文认为,过去很多 Agent 安全 Benchmark 只覆盖少量技术,缺少 MCP 上下文,也没有真实企业里“良性流量占绝大多数”的类别不均衡特征。

这背后其实是 Agent 安全观的变化。

如果我们只看模型回答,那攻击分类自然会围绕越狱、违规内容、拒答绕过展开。

但如果我们看 Agent 行为链,攻击分类就会更接近企业攻防:攻击者如何进入上下文,如何诱导工具调用,如何滥用权限,如何绕过安全控制,如何操纵推理过程,最后如何造成数据泄露或业务破坏。

这也是 ADR 相比传统内容护栏更进一步的地方。

它不是在问“这句话安全吗”,而是在问“这条 Agent 行为链是否偏离了用户意图和企业安全边界”。

实验结果:ADR 的重点不是极限召回,而是生产可用

在 ADR-Bench 上,ADR 的 Precision 达到 1.000,Recall 为 0.667,F1 为 0.800。也就是说,它在 42 个攻击中检测出 28 个,并且没有误报。相比之下,ALRPHFS、GuardAgent、LlamaFirewall 分别误报了 34、30、40 个良性任务,Precision 分别只有 0.333、0.231、0.167。

这个结果要冷静看。

ADR 不是所有指标都最高。它的 Recall 只有 0.667,意味着还有三分之一攻击没有检出。但论文明确选择了 precision-first 的生产策略,因为企业告警一旦误报,就会消耗安全团队的人工响应成本。对于每天上万 Agent 会话的生产环境来说,一个高召回但高误报的系统,很可能无法运营。

在 AgentDojo 这个公开提示注入 Benchmark 上,ADR 的表现更强,Precision 为 0.927,Recall 为 1.000,F1 为 0.962,只产生 3 个误报。这个结果说明,ADR 对提示注入类攻击具备较强识别能力;但在更复杂的企业 MCP 攻击链中,它选择了更保守的告警策略。

消融实验也很值得关注。去掉 triage 后,Recall 从 0.667 提升到 0.805,F1 从 0.800 提升到 0.868,但 Precision 从 1.000 降到 0.943,成本提高 29%,延迟提高 52%。这说明 triage 层本质上是一个运营成本控制器。它并不是为了让模型更聪明,而是为了在大规模流量下控制成本和误报。

更关键的是,去掉 Source Code MCP 后性能下降最大。Recall 从 0.667 降到 0.571,F1 从 0.800 降到 0.676。这个结果非常重要,它说明 MCP Agent 安全不能只看 prompt,也不能只看工具名称和描述。很多攻击必须理解工具源码和真实实现,才能判断这个工具到底在做什么。

换句话说,Agent 安全不是纯文本分类问题,而是语义、代码、权限、行为链和企业策略的综合分析问题。

真实部署:最有价值,也最能看出问题

这篇论文最有说服力的地方,是它不是纯实验室系统。

作者称 ADR 已经在 Uber 内部部署超过 10 个月,覆盖企业 MacBook 终端,包括 Intel 和 ARM 设备。系统在生产环境中最高达到每天处理超过 1 万个 Agent 会话,并且发现了数百个高危凭证暴露,覆盖 26 类凭证。

但真实环境也暴露了一个事实:ADR 并不是一个“自动解决一切”的系统。

在生产部署中,被送到人工审核队列的告警里,34% 被标注为真正风险,17% 是非恶意真阳性,49% 是误报或复杂良性会话。论文解释说,很多误报来自大型多文件代码库分析这类上下文丰富的复杂任务;而真实生产环境里的风险分布也和 Benchmark 不一样,凭证泄露相对常见,其他攻击类型极少出现。

这反而让论文更真实。

安全系统进入生产后,真正的问题往往不是“能不能检出一个攻击样本”,而是能不能承受真实业务流量、真实误报、真实人工审核和真实成本。

ADR 的部署经验说明,Agent 安全产品不能只追求模型指标,还要考虑告警运营、隐私合规、数据留存、权限控制、人工复核、自动响应和前置阻断。

尤其是凭证泄露场景,论文给出了一个很现实的结论。单靠检测是不够的,因为当告警出现时,凭证可能已经被发送到外部系统。

于是 Uber 又基于 Cursor 和 Claude Code 的 Hooks 机制做了前置阻断,在 prompt 发送前用正则和熵阈值识别潜在 secret。这个预防层识别了 212 个唯一凭证,其中 206 个是真阳性,6 个是假阳性,Precision 达到 97.2%。

这说明 Agent 安全不会只有一种技术路线。

对于凭证、密钥、Token 这类模式明确的风险,规则、正则、熵检测和 Hook 前置阻断非常有效。对于工具滥用、提示注入、数据外传、权限绕过这类需要理解上下文的风险,则需要 ADR Detector 这类语义分析能力。

真正可用的企业 Agent 安全体系,一定是规则、语义检测、行为链分析、策略控制和人工运营的组合。

从内容护栏到 Agent EDR/XDR

这篇论文给行业最大的启发,是 Agent 安全正在脱离单一内容安全视角。

过去的大模型护栏主要围绕输入输出展开。它解决的是模型“说什么”的问题。

但 Agent 安全要解决的是模型“做什么”的问题。

一个 Agent 的风险,不一定体现在回答里,而可能体现在它读取了什么文件、调用了什么工具、把什么数据传给了哪个外部服务、是否在用户意图之外执行了额外操作、是否被外部内容改变了任务目标。

这要求安全产品拥有新的观测对象。

传统 EDR 观察的是进程、文件、网络、注册表。XDR 观察的是终端、身份、邮件、云、网络之间的攻击链。ADR 观察的则是 prompt、reasoning、tool call、tool result、MCP Server、代码实现、权限策略和企业上下文之间的因果链。

所以,ADR 不是简单给 Agent 加一个安全分类器,而是把 Agent 安全拉进了检测响应时代。

如果说 EDR 解决的是“终端上发生了什么”,XDR 解决的是“多个安全域如何组成攻击链”,那么 ADR 解决的就是“Agent 为什么这样做,以及这条工具调用链是否正在变成攻击链”。

这对企业 Agent 安全产品意味着什么?

如果企业开始大规模使用 Cursor、Claude Code、Cline,或者内部自研 Agent 平台,那么只做大模型网关和内容审核是不够的。

  • 第一,企业需要 Agent 级遥测。至少要能看到用户输入、模型中间决策、工具调用、工具参数、工具结果和环境上下文。否则安全团队只能看到最终系统行为,却看不见行为背后的语义原因。
  • 第二,企业需要 MCP Server 和工具层检测。MCP Server 不只是一个接口服务,它是 Agent 能力边界的一部分。检测对象应该包括工具描述、输入 schema、源码实现、依赖包、权限范围、认证方式、数据访问边界和动态行为。
  • 第三,企业需要 Agent 行为链分析。单个工具调用可能正常,但多个工具串起来可能就是攻击。网页读取、文件读取、HTTP 请求分别看都不一定恶意,但如果它们出现在一个被间接提示注入触发的会话里,就可能构成完整外传链路。
  • 第四,企业需要红队和威胁情报闭环。Agent 攻击手法变化很快,靠固定规则很难覆盖新型攻击。ADR Explorer 的价值在于把红队测试变成检测系统的一部分,让攻击样本持续反哺检测逻辑。
  • 第五,企业需要检测和阻断结合。检测适合复杂语义风险,阻断适合高确定性的敏感数据泄露。Hook、Tool Gateway、MCP Gateway、IAM、DLP、策略引擎都应该成为 Agent 安全架构的一部分。

这也意味着,未来 Agent 安全产品可能会出现一个新的分层:底层是 MCP Server / Tool / Skill 的供应链扫描,中间是 Agent 会话遥测和行为链检测,上层是策略控制、实时阻断、红蓝对抗和 SOC 告警运营。

内容护栏仍然重要,但它只是 Agent 安全的一部分。

写在最后

ADR 这篇论文最重要的地方,不是提出了一个指标更高的检测模型,而是提出了一个新的安全产品方向。

当 Agent 还只是聊天助手时,输入输出检测就能覆盖大部分风险。当 Agent 开始连接工具、调用 MCP Server、访问企业系统、执行真实操作时,安全体系必须从“内容检测”升级为“行为检测”。

这就是从 EDR 到 ADR 的关键转变。

传统 EDR 让企业看见终端行为,XDR 让企业看见跨域攻击链,而 ADR 要让企业看见 Agent 的意图、推理、工具调用和行为后果。

Agent 越来越像一个能独立工作的数字员工。既然企业会给员工配账号、权限、审计和行为风控,那么企业也必须给 Agent 配一套检测与响应体系。

Agent 安全的下一阶段,不只是更强的护栏,而是更完整的运行时安全治理。

从这个意义上看,ADR 不是一个孤立论文概念,而是一个信号:企业 Agent 安全正在进入自己的检测响应时代。

文章来自:51CTO

Loading

作者 yinhua

发表回复