是什么

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" 禁止此模式

与其他概念的关联

实践要点

  • 处理不可信内容(外部 API 响应、用户提交内容)时,在隔离环境中运行
  • 不要在 CLAUDE.md 中放置安全边界,用 permissions/hooks 强制执行
  • 定期审查 /permissions 中的白名单,避免过度授权积累
  • 安全漏洞通过 HackerOne 报告:trust.anthropic.com