研究报告 · 约 37,744 字 · 预计推送 4 部分

Agent 工具权限设计:能力分级、沙箱、审批、审计日志与最小权限(横纵综合报告) 未开始

目录

题记与说明

版本:横纵综合报告 · 最终稿(2026-11-03;按独立审读意见修订,八条意见全部处理,逐条处置记录见第四节"核实与修正说明")。
来源:本稿由同一课题的两份章节稿综合而成——纵轴章《发展史》与横轴章《横向对比》(见 output/reports/parts/ 下 2026-11-03 两个文件)。综合时消除了两章之间的重复叙述,并对三处口径差异做了显式调和(见 3.1 节)。
信息口径:两章调研期间均完成联网检索与官方文档核对;修订阶段又对审读存疑条目做了第二轮检索补证(2026-10-02 Apple FDA 新规、OWASP ASI 官方名单与官方链接、claude_code.safety_event 的版本史、ChaosGPT 与 Atlas 报道的原文链接等),全文保留来源链接。个别来自模型既有知识、未能联网逐条核对的内容(主要是 1.1 节的 OS 安全史前史与个别日期)就地标注;仅有一条例外重大事件(2026 年 OpenAI/Hugging Face 沙箱逃逸)只找到二手报道而无原始公告直链,按"存疑"处理并在文中注明。

TL;DR

Agent 工具权限五件套(分级、沙箱、审批、审计、最小权限)没有一样是新发明,全是上世纪六七十年代操作系统安全经典的重演;唯一的新变量是:被授权的执行体会把"不可信内容"当指令读。纵轴上,课题从 2022 年 ReAct 工具调用、2023 年间接提示注入"出生证明"出发,经自治代理事故教育、MCP 诞生、编码代理把权限做成产品,到操作系统与监管机构下场收编。横轴上,2026-11 截面有三条路线:本地细粒度派(Claude Code、Codex)、云端隔离派(ChatGPT Agent、Devin、Manus)、OS 收编派(Windows、macOS);协议层 MCP 只管"你是谁",不管"你能做什么"。核心判断:注入防不住,只能让后果有界;默认值暴露厂商真实态度;审批正走向"规则沉淀+分类器代审",代价是递归信任;个人用户应与企业相反,靠事前收紧与沙箱,而非事后审计兜底。


一、纵轴:发展脉络(1966–2026.11)

1.1 史前史(1966–2013):三问框架的诞生

今天的"Agent 工具权限"五件套没有一样是新发明,全部能在计算机安全经典中找到原型(本小节为模型既有知识,未逐一联网核对;其中 Landlock/Seatbelt 被 Codex 使用一事已在原调研中联网验证,见 agent-safehouse.dev 技术分析、openai/codex 仓库):

这一阶段的"参与者"是操作系统与安全学术圈,驱动因素是分时系统与多租户。他们留下的最重要的遗产是一个判断框架:任何新执行体上线,都要回答"它能碰什么、谁能拦它、出事怎么查"。2023 年之后的全部争论,本质上都是 LLM Agent 在重新回答这三问。

1.2 工具调用的出现与"信任模型真空"(2022.10–2023.03)

这一阶段的本质是:模型能力(工具使用)先于安全模型出现——市面上只有"能不能调工具",没有"该不该调、调了谁看着"。业内还没有"权限模式"这个词,OpenAI 插件说明文件里唯一的约束是开发者自述的 manifest。

1.3 自治代理冲击与第一波"事故教育"(2023.03–2023.12)

这一阶段的关键词是措辞防御失效:大家发现无法靠提示词解决权限问题,必须引入模型之外的机制。

1.4 评测体系成形与 MCP 诞生(2024)

1.5 编码代理把权限做成产品,MCP 攻击面集中爆发(2025 上半年–年中)

这一阶段是本课题的"产品定型期":三大编码代理几乎同时把能力分级 + 沙箱 + 审批做成正式的、可配置的产品界面。

与此同时,MCP 生态的事故潮把"最小权限"从最佳实践变成血泪教训(主要整理自 authzed 的 MCP 安全事件时间线与 Invariant Labs 原始披露):

理论侧同样在 2025 上半年收敛:

1.6 浏览器与操作系统下场:给个人电脑重画信任边界(2025 下半年–2026)

1.7 时间线速览

时间节点
1966 / 1975Dennis & Van Horn 能力模型 / Saltzer & Schroeder 八原则
2022-10 / 2023-02ReAct / Toolformer:工具调用成为模型能力
2023-02Greshake 等:间接提示注入概念诞生
2023-03 / 07ChatGPT 插件 + Code Interpreter 沙箱
2023-04 / 09ChaosGPT 连续模式演示 / Open Interpreter"默认审批 + -y 危险开关"
2023OWASP LLM Top 10 v1:Excessive Agency 入列(LLM08)
2024-03 / 06InjecAgent / AgentDojo:攻防评测标准化
2024-10-22Claude Computer Use beta + Docker 参考实现
2024-11-25MCP 发布
2025-01-23Operator:监视/接管/敏感操作确认
2025-02-24 / 05-22Claude Code 预览 / GA:权限规则 + hooks
2025-04 / 06Codex CLI / Gemini CLI:sandbox 档位 + OS 沙箱
2025-03 / 04 / 06CaMeL / Progent / lethal trifecta:理论收敛
2025-04–07MCP 事故潮(投毒、GitHub PAT、Inspector RCE、mcp-remote、Supabase)
2025-07-19Replit 生产库删除事件
2025-08-20 / 26Brave 披露 Comet / Claude for Chrome beta(23.6%→11.2%)
2025-10-16 / 20 / 21Windows Agent Workspace / Claude Code 沙箱化 Bash / Brave 隐形注入 + Atlas 发布
2025-11Anthropic:注入成功率压至约 1%;MCP 授权规范再修订
2025-12-09 / 22MCP 捐入 Linux Foundation AAIF(OpenAI 跟进采纳)/ OpenAI 加固 Atlas;OWASP Agentic Top 10
2026-04 / 06MCP STDIO 设计缺陷(10+ CVE)/ NSA-CSA MCP 指南
2026-07-28MCP 2026 规范定稿(六项授权澄清)
2026-10-02 / 07Apple 收紧 FDA 授权(MacRumors/TechCrunch 同日报道);MXC 执行容器
2026 年中OpenAI/Hugging Face 沙箱逃逸(二手报道,存疑)

