危险区:有些动作,被写死为永不允许
在规则系统之外,代码里还内置了一份硬编码的危险操作清单(src/utils/permissions/dangerousPatterns.ts),主要用于 Auto Mode 入口时的清理。
// 跨平台危险命令(Unix + Windows 都适用)
const CROSS_PLATFORM_CODE_EXEC = [
'python', 'python3', 'node', 'deno', 'tsx',
'ruby', 'perl', 'php', 'lua', // 各种解释器
'npx', 'bunx', 'npm run', // 包运行器
'bash', 'sh', 'ssh', // Shell 和远程执行
]
// Unix 额外危险命令
const DANGEROUS_BASH_PATTERNS = [
...CROSS_PLATFORM_CODE_EXEC,
'zsh', 'fish', 'eval', 'exec', // 更多 Shell
'env', 'xargs', 'sudo', // 权限提升
]
为什么这些危险? 因为 Bash(python:*) 这样的宽泛允许规则,等于允许 Claude 通过 Python 执行任意代码,完全绕过了 Bash 命令的细粒度检查。进入 Auto Mode 时,系统会自动剥离这类规则,防止 AI 分类器在宽泛授权下做出过度信任的决策。