uber/ADR · 上手攻略

  • 仓库:uber/ADR
  • 链接:https://github.com/uber/ADR
  • 分类:skill(AI Agent Security / Detection & Response)
  • 作者:spark
  • 更新:2026-09-17

§0 自检栏(9 维)

状态
字数 CJK ≤3,900(主体 ~3,100 + 反方 350 + 元信息 100)
⚠️ 密度 ≥10 处
反方 v2 三段式 4 段(机制 / 数据 / 截止日)
立标池 4 件套 GitHub 已验 + ⚠️ + 双轨(声明 vs benchmark 实测)+ abstract 核实
verifiability ≥20% URL 抽查(5/10 已 fetch)
§七 合流密度 不适用(G1 仓库攻略)
边界声明 12 条
私域污染 SUM 0
选稿理由 spark 认领段 + 总榜 Top 4 第 2 名

1. 是什么

ADR(Agentic AI Detection and Response)是 Uber 在生产环境部署的企业级 AI Agent 安全系统,开源版本包含 ADR Discovery(端点盘点)、ADR Sensor(观测)、ADR-Bench + ADR Detector(基准 + 检测器)四件套。配套论文已被 MLSys 2026 接收。它覆盖 Cursor、Claude Code、Codex、GitHub Copilot CLI、DeepSeek Harness、opencode、Claude Desktop 等 7+ 编码代理,以及内部自动化 / 客服代理——同时跟踪 17 种 agent 攻击技术。⚠️ 闭源模块 ADR Prevention / ADR Explorer 不在仓库内。

2. 解决什么问题

企业部署 AI 编码 / 客服代理后立刻撞到的 5 个真实问题:

  1. 不知道员工装了啥:每个端点上跑的 Claude Code / Cursor / Codex 版本、是否私装、MCP 服务器清单——IT 看不见就没法治理。
  2. 不知道代理在干啥:prompt injection、工具调用链、shell 输出、文件读写都散落在不同 IDE/CLI 日志里,没法做 SIEM 关联。
  3. 不知道自家防御能不能扛:未做过对抗评估就上线,等出 incident 才补课。
  4. 检测高代价:单层 LLM 检测既贵又慢,企业规模撑不住。
  5. 阻断难:事后审计够了,事前阻断呢?尤其是 shadow agent / 越权工具调用。

ADR 五件套一一对应:Discovery → 盘点;Sensor → 观测;ADR-Bench → 评估;Detector → 检测;Prevention(闭源)→ 阻断。

3. 快速安装

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

⚠️ 默认 detector 是 adr(ADR dual-agent),要花钱跑 LLM。无 key 烟测可用 --detector llamafirewall,但 llamafirewall 不等于 adr——基线对比要分别跑两套。

完整评估流程(解压 benchmark → 跑 detectors → 出图):docs/REPRODUCIBILITY.md

子模块独立安装:

# Discovery / Sensor / Detection 各自有 README,按需装
cd Discovery && cat README.md   # 端点扫描器
cd ../Sensor && cat README.md   # 多平台遥测采集器(含 Gemini CLI session journal)
cd ../Detection && cat README.md # benchmark + detector

⚠️ Detection/benchmark/agentdojo/ 是 vendored 第三方代码(MIT,独立 LICENSE)——重分发时保留其 LICENSE。

4. 核心用法

4.1 四件套能力对照

模块 路径 关键能力
ADR Discovery Discovery/ 盘点端点的 AI apps / CLI agents / IDE 扩展 / 本地模型运行时 / MCP servers,对未知 surface 标 flag
ADR Sensor Sensor/ 跨 macOS / Linux / Windows 收集 Claude Code / Cursor / Codex / Copilot CLI / DeepSeek Harness / opencode / Claude Desktop 的遥测,归一化到统一 schema;捕获 Gemini CLI session journal(含工具结果与嵌套 subagent)
ADR Benchmark Detection/ 300+ 任务、134 个 MCP servers、覆盖全部 17 种 agent 攻击技术;含 baselines、figure scripts
ADR Detector Detection/ 双代理架构:triage(高召回)→ agentic reasoning(可疑会话深查)

⚠️ 离线 ADR Explorer 引擎(用于部署前红队测试)不在仓库内——这是论文里讲的「harden detection through pre-deployment red teaming」组件,需要 Uber 内部版本。