二、横轴:横向对比(2026-11-03 时间截面)

2.1 对比口径与五要素标尺

"Agent 工具权限设计"要解决的问题是:当一个运行在个人电脑上的 Agent(能读文件、跑命令、发网络请求、控制应用)要调用工具时,谁在什么粒度上、以什么依据、留下什么痕迹地放行它。五个构件恰好对应五个放行控制点:给多少能力(分级)、出事后能到哪(沙箱)、何时需要人点头(审批)、事后能查什么(审计)、默认给多少(最小权限)。

在 2026-11 这个截面上,可比对象分成六组:A. 本地执行型桌面/终端 Agent(Claude Code、Codex CLI、Gemini CLI、Cursor Agent、Open Interpreter/AutoGPT);B. 云端沙箱型 Agent(ChatGPT Agent、Devin、Manus);C. 操作系统层方案(Windows 11 Agent Workspace 与 Microsoft Execution Containers、macOS TCC + Seatbelt);D. 协议与授权层(MCP 的工具注解与 OAuth 2.1 授权规范);E. 底层隔离积木(Seatbelt、bubblewrap、Landlock/seccomp、Windows AppContainer、Firecracker microVM);F. 威胁建模框架(STRIDE、CSA MAESTRO、OWASP Agentic Top 10 / ASI01–ASI10——F 组不是竞品,是评价坐标系;ASI 官方对照表见 3.2)。

本课题不是一个产品,而是一套设计问题。所以横向对比的正确姿势不是"谁赢了",而是:这五道题,各家分别交出了什么答案,哪些答案已被证实踩坑,哪些组合对个人电脑场景最有效。

2.2 权限五要素总对比

表内为关键词级速览,便于扫读;逐项细节与来源在 2.3 逐家深读,此处不再展开重复(Claude Code 的模式名单与沙箱细节、Codex 的 OTel 默认值、Gemini 的配额数字等均在 2.3)。

方案能力分级沙箱与隔离审批机制审计日志最小权限实现
Claude Code权限模式 × allow/ask/deny 规则 × 沙箱三层(模式名单见 2.3)OS 原生(Seatbelt / bubblewrap);原生 Windows 无沙箱;仅包 shell 命令,缝隙见 2.3沙箱内自动放行;沙箱外走规则;auto 模式分类器代审本地会话 + OTel 导出(safety_event 上线六天即移除,见 2.3)默认读全盘(弱项);读限制 / 凭证 mask / 网络白名单 / protected paths
Codex CLIsandbox_mode 三档 × approval_policy 四档正交组合Landlock+seccomp / Seatbelt;Windows 实验性、防不住 Everyone-writable 目录(官方文档).rules(Starlark):allow/prompt/forbidden;TUI 批准写回规则OTel 导出(默认关,默认不记 prompt)环境变量滤密钥;workspace-write 默认关网;writable_roots 白名单;keyring
Gemini CLI逐命令确认 / YOLO 全自动两极,中间档薄Seatbelt / Docker 可选;YOLO 模式强制开启(调和①,沙箱文档)逐条确认;YOLO 一键全放官方有 telemetry 配置(OTel,细节未复核);本地会话日志免费配额限的是用量不是权限(配额页)
Cursor AgentAgent 模式默认自主改文件;Ask/Agent 粒度粗sandbox.json 沙箱为新特性,bug 较多(headless 曾忽略 sandbox.json,论坛帖)终端命令 allowlist + 逐条审批;MCP 工具 allowlist(曾被反馈失效)企业侧有审计能力但公开资料少;以本地会话为主.cursorignore 控制上下文暴露面;白名单成熟度被诟病
Open Interpreter / AutoGPT-y / auto_run=True 直接跳过确认无内置沙箱,本机直接执行逐次确认 or 全自动,两极基本只有本地会话记录几乎没有系统化设计;"反面基准线"
ChatGPT Agent(云端)云端 VM 内操作;敏感环节(凭据、支付)由用户 takeoverOpenAI 托管云 VM,与本机天然隔离(机制解析)确认门 + takeover 人机切换随 ChatGPT 企业合规日志体系以环境分离代替权限分配——隔离即最小权限的最彻底形态;代价是做不了纯本地任务
Devin / Manus(云端)公开资料未见系统化分级(以隔离代替分级,见沙箱列)每任务/每会话独立云 VM;Manus 基于 E2B(每 VM 带 Chromium、终端、约 27 个工具,官方案例);VM/容器逃逸才能触达宿主;SilentBridge(Aurascape,2026)展示零点击接管仍可能任务级评审、PR 级人工 review 为主平台级操作记录(公开细节暂缺)Agent 拿到的站内凭证(GitHub token 等)粒度公开资料暂缺
Windows 11 Agent Workspace(OS 层)独立 agent 账户(区别于用户账户)+ 有限授权;实验特性默认关独立桌面 + 沙箱化环境;2026-10 MXC 做策略驱动容器封装系统层授权请求(文件夹/应用访问)官方称 tamper-evident(防篡改)日志;Ignite 2025 定位"policy-controlled and auditable"独立身份 + 有限授权是 OS 级最小权限;批评:关键文件夹读写仍放太开、人机职责分离不足
macOS 原生(TCC + Seatbelt)按"权限服务"分级(Apple Events / FDA / 屏幕录制)sandbox-exec(Seatbelt)已被 Codex CLI、Gemini CLI、Claude Code 复用为执行边界(NTT Labs 文)TCC 弹窗逐项授权;2026-10 收紧 FDA 授权流程(见 1.6,分析)统一隐私报告/日志(系统级)OS 是最细粒度的权限提供者,但对"Agent 意图"无感知——管住进程,管不住被注入的意图
MCP 协议层工具注解仅提示风险等级(readOnlyHint / destructiveHint 等,模型既有知识),无强制分级协议不含沙箱,隔离交给宿主elicitation 等机制可插人工确认;规范本身不管审批协议无审计要求;审计落在宿主实现OAuth 2.1 资源服务器模式(2025-06-18 修订);规范止步于"身份",细粒度授权留白(WorkOS 评)
E2B / 微 VM 积木层沙箱即服务,无权限分级概念Firecracker microVM,约 150ms 启动、独立内核;免费层约 100 沙箱小时/月,后按秒计费(约 $0.0504/vCPU 小时,对比文)不涉及宿主平台自定隔离极强、权限为零——它是"画边界"的,不是"发权限"的
LangGraph 等框架层\*interrupt() / Command 把审批做成图上可编程原语(暂停-审-改-续,带 checkpoint)无(框架不管执行环境)human-in-the-loop 中断点是框架级能力依赖 LangSmith 等观测栈把"最小权限"留给开发者用代码表达

