Skip to content

安全机制

Claude Code通过严格的最小权限架构、沙箱隔离和多重防护机制,有效应对安全问题和潜在的封号风险。其核心安全设计默认只读,任何文件编辑或命令执行均需明确授权,并内置了提示注入防护、命令黑名单(如默认阻止curl/wget)及上下文隔离。对于用户关注的“封号”问题,主要源于违反使用政策,如尝试绕过权限系统、进行未授权的网络访问或滥用高风险命令。遵循最佳实践——例如审查后再批准操作、对敏感仓库使用项目级权限、避免直接管道传输不可信内容、并利用开发容器(devcontainers)进行额外隔离——能显著降低安全风险和账户异常触发的可能性。

核心安全架构

Claude Code 基于严格的最小权限原则设计:默认只读,需要额外操作时(编辑文件、运行命令等)才请求明确权限。

安全认证:Claude Code 依照 Anthropic 综合安全计划开发,SOC 2 Type 2 报告、ISO 27001 认证等资料可在 Anthropic Trust Center 查阅。

内置保护机制

保护措施说明
沙箱 Bash 工具/sandbox 开启文件系统和网络隔离,在安全边界内让 Claude 自主运行
写入权限限制Claude Code 只能写入启动目录及其子目录,不能修改上级目录文件(可以读取,但不能写入)
权限疲劳缓解支持按用户、代码库或组织对常用安全命令设置白名单
接受编辑模式批量接受多个编辑,同时对有副作用的命令保留权限确认

防止提示注入攻击

提示注入是攻击者试图通过插入恶意文本来覆盖或操纵 AI 指令的技术。Claude Code 的主要防护措施:

核心防护

  • 权限系统:敏感操作需要明确授权
  • 上下文感知分析:分析完整请求,检测潜在有害指令
  • 输入清理:防止命令注入
  • 命令黑名单:默认阻止能从网络获取任意内容的高危命令(如 curlwget

隐私保护

  • 敏感信息保留期有限制(参见隐私中心
  • 用户会话数据访问受限
  • 用户可控制数据训练偏好(隐私设置

其他保护

  • 网络请求审批:发起网络请求的工具默认需要用户授权
  • 隔离上下文窗口:WebFetch 使用独立上下文窗口,避免恶意内容污染主上下文
  • 信任验证:首次运行代码库或使用新 MCP 服务器需要验证信任
    • 注意:非交互模式(-p 标志)下信任验证被禁用
  • 命令注入检测:可疑 Bash 命令即使已加入白名单也需要手动确认
  • 默认拒绝:未匹配的命令默认要求手动审批
  • 自然语言说明:复杂 Bash 命令附带人类可读的说明
  • 凭证加密存储:API key 和 token 加密保存(参见凭证管理

Windows WebDAV 安全警告:不建议在 Windows 上启用 WebDAV 或允许 Claude Code 访问 \\* 等路径。WebDAV 已被微软废弃,存在安全风险,可能让 Claude Code 绕过权限系统触发对远程主机的网络请求。

使用不可信内容时的最佳实践

  1. 审查命令后再批准
  2. 避免直接把不可信内容管道给 Claude
  3. 验证对关键文件的修改
  4. 处理外部 Web 服务时,使用虚拟机运行脚本和工具调用
  5. 发现可疑行为用 /feedback 报告

MCP 安全

用户可以配置 MCP 服务器列表,通常作为 Claude Code 设置的一部分提交到源代码控制。

建议:

  • 编写自己的 MCP 服务器
  • 或使用你信任的提供商的 MCP 服务器

Anthropic 不管理或审计任何第三方 MCP 服务器。


IDE 安全

在 IDE 中使用 Claude Code 的安全与隐私说明,见 VS Code 安全与隐私


云端执行安全

使用 Claude Code on the web 时的额外安全控制:

措施说明
隔离虚拟机每个云端会话在 Anthropic 管理的独立 VM 中运行
网络访问控制默认限制网络访问,可配置为禁用或只允许特定域名
凭证保护认证通过安全代理处理,GitHub token 不进入沙箱
分支限制Git push 只允许推送到当前工作分支
审计日志云环境中所有操作都记录日志,用于合规和审计
自动清理会话结束后云环境自动销毁

Remote Control 会话不同Remote Control 通过 Web 界面连接到本地机器上的 Claude Code 进程。所有代码执行和文件访问都在本地,数据通过 TLS 加密传输到 Anthropic API——不涉及云 VM 或沙箱。连接使用多个短生命周期、范围受限的凭证,每个凭证独立过期。


安全最佳实践

个人开发者

  • 批准前审查所有建议的改动
  • 对敏感仓库使用项目级权限设置
  • 考虑用 devcontainers 额外隔离
  • 定期用 /permissions 审计权限设置

团队和企业

  • 托管设置强制实施组织标准
  • 通过版本控制共享批准的权限配置
  • 对团队成员进行安全最佳实践培训
  • 通过 OpenTelemetry 指标 监控 Claude Code 使用情况
  • ConfigChange hooks 审计或阻止会话中的设置变更

报告安全问题

发现安全漏洞时:

  1. 不要公开披露
  2. 通过 HackerOne 计划 报告
  3. 提供详细的复现步骤
  4. 给我们时间处理问题再公开披露

相关文档

常见问题

Q: Claude Code 有哪些常见的安全问题?

Claude Code 主要需防范提示注入攻击、命令注入及未授权访问。其通过权限系统、输入清理、命令黑名单(如默认阻止curl、wget)、上下文隔离和网络请求审批等多重机制进行防护。用户不当操作,如允许执行未审查的高风险命令或配置不安全的MCP服务器,也可能引入风险。

Q: 使用 Claude Code 会导致封号吗?

正常合规使用通常不会导致封号。封号风险主要与违反使用政策相关,例如:试图绕过权限系统访问受限目录、进行未授权的网络请求、滥用工具进行恶意活动,或在非交互模式下(使用-p标志)绕过信任验证执行不可信代码。遵循安全最佳实践是关键。

Q: 如何防止 Claude Code 的提示注入攻击?

Claude Code 内置了核心防护:1) 所有敏感操作需经权限系统明确授权;2) 进行上下文感知分析以检测有害指令;3) 对输入进行清理并维护命令黑名单;4) 为网络请求(如WebFetch)使用独立的上下文窗口,防止污染主会话。用户应避免直接将不可信内容管道传输给Claude。

Q: Claude Code 的权限系统如何工作以避免安全问题?

它基于最小权限原则:默认仅拥有只读权限。当需要进行编辑文件、运行命令等操作时,会向用户请求明确授权。支持按用户、代码库或组织设置命令白名单,并对已加入白名单但仍可疑的Bash命令进行二次确认,实施“默认拒绝”策略。

Q: 在云端使用 Claude Code 是否更安全?

Claude Code on the web 提供了额外的安全层:每个会话在隔离的虚拟机中运行,默认限制网络访问,GitHub令牌等凭证通过安全代理处理而不进入沙箱,且所有操作均有审计日志。会话结束后环境自动销毁,减少了持久化攻击的风险。