📌 项目地址uber/ADR | ⭐ 604 颗星 | 🔧 Python | 📜 未标注

Uber 开源了 ADR(Agentic AI Detection and Response),一套跑在它们生产环境的 AI Agent 安全系统。README 里有几个数字先摆出来:支持 7+ 种 AI 编码工具,覆盖 macOS、Linux、Windows;配套的 ADR-Bench 有 303 个任务、133 个 MCP 服务器、覆盖 17 种 Agent 攻击技术;论文被 MLSys 2026 接收,PDF 就放在仓库 docs 目录里。

这个项目跟常见的 demo 型安全工具最不一样的地方是:它处理过真实的企业流量,不是从零搭的玩具。所以读代码的时候会看到很多真实约束留下的痕迹——多工具适配、数据标准化、成本控制、可复现评测。

员工用 Agent,企业看到的是什么

企业对 AI Agent 的监控难点跟传统安全不一样。用户在终端里输入一句话,Clerk 或者 Codex 在后台调工具、读文件、跑命令,中间过程只有 Agent 自己知道。传统 EDR 能监控进程和网络,但看不明白意图。日志审计又多又杂,提示词注入越来越隐蔽,光靠事后翻日志根本翻不过来。

ADR 的 Sensor 做的就是把这三层信息收齐:意图(Agent 想干什么)、工具调用(实际调了什么)、执行轨迹(怎么一步步走到这里的)。只看意图没用,Agent 可能嘴上说删文件实际在改权限;只看工具调用也不行,不知道目的就无法判断是正常操作还是攻击;没有轨迹,中间任何一步被带偏了都没法审计。

三层数据在 Sensor 里被标准化,跟后端检测器解耦。这意味着你可以先只部署观测层,让数据跑起来,后续再接检测。对一个已经有安全体系、不想推倒重来的团队,这个边界设计得比较聪明。

检测器为什么是双 Agent 架构

ADR Detector 是双 Agent 架构,分两层。

第一层是高召回 triage。所有会话用一个便宜模型快速过一遍,目标是”别漏掉可疑的”,误报率高没关系。第二层只对第一层筛出来的可疑会话做深度 agentic reasoning,这层用更强的模型做真正的判断。

为什么非要这么绕:LLM 推理按量计费。所有会话都跑深度推理,账单会直接失控。先拿便宜模型滤掉绝大多数正常流量,只对少量可疑流量开重推理,这是所有 LLM 检测系统绕不开的成本约束。ADR 在架构层面直接给出答案。README 没给具体数字,但生产环境的流量规模决定了不可能对每个会话一视同仁。

值得注意的是,这个检测器的评测方式也不是随便跑几个 prompt 就完事。ADR-Bench 用 MCP 服务器搭了 133 个真实工具环境,任务是让 Agent 真的去调用工具、跟返回数据交互,然后测试检测器能不能看得出攻击意图。拿文本 prompt 做静态测试的基准跟这个的差距在于:静态测试看不到工具调用的上下文,也看不到 Agent 面对工具返回恶意数据时的行为变化。

配合完整评估流程的还有一篇 REPRODUCIBILITY.md,一步步教你怎么解压任务集、跑检测器、复现论文里的图表。Detection 目录里连 baselines 和 figure scripts 都开放了,这在安全项目里属于比较透明的做法。论文里写的检测效果,你可以自己跑一遍验证,不用光看 PDF 里的图。

快速跑起来注意什么

实际跑起来的成本比 README 前几行看起来要高一点。快速开始命令很短:

git clone https://github.com/uber/ADR
cd ADR/Detection
uv sync
export ANTHROPIC_API_KEY="..." OPENAI_API_KEY="..."

默认检测器是 adr,就是论文里的双 Agent 架构。没有 API key 可以做无密钥冒烟测试,加 --detector llamafirewall 就行。但完整评估不一样:要真实 API 配额,要解压打包好的任务集,要跑可能很长的评估流程。想完整复现论文图表,建议直接按 REPRODUCIBILITY.md 走一遍,比看任何解读都实在。

开源了哪部分,没开源哪部分

开源范围要分清。这个仓库包含 Sensor、ADR-Bench、Detector。论文里提到的离线红队引擎 Explorer 不在仓库里,README 原话是”The offline ADR Explorer engine, which hardens ADR Detection through pre-deployment red teaming, is not included here”。Prevention 也没有开源,原文是”This component is not included in the current open-source release. Stay tuned.”,没有时间表。

这个边界会在部署时直接体现出来:开源部分能做观测和检测,但检测到威胁之后的阻断动作,得你自己对接已有的权限控制或隔离机制。Prevention 跟企业安全策略深度耦合,开源出来既难维护,也容易让用的人以为装了就万事大吉。

我对这个项目的判断

读这个项目最值钱的部分不是跑通 demo,是看一个生产级 Agent 安全系统怎么在真实约束下做取舍。Sensor 的数据模型回答”信息怎么收齐”,Detector 的分层架构回答”成本怎么控制”,ADR-Bench 用 MCP 服务器回答”评测怎么保真”,REPRODUCIBILITY.md 回答”结果怎么复现”。

如果你正在建 Agent 安全体系、要评估检测方案,把这个仓库的 REPRODUCIBILITY.md 完整跑一遍,比读十篇解读文章都管用。

这篇文章对你有帮助吗?

发表回复