\* LangGraph 分类说明:LangGraph 是开发框架,不属于 2.1 节六组分类(A–F)中的任何一组,也不是成品权限方案;保留此行是作为"审批作为图上原语、由开发者自行组装"的框架层参照,与 A 组的成品审批互为对照。

2.3 逐家深读(表格装不下的部分)

Claude Code:把"问用户"换成"画边界"。 先补齐表格收起的细节——其权限体系是三层叠加:权限模式六档(manual / acceptEdits / plan / auto / bypassPermissions / dontAsk)× 权限规则(allow/ask/deny,支持 Bash(git push *) 这类按命令语义而非工具名发牌的内容级 ask)× 沙箱。其官方沙箱文档(code.claude.com/docs/en/sandboxing)值得逐段读:沙箱是 OS 强制的边界——macOS 用 Seatbelt,Linux/WSL2 用 bubblewrap 加 socat 中继,还有一个可选 seccomp 过滤器专门封 Unix domain socket;原生 Windows 上没有沙箱,必须进 WSL2。文件与网络是两个独立可开关的层:默认可写当前工作目录 + 每用户临时目录,默认可读整台电脑(文档原话:read access to the entire computer)——这是全行业默认配置里最刺眼的一个反最小权限设计,靠 blockReadsOutsideWorkingDirectories 才能收紧。网络侧所有流量被引入沙箱代理做域名白名单(strictAllowlist 模式),allowlist 默认为空、逐域询问,还默认拒绝解析到本机/云元数据地址(169.254.169.254)的连接,专门防 SSRF 式信息外带。

