Skip to content
FunCoding

Search

Search docs, agents, posts, Skills and MCP servers

安全

Claude Code 的权限架构、内置保护、提示注入防护、MCP 与云端执行安全,以及处理敏感代码和团队安全的最佳实践。

我们如何对待安全

安全基础:你的代码安全至关重要。Claude Code 以安全为核心构建,按 Anthropic 全面的安全计划开发。更多信息和资源(SOC 2 Type 2 报告、ISO 27001 证书等)见 Anthropic Trust Center。

基于权限的架构:在 Manual 模式下,Claude Code 以只读权限开始。当 Claude Code 需要编辑文件、运行测试或执行命令时,它会先问你,你选择是批准这一次,还是此后都允许。在 Manual 模式下,Claude Code 在运行可能修改你系统的 Bash 命令前也会询问;它会不经询问就运行一组内置的只读命令,如 ls、cat 和 git status。这些权限由你和你的组织直接配置。在 auto 模式下,由一个独立的分类器模型替你审查动作,并拦截它判断不安全的那些。

内置保护:为降低智能体系统的风险:

  • 沙箱化的 bash 工具:用文件系统和网络隔离来沙箱化 bash 命令,在维持安全的同时减少权限提示;用 /sandbox 配置,定义 Claude Code 能自主工作的边界
  • 工作目录边界:在 Manual 模式下,Claude Code 只能写入启动所在的文件夹及其子文件夹,没有显式权限不能修改父目录里的文件;在 Manual 模式下,Claude Code 在用 Read、Grep 和 Glob 工具读取此边界之外的路径前也会询问你
  • 缓解提示疲劳:支持按用户、按代码库或按组织对常用的安全命令做白名单
  • Accept Edits 模式:自动批准文件编辑和一组固定的文件系统 Bash 命令(如 mkdir、touch、rm、mv、cp、sed,针对工作目录内的路径);其他 Bash 命令和范围之外的路径仍会提示

用户责任:Claude Code 只拥有你授予它的权限。在批准之前,你有责任审查提议的代码和命令是否安全。

防范提示注入

提示注入是攻击者试图通过插入恶意文本来覆盖或操纵 AI 助手指令的技术。Claude Code 包含几项针对这些攻击的保护:

核心保护:

  • 权限系统:在 Manual 模式下,敏感操作需要显式批准
  • 上下文感知分析:通过分析完整请求来检测潜在有害的指令
  • 输入清理:通过处理用户输入来防止命令注入
  • 网络命令批准:从网络获取内容的命令(如 curl 和 wget)默认不会被自动批准。在 Manual 模式下,它们像任何其他非只读 Bash 命令一样提示,所以你仍然可以批准一次,或添加显式 allow 规则(如 Bash(curl *))

隐私保护:限制敏感信息的保留期;限制对用户会话数据的访问;用户可控制数据训练偏好(消费者用户可以随时更改隐私设置)。完整细节见 Anthropic 的商业服务条款(Team、Enterprise 和 API 用户)或消费者条款(Free、Pro 和 Max 用户)。

其他保护措施:

  • 网络请求批准:在 Manual 模式下,大多数发出网络请求的工具默认需要用户批准
  • 隔离的上下文窗口:网页抓取使用单独的上下文窗口,避免注入可能恶意的提示
  • 信任验证:首次运行代码库和新的 MCP 服务器需要信任验证(注意:用 -p 标志非交互运行时,信任验证被禁用)
  • 命令注入检测:在 Manual 模式下,可疑的 bash 命令即使之前被列入白名单,也需要手动批准
  • 失败即关闭的匹配:在 Manual 模式下,未匹配的命令默认需要批准
  • 自然语言描述:复杂的 bash 命令附带解释,便于用户理解
  • 安全的凭据存储:API Key 和令牌在可用时存储在 macOS 钥匙串里,在 Windows 和 Linux 上由文件权限保护

Windows WebDAV 安全风险:在 Windows 上运行 Claude Code 时,官方建议不要启用 WebDAV,也不要让 Claude Code 访问 \\* 这类可能包含 WebDAV 子目录的路径,因为 WebDAV 已被 Microsoft 弃用。

处理不受信任内容的最佳实践:

  1. 批准之前审查建议的命令
  2. 避免把不受信任的内容直接通过管道传给 Claude
  3. 验证对关键文件的提议改动
  4. 用虚拟机(VM)运行脚本和进行工具调用,尤其是在与外部网络服务交互时
  5. 用 /feedback 报告可疑行为

这些保护显著降低风险,但没有任何系统能完全免疫所有攻击。使用任何 AI 工具时,都要始终保持良好的安全实践。

MCP 安全

Claude Code 允许用户配置 MCP 服务器。允许的 MCP 服务器列表配置在你的源代码里,作为工程师提交进源码管理的 Claude Code 设置的一部分。官方鼓励要么自己写 MCP 服务器,要么使用你信任的提供商的 MCP 服务器。你可以为 MCP 服务器配置 Claude Code 权限。Anthropic 在把连接器加入 Anthropic Directory 之前,会按其列入标准审核它们。

云端执行安全

使用云端会话时,有额外的安全控制:

  • 隔离的虚拟机:每个云端会话都在一个隔离的、由 Anthropic 管理的虚拟机里运行
  • 网络访问控制:网络访问默认受限,可以配置为禁用,或只允许特定域名
  • 凭据保护:GitHub 凭据加密存储在 Anthropic 的服务器上,永远不会进入会话虚拟机。虚拟机持有一个限定于该会话的短期凭据,GitHub 流量通过一个 Anthropic 代理,由它附加 GitHub 凭据
  • 分支限制:Git push 操作被限制在当前工作分支
  • 审计日志:云端会话里的所有操作都会被记录,用于合规和审计
  • 自动清理:会话虚拟机在一段不活动期后被回收
  • 删除:你可以随时删除会话

Remote Control 会话的工作方式不同:网页界面连接到运行在你本地机器上的 Claude Code 进程,所有代码执行和文件访问都留在本地,会话流量通过 Anthropic API 经 TLS 传输。

安全最佳实践

处理敏感代码:审查批准前所有建议的改动;对敏感仓库使用项目专用的权限设置;考虑使用 dev container 做额外隔离;定期用 /permissions 审计你的权限设置。

团队安全:用托管设置强制执行组织标准;通过版本控制共享已批准的权限配置;培训团队成员掌握安全最佳实践;通过 OpenTelemetry 指标监控 Claude Code 使用;用 ConfigChange Hook 在会话期间审计或阻止设置更改。

报告安全问题:如果你在 Claude Code 里发现安全漏洞,请按 Anthropic 官方文档指引的渠道报告,详见官方 Security 页面。