过去很多企业谈大模型安全,第一反应还是“输入输出检测”。
用户问了什么,模型答了什么,中间有没有违规内容、敏感信息、越狱诱导、提示注入。这套思路在聊天机器人时代是成立的,因为模型主要是在生成文本,安全边界也主要围绕文本展开。
但 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 安全正在进入自己的检测响应时代。
声明:本文来自模安局,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。