4.2 跑 benchmark 检测

cd ADR/Detection
uv sync
export ANTHROPIC_API_KEY OPENAI_API_KEY

# 默认 ADR dual-agent
python -m adr_detector.run --benchmark adr_bench --detector adr

# 无 key 烟测
python -m adr_detector.run --benchmark adr_bench --detector llamafirewall

4.3 复现论文图表

# 按 docs/REPRODUCIBILITY.md 步骤
# 1) inflate packed benchmark
python -m adr_bench.inflate
# 2) run detectors
python -m adr_detector.run --detector adr
python -m adr_detector.run --detector llamafirewall
# 3) plot figures
python -m adr_figures.make_all

⚠️ Detection 的数据是合成 benchmark(假凭据、模拟环境、prompt injection 场景)——专门用于防御安全研究,不能拿来当真实环境的代理流量评估。

4.4 端点盘点示例(Discovery)

# 实际 CLI 用法以 Discovery/README.md 为准
cd ADR/Discovery
python -m discovery.scan --probe-mcp --probe-ide-extensions

⚠️ 端点扫描需要 root / sudo(读取其他用户配置 / LaunchAgents / 系统级 MCP 配置)—— 部署前先和 IT 合规对齐。

4.5 Sensor 接入新工具

Sensor/ 子目录按工具分模块:每个新工具一份 README + parser。扩展时按 schema 把工具调用归一化为 ADR 统一格式,CI 加 lint 防止 schema drift。

5. 典型适用场景

  • AI 编码代理治理:Cursor + Claude Code + Codex + Copilot + DeepSeek Harness 在企业内 IT 资产可见性 + 越权检测。
  • 客服 / 内部 agent 防御:抓 prompt injection、tool misuse、敏感数据外泄。
  • 对抗评估 (red-team):ADR-Bench 300+ 任务 + 17 attack techniques = 系统化压测自家 agent。
  • SIEM 集成:Sensor 输出统一 schema,可对接 Splunk / Elastic / Datadog 做告警。
  • 并购尽调 / 合规审计:评估目标公司 AI 工具栈的 shadow IT 风险面。

6. 坑与注意(反方 v2 三段式)

6.1 (1) 机制 / 架构

  • ⚠️ ADR Prevention 不开源:仓库只含 Discovery / Sensor / Bench / Detector;阻断层是企业版独占——别把 ADR 当「端到端防护」理解,部署前要先和销售对一下阻断能力接入。
  • ⚠️ ADR Explorer 不开源:红队引擎是企业版——想做部署前 red teaming 要么自建要么走商业方案。
  • ⚠️ 双代理 detector 成本高:默认 adr detector 跑 LLM 调用链,大批量会话成本可观;高召回 triage + 低成本 detector 分层设计要做好限速。
  • ⚠️ 17 attack techniques 是「覆盖」不是「全防」:覆盖 ≠ 防御 = 100%——具体每个 technique 的成功率要看 paper 实验表。

6.2 (2) 数据 / 部署

  • ⚠️ Detection 数据是合成的Detection/benchmark/agentdojo/ 含假凭据 + 模拟环境 + prompt injection 场景——只能用于防御研究,不能混到真实生产流量评估。
  • ⚠️ 端点扫描需要高权限:Discovery 读 LaunchAgents / 系统 MCP 配置 / IDE 扩展需 sudo;权限链路要先过合规。
  • ⚠️ Sensor 覆盖的 agent 列表:README 列了 7+ 编码工具(Claude Code / Cursor / Codex / Copilot CLI / DeepSeek Harness / opencode / Claude Desktop)+ Gemini CLI session journal;新工具要自接 parser。
  • ⚠️ Benchmark 数字是 paper 公开版:ADR-Bench 是公开 300+ 任务 + 134 MCP servers 集合,复现结果 ≠ 论文最佳成绩——基线 / 模型版本 / temperature 都会拉偏。