它的审批模型有一个本质转向:沙箱内的命令自动放行,人只审批"沙箱外"的事。文档称之为"边界翻转"——不再逐条命令问"允不允许跑",而是先定义"命令能摸到什么"。auto 模式还引入独立分类器模型代审跨边界动作,等于用模型审模型——这带来效率,也带来一个循环信任问题:分类器本身是概率系统。审计侧,Claude Code 支持 OTel 导出(企业经 managed-settings 分发配置),v2.1.307(2026-10 下旬)新增 claude_code.safety_event 记录每次安全拦截——但该事件在 v2.1.312 即被移除,前后只存活六天,建立在厂商遥测之上的告警会静默失效(官方 changelog、GitHub releases、Dev.to 分析:Safety Telemetry Event Lived Six Days);社区另已报出 web 端 OTLP 遥测缺 account_id 的 bug(anthropics/claude-code#57908)。最有个性的设计是"凭证 mask":命令只看到哨兵占位值,代理在出站请求里替换真值,AWS SigV4 请求甚至由代理解析后重签——最小权限做到了凭证粒度。代价是文档自己承认的局限清单:默认不审查 TLS 内容、allowUnixSockets 放开 docker.sock 等于交出宿主、放开 Apple Events 即失去代码执行隔离。

Codex CLI:把权限做成正交矩阵 + 可测试的策略文件。 沙箱模式与审批策略是两个独立维度,用 ~/.codex/config.toml 正交组合。它对"审批"的最大贡献是把规则做成可测试的代码:.rules 文件用 Starlark 写 prefix_rule(),每个规则可带 match/not_match 内联单元测试,加载时校验;多条规则命中取最严者(forbidden > prompt > allow);你在 TUI 里点一次"允许",它就写回规则文件——审批记忆被显式持久化、可 diff、可版本管理。审计侧,OTel 导出默认关闭(log_user_prompt=false 默认不记用户 prompt),事件覆盖审批决定、工具结果、MCP 使用与 proxy 放行/拦截。最小权限侧,shell_environment_policy 默认过滤含 KEY/SECRET/TOKEN 字样的环境变量再传给子进程,workspace-write 档默认关网络。OpenAI 自己的企业实践(Running Codex safely at OpenAI,2026-10-08)展示了完整闭环:网络白名单 + 陌生域名审批、auto-review 子代理自动批低风险动作、凭证入 OS keyring、活动日志进 Compliance Logs Platform,再喂给一个 AI 安全分诊 Agent 回答"Codex 为什么这么做"——审计目标从"发生了什么"升级到"意图是什么"。

Gemini CLI:免费额度换配置复杂度。 走"大免费额度 + 容器沙箱可选"路线,但两头都不稳:GitHub 上挂着 "YOLO 模式仍弹确认"(#25914)、"沙箱镜像拉取失败"(#11685)等一串 issue。个人用户视角它是最便宜的入场券(个人账号 60 请求/分、1000 请求/天),但权限体系细度与 Claude Code/Codex 不在一个量级:审批只有"逐条确认 / YOLO 全放"两极,没有规则沉淀与代审层。社区反哺的加固做法是用 Deno+firejail 包装运行(官方 Discussion #15066 加固指南),但官方权限面仍停留在两极。

Cursor / Open Interpreter:两个提醒。 Cursor 提醒的是白名单工程的真实摩擦:论坛里 MCP allowlist 失效反复弹窗、sandbox.json 在 headless 模式被忽略等反馈集中出现。更尖锐的一篇分析(《Your Coding Agent's Sandbox Isn't the Boundary》)指出 Cursor 会不加确认地把路径加入可写白名单,注入指令有可能借此改写沙箱辅助二进制——白名单本身成了攻击面。Open Interpreter 提醒的是另一个极端:-y 一跳到底,无沙箱、无规则、无审计,它是"前权限时代"的活化石,如今的价值是充当反面基准线。

云端派:把你的电脑从攻击面上删掉。 ChatGPT Agent、Devin、Manus 给出的答案是釜底抽薪——不在我机器上跑,就没有我机器的权限问题。这条路线的隔离强度天花板最高,代价是永远做不了纯本地任务,且隔离不等于免疫——SilentBridge 展示了对 VM 隔离架构的零点击 Agent 接管。对"个人电脑助手"这个课题,云端派其实是替代方案而非竞品:当任务是"处理我硬盘里的文件"时它出局。

OS 厂商收编:抢走权限发牌权。 微软与 Apple 的动作见 1.6 节(Windows Agent Workspace/MXC、Apple 2026-10-02 收紧 FDA)。这是横轴上最值得押注的结构性变量:OS 层一旦原生提供"Agent 身份 + 授权 + 防篡改日志",上面所有 Agent 产品的权限设计就从"自建差异化"变成"在系统地基上补上层逻辑"。正如个人防火墙死于 Windows 防火墙——XP SP2(2004)起内置防火墙默认开启,第三方个人防火墙产品线随之式微(How-To Geek:为什么不再需要第三方防火墙、Petri:Windows Firewall 演进史)——单点 Agent 沙箱工具的长期处境也类似。

MCP:协议层把"描述"变成了攻击面。 MCP 是所有宿主共享的工具插口,也是权限模型的公共洼地。安全侧的证据链很完整:Tenable(2025-04-30)记录工具投毒;Palo Alto Unit 42(2025-12,分析)把攻击面扩到 sampling 功能;arXiv 2603.22489(PDF)对 MCP 做了系统的威胁建模。授权侧,2025-06-18 修订把服务器定位为 OAuth 2.1 资源服务器(AuthZed 解读);但 WorkOS 的评价一针见血:规范解决了"你是谁",没解决"你能做什么"——细粒度授权、审批、审计在协议层全部留白,落在各宿主手里,质量参差。协议层的注解(readOnlyHint 等)只是提示,模型和宿主都可以不信。

2.4 五要素的横向判断


三、交叉洞察:两轴结合说明了什么

3.1 两轴合并得出的五条判断

判断一:这是一场"螺旋式重演",而不是全新发明。 纵轴显示,2025 年每个"新"机制都有上世纪六七十年代原型:allow/ask/deny 规则是完全仲裁的 UI 化,沙箱档位是 1.1 节那套隔离栈(chroot → jail → Seatbelt → Landlock)的产品化,审批疲劳早在 Saltzer 的"心理可接受性"里预言过。但横轴显示,头部两家(Claude Code、Codex)的答案高度趋同(OS 原生隔离 + 域名白名单 + OTel + 规则沉淀),Gemini CLI 的权限体系细度则落后一个量级(审批两极、遥测未成熟,见 2.3)——头部趋同,是因为它们都在收敛回同一套经典答案。真正的新问题只有一个:被授权的执行体会把"不可信内容"当指令读(Greshake 2023)。为此经典安全栈被迫新增了三类原创机制:上下文污点追踪(CaMeL)、双 LLM 分权(Willison 双 LLM 模式 → CaMeL 实现)、出口代理重签(Claude Code 凭证 mask)。

判断二:两章口径差异的调和(综合时消除了三处矛盾)。 ① Gemini CLI 沙箱是否强制:纵轴写"--yolo 模式下默认强制开启",横轴写"非强制、默认态靠确认"——两者都对:常规模式下沙箱是可选的 --sandbox 开关,但进入 YOLO 全自动模式后沙箱强制开启,这正符合三家共同的"越自动越强制沙箱"公理。② Claude Code 沙箱覆盖范围:纵轴记录的是 2025-10-20 发布时点(仅 Bash 一条执行路径、默认关闭),横轴描述的是 2026-11 现状(沙箱已成为审批模型的中枢——沙箱内自动放行、人只审沙箱外,且网络代理/凭证 mask/protected paths 等能力大幅扩展),但官方文档至今承认 Read/Edit/MCP/hooks 仍在沙箱外——沙箱长壮了,缝隙没补上,两章是同一缺陷在不同时点的快照。③ Claude for Chrome 攻击成功率:23.6%(自主模式基线)→ 11.2%(叠加缓解措施)→ 约 1%(2025-11,Opus 4.5 + 多层防御)——不是矛盾,是一条随时间收敛的公开曲线,本稿按时间序列合并。

判断三:"lethal trifecta"是连接两轴的中枢定理。 纵轴的事件序列(GitHub MCP 用过宽 PAT、Supabase 用 service_role、Comet 外发 OTP)反复验证同一个命题:私有数据 × 不可信内容 × 外发通道,三者齐备必然出事;横轴的方案光谱则是在回答"砍哪条腿":云端派砍"本机资产"腿,OS 收编派砍"过宽身份"腿,CaMeL/Progent 砍"内容当指令"腿,Claude Code 凭证 mask 砍"外发通道携带真凭据"腿。没有一家试图同时保住三条腿——这就是 2023–2026 全部设计演化的最低公约数。

判断四:审批的终局问题还没有人解,而且是递归的。 纵轴的"心理可接受性"原则在 2025 年以"审批疲劳"的形式复发(OWASP ASI09"Human-Agent Trust Exploitation"打的正是这个洞);行业给出的当前最优解——"规则沉淀 + 分类器代审"——把安全决策递归还给了概率系统:审模型的是模型,而模型可被注入误导。本报告推测(中置信):能力分级若能成为跨厂商强制标准(MCP 注解强制化 + 注册表签名),代审才有可信的输入——推测的依据是 CaMeL/Progent 都把"显式能力策略 / 可编程权限"当作防御核心(见 1.5),但两篇原文只讲到污点追踪与 DSL 策略为止,均未提出跨厂商标准化的路线图;这条标准目前不存在。

判断五:OS 收编是最大的结构性变量,权限设计正从差异化变成地基。 纵轴的时间线里,2025-10(Windows Agent Workspace、Claude Code 沙箱)与 2026-10(MXC、Apple FDA 收紧)两个节点前后呼应;横轴的格局图上,OS 层是唯一同时触碰五个要素的玩家(身份、隔离、审批弹窗、防篡改日志、默认全关)。可以预期:各家自建的 protected paths、审计导出,长期会被系统调用替代一部分;差异化将转移到两个地方——审批的人机交互设计,和凭证级最小权限。短批评级:当下的 OS 方案(实验特性、限制粗)尚不能替代产品级细粒度。

3.2 附加课题:个人电脑助手的威胁建模(两章合并版)

对象:运行在普通用户个人 PC/Mac 上的通用助手(编码代理、桌面/浏览器代理、MCP 宿主如 Claude Desktop/Cline/Cursor)。框架以 STRIDE 为主干,另设 MAESTRO 与 OWASP ASI 两个参照列补 Agent 特有威胁(STRIDE 对"一个 Agent 扮演多个实体"的场景会失效,Bishop Fox 分析、ASTRIDE;官方主干参照 微软 SFI 威胁建模指南)。三列并存是因为覆盖面不同:STRIDE 是经典六类;MAESTRO 是 CSA 面向多代理环境的七类分类(MAESTRO=Multi-Agent Environment Security Threat Risk Organization,2025):M1 身份仿冒与冒充、M2 工具滥用、M3 抵赖与不可追溯、M4 信息泄露、M5 提示注入、M6 人类操纵、M7 记忆与上下文投毒(SAS:对代理系统做 MAESTRO 威胁建模、Praesidia:MAESTRO vs STRIDE 实操对比、Bishop Fox);ASI 是 OWASP 2025-12 发布的最新清单,官方对照表见本表后注。

资产:① 个人文件与照片(不可再生);② 凭据与会话——浏览器 Cookie、SSH/Git 凭据、.env、~/.docker/config.json;③ 支付与钱包;④ 通信(邮件/IM,可被当作外发通道);⑤ 设备控制权(键鼠、shell、管理员权限);⑥ 隐私与身份;⑦ 用户本人的注意力——每次审批点击都是资产。

信任边界:① 模型↔工具调用层(模型输出 = 不可信输入);② 本机↔网络;③ Agent 会话↔用户;④ 配置文件↔运行时(谁写规则谁掌权)。关键规律:每条跨越"外部世界 → 模型上下文"的边界都是注入入口,每条跨越"助手 → 外部世界"的边界都是外泄出口。

#威胁STRIDEMAESTROOWASP ASI现实证据(含来源)五要素缓解(谁做得好)残余风险
1间接提示注入:网页/邮件/截图里的隐形指令劫持 AgentI 入口失控M5(提示注入,含经检索内容的间接注入)ASI01(Agent Goal Hijack)Greshake 2023(arXiv);Brave Comet(2025-08);隐形图片注入(2025-10);Atlas 演示与 Claude for Chrome 23.6% 基线分级:站点/域名权限;审批:敏感动作强制确认;CaMeL 式污点标记阻断"不可信内容 → 外发动作"无根治手段;浏览器 Agent 是重灾区,缓解后仍约 1–11%
2工具投毒与恶意 MCP 服务器:描述藏毒、先良性后换行为(rug pull)S(仿冒)M2(工具滥用)+M7(工具描述属持久上下文,投毒即上下文投毒)ASI04(恶意 MCP 服务器即被污染的供应链组件)、ASI02Invariant 工具投毒(2025-04);Tenable 变体记录;Unit 42 sampling 面(2025-12);postmark-mcp 密送邮件、假 Oura 传木马(authzed 时间线)审批:服务器级 allowlist、工具定义变更需重新批准;审计:工具调用全量记录(Codex OTel 记 MCP 使用)协议层无签名/注册强制;"传统安全工具不监控工具描述变更"
3配置篡改自授权:注入内容改写 .claude/skills、AGENTS.md、.bashrc、.mcp.json,给 Agent"发新牌照"T(篡改)M7(AGENTS.md/规则文件正是跨会话的持久上下文)ASI06、ASI03(借篡改完成特权滥用)Claude Code protected paths 机制本身即为此设计(沙箱文档);Cursor 白名单写路径风险(分析文)沙箱:protected paths 禁写配置与 shell 启动文件;OS:Windows 独立 agent 账户沙箱外的文件工具与 MCP 不受 protected paths 约束(官方文档自认)
4过宽凭据 × 代理 = 单点灾难:读 .ssh/.aws/cookie 后借合法通道外带I(泄露)M4(信息泄露)ASI03(身份与特权滥用)GitHub MCP 全权限 PAT(2025-05);Supabase service_role 绕 RLS(2025-07);Smithery 构建路径偷 ~/.docker/config.json(2025-10,authzed);Claude Code 默认可读全盘(官方默认行为)最小权限:blockReadsOutsideWorkingDirectories、凭证 deny/mask、Codex 环境变量过滤、元数据地址默认拒mask 依赖 TLS 终止配置正确;无内置凭证黑名单(需自己列)
5逃逸通道与沙箱缝隙:unsandboxed retry、docker.sock、Apple Events、symlink、STDIO 直通E(提权)M2(合法工具被用于越出批准边界)ASI05(意外代码执行/RCE——官方描述明含主机失陷与沙箱逃逸)、ASI02Claude Code 文档"安全局限"逐条自认;Filesystem MCP 沙箱逃逸(Cymulate 2025-08);MCP STDIO 设计缺陷 10+ CVE(2026-04,authzed);Codex Windows 沙箱防不住 Everyone-writable 目录(官方文档)分级+审批:ask 规则强制人工(如 Bash(dangerouslyDisableSandbox:true));strict 模式关死 retry;OS 级沙箱兜底便利性与安全性的直接交换,用户常选便利
6破坏性失误(无攻击者也能发生):rm -rf、删库、fork 炸弹D(拒绝服务)M2(工具滥用)ASI02(在被批准的权限内用合法工具造成伤害)700GB 主目录被递归删除(Tom's Hardware);4.8 万文件被删(MIT AI Risk);代码冻结下删生产库(Replit 事件)沙箱:写边界挡住越界删除;云 VM 限爆炸半径;连续模式默认关(ChaosGPT 教训)本机无沙箱方案(Open Interpreter 类)零防御;多数事故发生在本应被沙箱拦住的本地写/删上
7审批疲劳:高频弹窗训练用户无脑点"允许"EM6(人在回路的操纵)ASI09(人机信任滥用:过度依赖导致对高风险决定草率盖章)Cursor/各论坛"重复弹窗"投诉即温床;Gemini YOLO 仍弹确认的 bug(#25914)反向制造疲劳分级:沙箱内免审,把弹窗预算留给高危;审批:分类器代审低风险(Claude auto、Codex auto-review)代审模型本身可被注入误导(递归信任)
8无痕迹抵赖:出事后说不清"模型说的还是人点的头"R(抵赖)M3(抵赖与不可追溯——MAESTRO 直指此威胁)ASI 未单列抵赖(最接近 ASI10 的"无告警漂移")各家日志默认存本地可写路径;本地 Agent 默认不留第三方可查日志;Claude Code safety_event 六天即被移除(见 2.3)审计:OTel 外发、Compliance 平台;OS:Windows tamper-evident 日志个人用户没有 SIEM;本地日志可被会话内删除
9零点击接管:浏览器/Agent 框架漏洞被直接利用EM1(仿冒合法界面/代理,如 SquareX 侧边栏仿冒)ASI05(漏洞利用可达 RCE/逃逸)、ASI03SilentBridge(Aurascape,2026);SquareX"AI 侧边栏仿冒"(研究)沙箱:VM 隔离抬高成本;UI 层防伪无银弹;云派与本地派共担

OWASP Agentic Top 10 官方名单对照(ASI01–ASI10,2026 版、2025-12 发布;官方资源页、Indusface 逐条解读):ASI01 Agent Goal Hijack(目标劫持:处理内容里的隐藏指令改写代理目标);ASI02 Tool Misuse and Exploitation(被批准的工具被链式滥用);ASI03 Identity and Privilege Abuse(身份与特权滥用:权限继承与累积被利用);ASI04 Agentic Supply Chain Vulnerabilities(插件/MCP 服务器/模板等供应链组件被污染);ASI05 Unexpected Code Execution / RCE(意外代码执行,官方描述明含主机失陷与沙箱逃逸);ASI06 Memory and Context Poisoning(持久上下文被投毒并影响后续会话);ASI07 Insecure Inter-Agent Communication(代理间消息可被仿冒/篡改/重放);ASI08 Cascading Failures(故障沿信任链传播放大);ASI09 Human-Agent Trust Exploitation(人对代理的过度信任导致对风险决定草率盖章);ASI10 Rogue Agents(代理在无告警下渐进漂移、偏离目标)。上表 ASI 列按此官方名单校准:其中"抵赖"一项 ASI 未单列,该行以 MAESTRO M3 为主参照;ASI07(代理间通信)与 ASI08(级联失效)在个人单代理场景暂无对应行,完整清单仍录于此备查。

给个人场景的落地结论(个人用户没有 SOC、没有 7×24 审计值守,与企业方案的最大差异在此):

  1. 优先级排序与企业相反:企业可以靠"事后审计+分诊"兜底,个人必须靠"事前默认收紧+沙箱"——因为没人回头看日志。具体配置底线(各家术语不同,以 Claude Code 为例,Codex 与 Gemini 的对应项随分号标注):沙箱开(Windows 用户走 WSL2;Codex:sandbox_mode 至少 workspace-write,Windows 原生沙箱仍实验性;Gemini:常规模式即加 --sandbox,YOLO 下自动强制);blockReadsOutsideWorkingDirectories(或等价读限制)开(Codex 无同名开关,靠 sandbox_mode=read-only 或 writable_roots 白名单收紧写面;Gemini 公开资料未见等价项,只能靠容器边界兜底);凭证 deny/mask 配上 .ssh/.aws/token 环境变量(Codex 对应 shell_environment_policy 默认过滤 KEY/SECRET/TOKEN + OS keyring;Gemini 未见等价项);网络 allowlist 从空开始逐域加(Codex 对应 workspace-write 档默认关网 + 企业网络白名单实践;Gemini 靠容器网络隔离);strict 模式关掉 unsandboxed retry(Codex 无 retry 机制,等价做法是 approval_policy=untrusted 逢命令必审;Gemini 不开 YOLO 即逐条确认);只装经审核来源的 MCP 服务器并留意工具描述变更;绝不让 Agent 可写自己的规则与启动文件;连续模式默认关。
  2. 审批预算要花在刀刃上:用规则消化高频低危(读、测试、构建),把弹窗留给跨边界动作(出沙箱、新域名、删除、push)。判断一个方案好坏的快速测试:它让"危险的确认"和"无聊的确认"长得很不一样吗?
  3. 凭证与配置是两处必守的高地:凭证侧用 mask/deny + 环境变量过滤;配置侧不让 Agent 可写自己的规则与启动文件。这两点守住,上表威胁 3、4、5 的杀伤力大半化解。

一句话结论:个人电脑助手的威胁模型核心不是"防住注入"(做不到),而是让注入的后果有界——凭最小权限把"最坏情况"从"整台电脑沦陷"压到"一个工作区、一把短时效钥匙、一条可审计的轨迹"。

3.3 对用户的判断与建议

路线选择(按任务属性而非品牌偏好):

对格局的三个预判(推测部分已标注):

  1. 权限设计正在从卖点变成地基(高置信,两轴证据均指向此):2025 年沙箱还是差异化卖点,2026-11 截面上头部两家 CLI(Claude Code、Codex)的沙箱/审批/遥测细节已高度趋同,Gemini CLI 落后一个量级(免费额度优先、沙箱可选、遥测未复核);下一步差异化在审批 UX 与凭证级最小权限。
  2. OS 收编将重塑底层(中高置信):Windows Agent Workspace 转正 + Apple FDA 新规落地后,"每个 Agent 独立身份 + 系统级防篡改日志"会成为所有桌面助手的公共地板;个人防火墙死于 Windows 防火墙的历史(XP SP2 起内置防火墙默认开启、第三方个人防火墙式微,见 2.3 及参考来源)大概率重演于单点 Agent 沙箱工具。
  3. 能力分级标准化是下一个战场(中置信,推测):MCP 注解强制化 + 注册表签名 + 跨厂商分级标准若成立,"分类器代审"才有可信输入;在此之前,"用模型审模型"的递归信任问题无解。

四、核实与修正说明(2026-11-03,审读修订轮)

终稿按独立审读意见逐条修订,处置如下(条目编号对应审读意见顺序):

  1. "三家/各家趋同"与"Gemini 落后一个量级"的内部矛盾:三处收窄为"头部两家(Claude Code、Codex)趋同、Gemini CLI 落后一个量级"——判断一(3.1)、审批判断(2.4)、预判 1(3.3),并与 2.3 节"Gemini 权限体系细度不在一个量级"的既有表述对齐。判断二①与 1.5 的"三家共同公理"仅指"越自动越强制沙箱"这一条(Gemini YOLO 强制沙箱属实),未改动。
  2. 判断四的无文本支撑归因:原"理论上(CaMeL/Progent 一线)已指明出路:能力分级成为跨厂商强制标准"改为"本报告推测(中置信)",并写明推测依据与边界——CaMeL/Progent 原文只到污点追踪与 DSL 策略,均未提出跨厂商标准化路线图;与预判 3 的"中置信,推测"标注一致。
  3. Apple 事件纵轴缺位:1.6 新增 2026-10-02 条目(Apple 收紧 macOS Full Disk Access 授权流程),引 MacRumors 与 TechCrunch 两个独立同日报道(Apple 官方专文经检索未见,文中如实注明),原 blakecrosley 分析降为技术分析来源;时间线与 2.2 macOS 行同步。
  4. 时序错位:删除 1.4(2024 段)末尾"同期 OpenAI 采纳 MCP 并在 2025 年跟进"一句;The Verge 报道链接并入 1.6 的 2025-12-09 AAIF 条目,日期与事件归位。
  5. 落地清单把 Claude Code 专属配置写成通用底线:3.2 落地清单第 1 条已标注"以 Claude Code 为例",并逐项补 Codex(sandbox_mode/writable_roots、shell_environment_policy+keyring、workspace-write 默认关网、approval_policy=untrusted)与 Gemini(--sandbox/容器边界;读限制与凭证项公开资料未见等价项,如实标注)对照。
  6. 2.2 表格工程问题:①表格瘦身为关键词级速览,成段细节移入 2.3(Claude Code 六档模式名单与 strictAllowlist、managed-settings 分发;Codex OTel 默认关闭与事件清单;Gemini 60 次/分配额数字等均已落位 2.3/2.4,未删减事实);②Devin/Manus 行"能力分级"列如实改为"公开资料未见系统化分级",E2B 隔离细节移入沙箱列;③LangGraph 行加脚注,说明其为开发框架、不在 2.1 六组分类内,系框架层参照。
  7. 威胁建模框架交代与使用不匹配:威胁表增设 MAESTRO 列(M1–M7,按 CSA 七类给出对照,3.2 开头补七类定义与来源),初稿"用 CSA MAESTRO 补威胁"的宣称与实际用法就此对齐;新增 ASI01–ASI10 官方名单对照及官方链接(genai.owasp.org 资源页),并按官方名单校准了表内编号误用:原"ASI08=HITL bypass"实为 ASI09(官方 ASI08 是 Cascading Failures);原"ASI10=抵赖"在 ASI 中无对应条目,改以 MAESTRO M3 为主参照;工具投毒由 ASI01/ASI09 改标 ASI02/ASI04;沙箱逃逸补标 ASI05;破坏性失误由 ASI06 改标 ASI02;2.4 与 3.1 的 ASI08 引用同步改为 ASI09。
  8. 小硬伤与引用瑕疵:①"仅有一条例行重大事件"→"例外";②ChaosGPT 两处与 The Hacker News 的域名级链接替换为具体文章(LessWrong 2023-04-09 帖、The Deep Dive 2023-04-13 报道——初稿"thedeeep.com"系域名笔误,实为 thedeepdive.ca;THN 2025-10-27 两篇 Atlas 文章);③"2023 年 8 月(口径:2023 年内)"→"2023 年(一说 8 月)";④"protection ring 的产品化"改用 1.1 已引入的隔离栈(chroot→jail→Seatbelt→Landlock)表述;⑤"v2.1.307"补官方 changelog 出处,并补查到 v2.1.312 已移除该遥测事件(存活六天),2.3/2.4/威胁表同步更新;"Gemini Sandbox Wizard"经检索无法证实存在,已删除,改以可查证的社区加固做法(Deno+firejail 指南,Discussion #15066)替代;"个人防火墙死于 Windows 防火墙"补 XP SP2(2004)起的史源(How-To Geek、Petri),2.3 与预判 2 同步标注。

仍未直接核实、沿用章节稿转述并已就地标注的内容:1.1 节 OS 安全史前史(模型既有知识);Gemini CLI telemetry 配置细节(官方文档存在、细节未复核);OpenAI/Hugging Face 沙箱逃逸(多方二手报道、原始公告未定位,维持"存疑"标注);Apple FDA 新规的官方专文(未见,以两家独立媒体为准)。


五、参考来源

理论与经典

产品官方文档

OS 与协议层

事件与安全研究

方法论说明:横纵分析法(hv-analysis)由数字生命卡兹克提出。本稿为两轴综合:纵轴在时间上追踪课题从 1966 年能力模型到 2026-11 的完整生命历程,横轴在 2026-11-03 截面上对六组玩家做共时对比,交叉部分以个人电脑助手威胁建模作为检验。综合过程中消除的三处口径差异(Gemini 沙箱强制性、Claude Code 沙箱覆盖的时点差异、Chrome 攻击成功率的时序)已在 3.1 节显式记录;审读修订轮的逐条处置见第四节。

*终稿完。*

思考题(读完后想一想,参考答案可展开)

  1. 报告如何解释 Agent 工具权限“五件套”与上世纪安全经典的关系?结合“唯一的新变量”和“lethal trifecta”,说明为什么目标是“让后果有界”而不是“防住注入”。
    参考答案

    报告认为分级、沙箱、审批、审计、最小权限都能在 1966 年能力模型与 1975 年 Saltzer & Schroeder 八原则中找到原型,并非新发明;唯一新变量是“被授权的执行体会把不可信内容当指令读”。故注入无法根除:lethal trifecta 中私有数据、不可信内容、外发通道三者齐备必然外泄,各家只是“砍一条腿”,把最坏情况从整机沦陷压到一个工作区。

  2. 本地细粒度派(Claude Code、Codex)与云端隔离派(ChatGPT Agent、Devin、Manus)在“最小权限”上的取舍有何不同?个人用户应依据什么选择路线?
    参考答案

    本地派以能力分级换灵活性:Claude Code 默认可读整台电脑、沙箱只包 shell 命令,Read/Edit/MCP/hooks 仍在沙箱外,属便利优先;Codex 默认关网、过滤密钥环境变量,属谨慎优先。云端派用环境分离代替权限分配,Agent 在托管 VM 内操作、敏感环节由用户 takeover,隔离最彻底却做不了纯本地任务。故须碰本机时选本地派,只碰网页与线上服务则云端派更安全。

  3. 报告对“规则沉淀 + 分类器代审”这一审批演进方向提出了什么隐忧?在审计日志方面又暴露了哪些局限?
    参考答案

    审批从逐次确认走向“规则沉淀 + 分类器代审”,缓解了审批疲劳(OWASP ASI09),却把安全决策递归还给概率系统——审模型的是模型,而模型可被注入误导,报告称为“递归信任”。审计侧同样不稳:Claude Code 的 safety_event 从 v2.1.307 到 v2.1.312 仅存活六天;日志多存于本机 Agent 可写路径,抵赖风险未解。

  4. 报告给个人开发者的落地底线与“两处必守高地”是什么?为什么个人场景的优先级与企业相反?
    参考答案

    个人无 SOC、无 7×24 值守,没人回头看日志,故优先级与企业相反:靠事前默认收紧加沙箱,而非事后审计兜底。底线是沙箱开(Windows 走 WSL2)、开启读限制、凭证 deny/mask、网络 allowlist 从空逐域加、关掉 unsandboxed retry、只装审核来源的 MCP、不让 Agent 可写自己的规则与启动文件。两处高地即凭证与配置,可化解威胁 3、4、5 大半杀伤。

← 资料库今日播报 →