$ cat src/utils/permissions/

安全机制 Security

深入解析 Claude Code 的多层安全防护体系。从 Bash 命令分类器到 MCP 协议安全, 从文件操作保护到数据隐私管控,揭示 AI 编码工具如何在赋能与安全之间取得平衡。

6 层
安全层级
30+
拦截规则
12+
危险模式
5 级
权限维度
$ cat DANGER_PATTERNS.conf

危险命令模式库

PATTERNDESCRIPTIONSEVERITYACTION
rm -rf /删除系统根目录CRITICALBLOCKED
mkfs.*格式化磁盘CRITICALBLOCKED
dd if=/dev/zero覆写磁盘数据CRITICALBLOCKED
:(){:|:&};:Fork 炸弹CRITICALBLOCKED
chmod -R 777 /全局权限修改HIGHBLOCKED
curl | bash远程脚本执行HIGHBLOCKED
> /dev/sda直接写入磁盘设备CRITICALBLOCKED
sudo rm -rf特权删除操作HIGHBLOCKED
wget -O- | sh远程脚本管道执行HIGHBLOCKED
mv /* /dev/null移动文件到空设备CRITICALBLOCKED
echo "" > /etc/passwd清空用户数据库CRITICALBLOCKED
iptables -F清空防火墙规则HIGHBLOCKED
$ 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
沙盒执行在受限环境中执行命令并捕获输出