Claude Code auto mode- a safer way to skip permissions
这是一篇 Anthropic 关于 Claude Code auto mode 的工程文章。文章的核心问题是:手动权限审批虽然安全,但会导致 approval fatigue;而 --dangerously-skip-permissions 虽然高自治,却几乎没有防护。Anthropic 试图用一套 model-based classifier 管线,在“人工审批”和“完全放权”之间提供第三条路。
- 文章先给出一个非常直接的数据点:Claude Code 用户会批准约
93%的权限提示。这意味着手动审批在现实里并没有形成很强的安全边界,反而容易把人拖入“习惯性点同意”的疲劳状态。 auto mode的目标不是让 agent 完全自由,而是把“是否该批准某个动作”也交给模型做分类判断,让高风险动作继续被拦下,低风险动作自动放行。- 这套系统有两层防线。输入侧是
prompt-injection probe,在工具输出进入主 agent 上下文前先检查是否包含劫持指令;输出侧是transcript classifier,在工具调用真正执行前判断动作是否越权、危险或跨越信任边界。 - transcript classifier 采用两阶段结构:第一阶段是单 token 的快速 yes/no filter,倾向于“宁可拦错”;只有被标红的动作才进入第二阶段,用 chain-of-thought 降低误报。
- 分类器是 reasoning-blind 的设计:它只看用户消息和 agent 的工具调用,不看 assistant 自述和 tool output。Anthropic 的理由是,assistant 文本会“说服”分类器放行,tool output 则是 prompt injection 的主要入口。
- 文章把威胁模型拆成四类:overeager behavior、honest mistakes、prompt injection、misaligned model。当前系统主要针对前两类已在内部真实发生过的 agentic misbehavior。
- 具体拦截目标包括:模糊指令下的大规模 destructive action、主动翻环境变量找 credentials、靠相似度猜目标资源、往外部服务分享脚本或数据、跳过安全检查的 deploy 等。
- 文中给出了较诚实的评估结果。完整 pipeline 在真实内部流量上只有
0.4%FPR,但在真实 overeager actions 数据集上仍有17%FNR;也就是说,它明显比--dangerously-skip-permissions安全,但还远远不是“和谨慎人工审批等价”。 - 文章还强调
deny-and-continue设计:分类器拒绝后,Claude 不会直接卡死,而是被要求寻找更安全的替代路径;只有连续或累计拒绝太多次才升级给人类。这使低 FPR 带来的偶发误拦更可容忍。
ℹ️ Conflict:
auto mode不是“比人工更安全”的通用替代品。Anthropic 自己也明确指出:对高风险基础设施任务,仔细的人类审批仍然更强。- 它的价值高度取决于比较基线。如果用户本来就在用
--dangerously-skip-permissions,auto mode 是明显增益;如果用户本来就在认真逐条审批,它反而可能是安全回退。
- Anthropic, “Claude Code auto mode- a safer way to skip permissions”, 原文摘录:[llm-wiki/raw/anthropic/Claude Code auto mode- a safer way to skip permissions](/raw/anthropic/Claude Code auto mode- a safer way to skip permissions.md)