bash permissions

Bash 权限检查是 Claude Code 安全系统的核心,包含 2600+ 行的详细规则。

设计目标

Shell 命令执行是最危险的操作之一,需要细粒度的控制:

  1. 防止破坏性操作 - rm -rf /, chmod 777

  2. 防止权限提升 - sudo, su

  3. 防止数据泄露 - curl 敏感文件到外部

  4. 防止恶意代码 - 下载并执行脚本

命令分类

分类系统

type CommandLevel = 
  | 'safe'       // 完全安全,自动批准
  | 'read'       // 只读操作
  | 'write'      // 写操作
  | 'network'    // 网络访问
  | 'dangerous'  // 危险操作
  | 'forbidden'; // 禁止执行

interface CommandClassification {
  level: CommandLevel;
  reason: string;
  confidence: number;
}

分类规则

禁止的命令

黑名单

危险命令

检测规则

上下文检查

某些命令在特定上下文下才危险:

安全命令

白名单

特殊处理

Git 命令

npm/yarn 命令

权限决策

决策树

Auto 模式决策

下一步

  • 了解 沙箱执行 的隔离机制

  • 探索 分类器 的智能审批

  • 查看 BashToolarrow-up-right 的完整实现