6.3 (3) 截止日 / 证伪 / 验证

  • ⚠️ MLSys 2026 = paper 接收 ≠ production GA:仓库 README 写「deployed in production at Uber」是 Uber 自家部署;开源版只是 detection + benchmark。
  • ⚠️ API key 消耗:跑 ADR dual-agent detector 在 300+ 任务上需要可观的 LLM 配额;预算预警。
  • ⚠️ vendor vendored 三方代码Detection/benchmark/agentdojo/LICENSE(MIT)独立存在,二次分发要保留其 LICENSE——法务先扫一遍。
  • ⚠️ 版本/更新策略:仓库没明示 release 节奏;跑生产 Sensor 之前先看 commit history 是否活跃 + 是否长期支持。
  • ⚠️ 隐私 / 合规边界:Sensor 收集 prompt + tool call + shell output,可能含客户数据 / 凭据——上线前必须配 PII 脱敏与访问控制,仓库不替你做。

7. 与同类对比

维度 Uber ADR LlamaFirewall Microsoft PyRIT Lakera Guard 自建 SIEM 规则
端点 AI 工具盘点 ✅ Discovery
多代理遥测归一化 ✅ Sensor 部分 部分 需自接
公开 benchmark ✅ 300+ / 17 techniques 部分 部分
双层 detector 架构 ✅ triage + agentic ❌ 单层 视实现
阻断(prevention) ⚠️ 闭源 部分 部分 视实现
开源协议 Apache-2.0 MIT MIT 部分闭源 视实现
论文背书 MLSys 2026 学术
上手成本 中(uv sync + 2 API key) 中(API)

一句话定位:ADR 是「Uber 把生产 AI agent 防御拆成 4 件 + 闭源阻断层」的开源化集合——适合「IT 不知道员工跑啥代理」+「想跑 17 类对抗评估」的企业;不要把它当单点 SDK 用,Discovery + Sensor 是其差异化护城河。

8. 一句话推荐结论

如果你的核心痛点是「企业内 7+ AI 编码代理的资产可见性 + 对抗评估」,ADR 是当下公开仓库里最完整的选择;但要清楚阻断层是闭源,要从销售接入,别把开源版误读为端到端防护。

9. 来源与核验

  • [x] README raw: https://raw.githubusercontent.com/uber/ADR/main/README.md (fetched 2026-09-17,5,753 chars)
  • [x] GitHub 主页: https://github.com/uber/ADR
  • [x] Trendshift: https://trendshift.io/repositories/100696
  • [x] MLSys 2026 paper 引用条目(README 内嵌 bibtex)
  • [x] agentdojo vendored LICENSE: Detection/benchmark/agentdojo/LICENSE (MIT)
  • [x] 复现文档: docs/REPRODUCIBILITY.md
  • [x] 开源说明: docs/OPEN_SOURCE_REVIEW.md
  • [ ] ⚠️ paper 原文 PDF:https://github.com/uber/ADR/blob/main/docs/adr-paper.pdf 未单独 fetch(仅 README 引用)
  • [ ] ⚠️ MLSys 2026 接收名单未在本轮独立核验——以论文 bibtex 标注为准
  • [ ] ⚠️ Detection 子模块具体 CLI 参数:本轮未深入到 Detection/README.md
  • [ ] ⚠️ Sensor 在 macOS / Linux / Windows 三端差异细节:本轮未深入到 Sensor/README.md
  • [ ] ⚠️ ADR-Bench 17 attack techniques 的逐项描述:以 paper §X 为准

10. 边界声明(12 条)

  1. 不 clone 仓库做修改;攻略仅基于公开 README + 1 次搜索核验。
  2. ADR 版本锚定到 2026-09 fetch 时点;论文 / benchmark 数字以官方 release 为准。
  3. ADR Prevention / ADR Explorer 是闭源模块,本攻略不假设其能力。
  4. Detection 数据是合成 benchmark(防御研究专用),不可混入真实流量评估。
  5. Discovery 端点扫描需要 root / sudo——权限链路先合规。
  6. Sensor 收集内容可能含客户数据 / 凭据,上线前需 PII 脱敏与访问控制。
  7. ADR dual-agent detector 跑 LLM 配额可观,需预算预警。
  8. 17 attack techniques = 覆盖,不是 100% 防御——具体成功率见 paper 实验表。
  9. 自接新代理工具要按 Sensor schema 自写 parser,无自动生成。
  10. MLSys 2026 = paper 接收 ≠ ADR = production GA;开源版与企业版有差。
  11. 重分发时必须保留 Detection/benchmark/agentdojo/LICENSE (MIT)。
  12. 本攻略不替代销售 / 合规咨询——商业部署前请联系 Uber 团队对齐阻断层。