第22章 · 七层安全防护体系
第22章 · 七层安全防护体系
Claude Code构建了一个纵深防御的安全体系。从内到外,可以识别出七个安全层级:
22.1 第一层:权限三级制(Allow / Deny / Ask)
权限模型是安全体系的基础(详见第10章)。每个工具调用都要经过三级决策:
- Allow — 自动批准
- Deny — 自动拒绝
- Ask — 请求用户确认
四层规则来源按优先级排列:settings > CLI > command > session。
22.2 第二层:拒绝追踪与策略回退
当用户频繁拒绝某类操作时,系统会进行策略调整:
- 连续3次拒绝同一工具 → 该工具进入更保守的询问模式
- 累计20次拒绝 → 全局策略回退,增加询问频率
这是一种"学习型安全"——系统从用户的拒绝行为中推断安全偏好。
22.3 第三层:Hook拦截链
PreToolUse和PostToolUse Hook允许在工具执行前后注入自定义检查逻辑。企业用户可以利用这个机制实现:
- 敏感路径保护(阻止对特定目录的写入)
- 命令审计日志
- 自定义安全策略执行
22.4 第四层:AI分类器辅助决策
TRANSCRIPT_CLASSIFIER使用AI模型分析对话上下文,辅助权限决策。当规则系统无法明确判断时,分类器提供额外的信号:
- 分析用户意图是否与请求的工具操作一致
- 检测可能的提示注入(Prompt Injection)尝试
- 评估操作的风险等级
22.5 第五层:Bash沙箱25项检查
BashTool的安全检查是最具深度的防线(详见第9章)。25项检查覆盖:
- 危险命令检测(rm -rf、格式化命令)
- 嵌套命令解包(通过迭代固定点算法处理sudo、xargs等包装器)
- Zsh特定防御(zmodload、ztcp、zpy)
- 环境变量劫持检测
- 网络命令监控
22.6 第六层:文件系统防护
文件操作工具包含多层保护:
- 路径遍历防御:拒绝包含
..的路径(尤其在DXT插件解压和技能文件提取中) - 符号链接保护:使用
O_NOFOLLOW标志阻止符号链接攻击 - 权限限制:提取文件使用
0o700权限 - 大小限制:DXT包解压的文件大小、总大小、压缩比限制
22.7 第七层:秘密扫描
Team Memory上传前的秘密扫描(详见第14.5节)。35+条基于gitleaks的规则,覆盖主要云提供商、API密钥、私钥等敏感信息。
七层安全体系的设计哲学:
- 每一层都假设前一层可能失败
- 从用户侧(权限决策)到系统侧(沙箱检查)到数据侧(秘密扫描),形成完整覆盖
- AI分类器提供了传统规则系统无法覆盖的模糊场景处理能力
- Hook系统为企业用户提供了自定义扩展点