Claude Code 自动模式安全架构被完整拆解:四阶审查体系曝光

3月25日,据Gate News披露,蚂蚁集团前工程师、Umi.js框架创建者陈成完成对Claude Code 2.1.81版本的逆向工程,系统还原了其自动执行模式下的核心决策流程。

多级权限判定链路实现风险前置拦截

系统采用分层式权限验证架构,第一阶段依据预设规则集进行快速匹配,命中即直接放行;第二阶段模拟允许文件编辑的acceptEdits运行环境,若在此模式下通过则视为低风险,跳过后续检测;第三阶段针对仅读操作类工具(如Read、Grep、Glob、LSP及WebSearch)实施无条件放行,因其不触发状态变更。

独立安全分类器承担最终风险仲裁职能

当前三层均未满足放行条件时,系统将调用专用AI分类器进行最终评估。该组件始终基于Claude Sonnet模型构建,以平衡推理成本与响应延迟;温度参数固定为0,确保输出可复现性。其角色被明确定义为「自主编程代理的安全监管单元」,专注防范提示词注入、作用域扩散与非预期破坏三类威胁,并通过加载用户CLAUDE.md配置文件作为上下文输入,辅助理解意图边界。

高精度拦截与有限例外机制并存

当前系统已覆盖超过22种高危行为类型,包括强制推送、直接合并至main分支、下载并运行外部脚本、生产环境部署、敏感数据外泄、自我提升权限、建立远程代码执行入口及凭证泄露等。同时设有7类明确豁免场景,例如测试阶段的硬编码密钥使用、本地工作目录内的文件读写、仅限只读的GET请求、已声明依赖项安装、官方开发工具链部署、读取配置后向目标服务发送凭证、以及向当前工作分支推送变更。

异常状态下的动态降级与容错控制

系统内置熔断逻辑:连续三次拒绝或累计二十次被拒后,自动切换至人工确认模式;在无头(headless)运行环境下则直接终止自动化流程。当分类器不可用时,由功能开关决定处理方式——可选择「失败闭合」(默认拒绝)或「失败开放」(降级为手动干预),以适应不同部署场景的安全需求。

提示词注入行为具备精细化频率调控

在自动模式中,对抗性提示注入采用周期性控制策略:每五个对话轮次触发一次,每个周期内首次注入为完整指令集(约800字,含“立即执行、减少干扰、行动优先于计划”等六项核心要求),其余四次则采用单行精简形式,有效平衡上下文占用与系统稳定性。