主播
节目简介
来源:小宇宙
详细解析了 Claude Code 如何在“允许 AI 执行任意命令”和“保护用户系统安全”之间通过分级管控实现平衡。该系统旨在防止恶意指令注入造成的破坏,同时避免频繁的确认对话框干扰用户体验。
以下是该章节的核心内容总结:
1. 六种权限模式
权限模式是系统的最高层控制开关,决定了 Agent 的自主程度:
* default:所有工具调用均需用户确认,适用于高安全要求场景。
* acceptEdits:工作目录内的文件编辑自动通过,Shell 命令仍需确认。
* plan:只读模式,AI 只能读取和搜索,不执行写操作。
* bypassPermissions:跳过常规权限检查,但安全检查(如修改 .git 或 .bashrc)除外。
* dontAsk:自动化模式,将所有“询问”决策转为“拒绝”,适用于 CI/CD 环境。
* auto:AI 分类器自动裁决,仅供内部开发验证使用。
2. 权限规则与匹配机制
系统支持细粒度的规则控制,规则由操作(Allow/Deny/Ask)和目标内容(工具名及参数)组成。
* 八级来源优先级:规则可来自企业策略、项目设置(.claude/settings.json)、本地设置或会话临时规则等。
* 三种匹配模式:支持精确匹配、前缀匹配(git:*)和通配符匹配(git add *)。
3. 三阶段验证管线
当模型发起工具调用时,需经过以下决策流水线:
* 阶段一:规则验证:这是最坚固的防御。工具级 deny 会立即拦截;用户显式配置的 ask 规则和对核心配置文件(如 .zshrc)的写操作具有 bypass 免疫性,必须由用户确认。
* 阶段二:模式裁决:根据当前的权限模式(如 acceptEdits)判断是否放行。
* 阶段三:模式后处理:在 auto 模式下启动 YOLO 分类器,由另一个 AI 模型对当前操作的风险进行两阶段裁决(快速判断或深度推理)。
4. 深度防御与路径安全
系统在路径验证上建立了严密的防线以抵御特定攻击:
* UNC 路径防护:在 Windows 上检测并拒绝非法 UNC 路径,防止攻击者通过 Prompt 注入窃取用户的 NTLM 哈希。
* TOCTOU 防护:拒绝包含 $、%、= 等可能在验证和执行时产生语义差异的路径,防御 Shell 变量展开攻击。
* 危险删除保护:禁止删除根目录、主目录及系统关键子目录。
核心设计洞察:Claude Code 遵循纵深防御和失败关闭(Fail-closed)原则。它将分类器视为安全网而非替代品,并始终坚持“安全意图不可覆盖”——即使用户启用了最高权限的 bypass 模式,系统依然会守住核心敏感文件的最后底线。
以下是该章节的核心内容总结:
1. 六种权限模式
权限模式是系统的最高层控制开关,决定了 Agent 的自主程度:
* default:所有工具调用均需用户确认,适用于高安全要求场景。
* acceptEdits:工作目录内的文件编辑自动通过,Shell 命令仍需确认。
* plan:只读模式,AI 只能读取和搜索,不执行写操作。
* bypassPermissions:跳过常规权限检查,但安全检查(如修改 .git 或 .bashrc)除外。
* dontAsk:自动化模式,将所有“询问”决策转为“拒绝”,适用于 CI/CD 环境。
* auto:AI 分类器自动裁决,仅供内部开发验证使用。
2. 权限规则与匹配机制
系统支持细粒度的规则控制,规则由操作(Allow/Deny/Ask)和目标内容(工具名及参数)组成。
* 八级来源优先级:规则可来自企业策略、项目设置(.claude/settings.json)、本地设置或会话临时规则等。
* 三种匹配模式:支持精确匹配、前缀匹配(git:*)和通配符匹配(git add *)。
3. 三阶段验证管线
当模型发起工具调用时,需经过以下决策流水线:
* 阶段一:规则验证:这是最坚固的防御。工具级 deny 会立即拦截;用户显式配置的 ask 规则和对核心配置文件(如 .zshrc)的写操作具有 bypass 免疫性,必须由用户确认。
* 阶段二:模式裁决:根据当前的权限模式(如 acceptEdits)判断是否放行。
* 阶段三:模式后处理:在 auto 模式下启动 YOLO 分类器,由另一个 AI 模型对当前操作的风险进行两阶段裁决(快速判断或深度推理)。
4. 深度防御与路径安全
系统在路径验证上建立了严密的防线以抵御特定攻击:
* UNC 路径防护:在 Windows 上检测并拒绝非法 UNC 路径,防止攻击者通过 Prompt 注入窃取用户的 NTLM 哈希。
* TOCTOU 防护:拒绝包含 $、%、= 等可能在验证和执行时产生语义差异的路径,防御 Shell 变量展开攻击。
* 危险删除保护:禁止删除根目录、主目录及系统关键子目录。
核心设计洞察:Claude Code 遵循纵深防御和失败关闭(Fail-closed)原则。它将分类器视为安全网而非替代品,并始终坚持“安全意图不可覆盖”——即使用户启用了最高权限的 bypass 模式,系统依然会守住核心敏感文件的最后底线。