Claude Code 0331 系统报告

第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系统为企业用户提供了自定义扩展点

On this page