是什么
security 描述 Claude Code 的安全架构设计、内置防护机制、prompt injection 防御策略,以及处理不可信内容的最佳实践。安全基础遵循 Anthropic 综合安全计划(SOC 2 Type 2、ISO 27001)。
核心机制
权限架构
- 默认只读权限,额外操作(编辑文件、运行命令)需显式授权
- 写入范围限制:只能写入启动目录及其子目录,不能修改父目录文件
- 读取范围:可读取工作目录外的文件(访问系统库等),但写入严格限制
内置防护
- Sandboxed bash tool:文件系统和网络隔离,用
/sandbox启用 - Accept Edits 模式:自动批准文件编辑和
mkdir/touch/rm/mv/cp/sed等文件系统命令 - 命令黑名单:默认阻止
curl、wget等可获取任意网络内容的命令 - 命令注入检测:可疑 bash 命令即使已在白名单中也需手动批准
- Fail-closed:未匹配的命令默认需要手动批准
Prompt Injection 防御
- 权限系统:敏感操作需显式批准
- 上下文感知分析:检测完整请求中的潜在恶意指令
- 输入净化:防止命令注入
- 隔离 context window:WebFetch 使用独立 context window,避免注入恶意 prompt
- 首次运行和新 MCP server 需要信任验证
凭证安全
- API key 和 token 加密存储
- 非交互式模式(
-p标志)禁用信任验证,但--worktree仍需信任确认
关键细节
- Windows WebDAV 安全风险:避免启用 WebDAV 或允许访问
\\*路径,可能绕过权限系统 - 自然语言描述:复杂 bash 命令会附带解释,帮助用户理解后再批准
bypassPermissions模式:跳过所有权限提示,仅在隔离容器/VM 中使用- 管理员可通过
permissions.disableBypassPermissionsMode: "disable"禁止此模式
与其他概念的关联
- permissions - 权限规则的详细配置
- data-usage - 数据隐私保障
- zero-data-retention - 企业级数据不保留配置
实践要点
- 处理不可信内容(外部 API 响应、用户提交内容)时,在隔离环境中运行
- 不要在 CLAUDE.md 中放置安全边界,用 permissions/hooks 强制执行
- 定期审查
/permissions中的白名单,避免过度授权积累 - 安全漏洞通过 HackerOne 报告:trust.anthropic.com