蚂蚁集团工程师陈成通过逆向Claude Code 2.1.81源码,完整揭示了其Auto Mode的核心工作机制。核心发现是:每次工具调用都需经过一条四层决策流水线,仅当所有前置检查都无法判断时,才会触发独立的安全分类器进行审查。
四层决策流水线
- 权限规则检查:命中已有规则则直接放行。
- 模拟编辑模式:在低风险的“acceptEdits”模拟模式下通过,则跳过分类器。
- 只读工具白名单:对Read、Grep、Glob等不修改状态的操作无条件放行。
- AI安全分类器:前三层均不满足时,向Claude Sonnet发起独立API请求进行安全判定。
安全分类器关键设计
- 模型选择:为平衡成本与延迟,始终使用Claude Sonnet而非Opus。
- 确定性输出:temperature设为0。
- 核心职责:作为“自主AI编程Agent的安全监控员”,防范提示词注入、范围蔓延和意外损害三类风险。
- 判断依据:用户的CLAUDE.md配置文件会被注入上下文,用于辅助判断用户意图。
拦截规则与熔断机制
- 拦截范围:覆盖force push、直推main分支、下载执行外部代码、生产部署、数据外泄等22个以上风险类别。
- 放行例外:包括测试用硬编码密钥、工作目录内本地文件操作、只读GET请求等7类低风险操作。
- 熔断保护:连续3次或累计20次被拒后,系统降级为手动确认;headless模式下直接中止Agent。分类器不可用时,根据feature flag设置决定是“直接拒绝”还是“降级为手动确认”。
行为提示词注入控制
在Auto Mode下,行为提示词每5轮对话注入一次。在每个注入周期中,仅第1次使用完整的约800字指令(包含“立即执行、减少打断”等原则),其余4次均使用一行精简版,以平衡上下文占用与行为稳定性。