$ cat src/utils/permissions/
安全机制 Security
深入解析 Claude Code 的多层安全防护体系。从 Bash 命令分类器到 MCP 协议安全, 从文件操作保护到数据隐私管控,揭示 AI 编码工具如何在赋能与安全之间取得平衡。
6 层
安全层级
30+
拦截规则
12+
危险模式
5 级
权限维度
$ cat DANGER_PATTERNS.conf
危险命令模式库
| PATTERN | DESCRIPTION | SEVERITY | ACTION |
|---|---|---|---|
rm -rf / | 删除系统根目录 | CRITICAL | BLOCKED |
mkfs.* | 格式化磁盘 | CRITICAL | BLOCKED |
dd if=/dev/zero | 覆写磁盘数据 | CRITICAL | BLOCKED |
:(){:|:&};: | Fork 炸弹 | CRITICAL | BLOCKED |
chmod -R 777 / | 全局权限修改 | HIGH | BLOCKED |
curl | bash | 远程脚本执行 | HIGH | BLOCKED |
> /dev/sda | 直接写入磁盘设备 | CRITICAL | BLOCKED |
sudo rm -rf | 特权删除操作 | HIGH | BLOCKED |
wget -O- | sh | 远程脚本管道执行 | HIGH | BLOCKED |
mv /* /dev/null | 移动文件到空设备 | CRITICAL | BLOCKED |
echo "" > /etc/passwd | 清空用户数据库 | CRITICAL | BLOCKED |
iptables -F | 清空防火墙规则 | HIGH | BLOCKED |
$ security-audit --verbose
安全防护层级
BashTool 的核心安全机制。每个命令在执行前都会经过多层安全分类,根据危险程度决定是否允许执行。
危险命令黑名单BLOCK
硬编码的危险命令模式列表,如 rm -rf /、mkfs、dd if=/dev/zero 等,直接拦截
sudo 检测WARN
检测 sudo 和权限提升命令,需要用户显式确认才能执行
路径安全验证BLOCK
验证命令操作的文件路径是否在项目目录范围内,防止越权访问
网络请求审查WARN
检测 curl、wget 等网络命令的目标地址,阻止向未知主机发送请求
管道命令分析BLOCK
对管道链中的每个命令逐一分析,任一环节不安全则整体拦截
LLM 辅助分类WARN
对于无法通过规则判断的命令,调用 LLM 进行语义级安全分析
$ echo "Command Execution Security Flow"
命令执行安全流程
1
用户/AI 发起命令AI 生成或用户输入的 shell 命令
2
黑名单检查匹配危险命令模式库,命中则直接拦截
3
路径安全验证检查操作路径是否在允许范围内
4
权限规则匹配检查用户配置的 allow/deny 规则
5
LLM 安全分类对无法规则判断的命令进行语义分析
6
用户确认(可选)非 YOLO 模式下需要用户确认
7
沙盒执行在受限环境中执行命令并捕获输出