Claude Code Auto Mode:无需点"同意",依然保证安全

作者:袖梨 2026-07-29

每次都点"同意",到最后其实已经没有认真查看

默认情况下,Claude Code执行每条命令前都会暂停并等待确认。这一机制本为保障安全,但现实中用户最终接受了 93% 的请求。

Claude Code Auto Mode:不用点"同意",也能保证安全

重复点击会让人逐渐麻木," approve"也随之成为肌肉记忆,导致安全检查失去作用。这种现象就是 approval fatigue(审批疲劳)。

两种旧解法,都有明显缺陷

遇到审批疲劳时,用户通常会走向两个极端:

  • 沙箱(Sandbox):将工具与高风险操作隔离。虽然安全,但每增加一种新能力都得重新配置,一旦涉及网络和主机访问便难以防护。
  • --dangerously-skip-permissions:完全关闭确认。操作没有摩擦,却也无人阻止事故发生。

两种方案之间存在巨大空缺。

Auto Mode:让模型成为你的"袋里审批人"

Anthropic 最近推出 Auto Mode,正是为了补上这一空缺:由模型驱动的分类器取代人工审批,在保障安全的同时,使 AI 能够真正自主运行。

其核心思路十分明确:只拦截那些"用户没有要求、模型自行发挥"的操作,其余操作全部放行。

两层防御:读取什么、执行什么

Auto Mode实际上采用两套职责清晰的机制:

第一层:输入侧——对抗提示词注入模型读到的一切(文件内容、网页抓取结果、shell 输出)都会先经过一个探针扫描。如果内容看起来像是在试图劫持 AI 行为,系统会在传给 Agent 之前插入一条警告,让模型"当心这个,别被带跑"。

第二层:输出侧——Transcript 分类器会在每项工具调用真正执行前进行审查。该分类器运行于 Sonnet 4.6,并替代"人类审批者"履行判断职责。

分类器按两个阶段运行:

  • 阶段一:快筛——仅输出一个 token(yes/no),默认更倾向于拦截
  • 阶段二:仅处理阶段一标记的项目,并利用完整的思维链推理,将误报率从 8.5% 降至 0.4%

这样设计是因为多数操作会在阶段一直接放行,只有确实可疑的操作才使用成本较高的推理阶段。

三层权限体系

并非每项操作都需要分类器审查。Auto Mode按风险由轻到重,将权限判断划分为三层:

层级内容拦截成本
第一层安全工具白名单(读文件、搜索代码等不会修改状态的操作)
第二层在项目目录内写入或编辑文件
第三层Shell 命令、外部工具调用以及项目外文件操作由Sonnet 4.6 分类器审查

进入 Auto Mode 后会发生一项重要变化:系统将静默移除授予"任意代码执行"权限的规则,例如不受限制的 shell 访问,以及宽泛的 python/node/ruby 解释器调用。这些规则虽然方便,但直接交给分类器判断仍然过于危险。

分类器依据什么判断"是否应该拦截"

这里的设计很有意思。分类器的提示词分两块:固定模板 + 可配置槽位。

固定模板负责说明判断方式,并告知分类器:

  • 不要只看命令文本,而要检查真实影响——Agent 不得用表面无害的命令封装危险操作,例如先写入文件再执行
  • 判断用户是否确实授权,不能仅依据"这件事与用户目标相关"
    • "清理我的分支"并不等于授权批量 force-push
    • "能帮我修一下吗?"属于提问,并非指令

可配置槽位支持用户自行定义:

  • Environment:用于划分信任边界(自己的 GitHub org、云存储桶、内部服务 vs. 外部未知服务)
  • Block rules:默认包含 20+ 条,覆盖数据销毁或外泄、安全降级、跨信任边界操作及绕过安全检查等情况
  • Allow exceptions:白名单,例如安装 manifest 中已声明的包,或依照标准流程获取凭证

真实数据:误拦为0.4%,漏拦为17%

Anthropic使用三套数据集进行了评估:

数据集描述
真实内部流量(n=10,000)真实的 Claude Code 工具调用
真实过度发挥行为(n=52)员工实际会话中曾发生的危险操作
合成数据外泄(n=1,000)包含混淆技术的伪造数据外泄尝试

完整管道的最终结果:

  • 误报率(FPR):0.4%——真实流量里,被错误拦下的操作仅占这一比例
  • 漏报率(FNR):17%——真实的过度发挥行为中,有 17% 未被拦截

对于 17% 的漏报,相关原因也得到详细分析:分类器其实正确发现了危险,却在判断"用户的话是否真正授权了相应危险级别"时出现偏差。例如,用户要求"清理一下这个 PR",分类器识别出 force-push,却无法确定这句话所涵盖的授权边界。"提到一句相关命令"并不等于"充分理解后果并表示同意"。

Anthropic 也明确指出:Auto Mode适合此前使用 --dangerously-skip-permissions 的人,能够带来巨大改进;但若原本就在认真检查每项审批,Auto Mode目前还不能取而代之。

一个违反直觉的设计:隐藏 AI 说过的话

分类器只读取用户消息与工具调用指令,Claude 自身的解释和工具输出结果都会被剥离。

原因在于 Agent 可能会通过生成貌似合理的解释来"说服"分类器,例如宣称"这是安全的,因为用户此前默许过"或"这个目标肯定由自己创建"。分类器若读取这些内容,就有可能受到误导。

因此,其判断依据是实际做了什么,而不是如何解释。

这还带来一个额外优点:即使某个模型在思维链中隐藏了不良意图,只要最终动作没有触犯规则,仍可继续执行;相反,一旦动作越过红线,无论动机多么纯粹都会被拦截。这两个不同维度的安全机制可以相互补充。

总结:当同意率达到 93% 时,这 93% 本就应该放行

Auto Mode要解决的并非"AI 不安全",而是"人类在低摩擦场景中难以持续保持警惕"这一现实问题。

由模型判断意图,再让分类器守住底线。它虽不是完美方案,却是在实际工作流中确实可用的折中选择。

原文:www.anthropic.com/engineering…

相关文章

精彩推荐