跳转到内容

安全与合规

把 Claude Code 放进企业,第一个被问的永远是:「安全吗?合规吗?」合规不是摆设,是安全带——平时不影响开车,事故时保你不飞出去。这一篇把 Claude Code 的安全体系完整讲一遍,分四块:Anthropic 的安全基础、Claude Code 的内置防护、用户责任、Prompt injection 与高级防护。

整个 Claude 系列背后是 Anthropic 的安全计划。对外可查的两块资质:

资质 含义
SOC 2 Type 2 第三方审计过我们的安全管控,持续有效
ISO 27001 信息安全管理体系通过国际标准认证

这两块是企业合规部门最常要的——拿去做供应商准入、过安全审查。具体报告原文要走 Anthropic 官方流程申请。

Claude Code 的核心安全设计是 Permission-based architecture——所有操作按权限管:

操作类型 默认行为
读文件 自动允许
大部分其他操作(写、bash、联网) 需要批准

也就是说,默认只读——Claude 想改东西、想跑命令、想联网,都得先问你。敏感操作必须经过批准,这是安全的地基。

具体的权限规则在 Settingspermissions.allow / deny / ask 三档里配。

在权限架构之上,Claude Code 还有一系列内置防护

防护 作用
Sandboxed bash bash 在沙箱里跑,文件写限当前目录、网络走 proxy(见 沙箱
Write 限制 写文件受权限规则约束
Prompt fatigue mitigation 防止频繁弹审批导致你疲劳乱点
Accept edits mode 批量接受编辑的模式,受权限约束

「Prompt fatigue mitigation」值得多说一句:如果一个工具一小时内弹 50 次审批,你大概率会无脑点同意——这就是 prompt fatigue,是安全的大敌。Claude Code 在设计上尽量减少审批次数,避免把你训练成「无脑同意机器」。

技术防护到位,不等于你可以闭眼用。Claude Code 官方明确:用户有责任审查 Claude 生成的代码与执行的命令。

你的责任 怎么做
审查代码 看 diff,确认是你要的改动
审查命令 看 Claude 要跑什么,再批准
审查 MCP 来源 只接你信任的 provider(见下文)
审查变更范围 看是不是越改越多

工具帮你拦住显眼的危险,但判断「这个改动对不对」是人的责任。Claude 写的代码终究要你来 review。

Prompt injection 是 LLM 时代的特有威胁——攻击者把恶意指令藏在某个文档、网页、issue 里,Claude 读了之后被「注入」去做坏事。Claude Code 有一组针对它的防护:

防护层 作用
Permission system 任何敏感操作都要审批,注入指令也跑不动
Context-aware analysis Claude 分析指令来自哪里、是不是可信上下文
Input sanitization 输入做消毒处理
Command blocklist curl / wget 等命令默认阻止

最后一条尤其重要:curlwget 这种「下载并执行」的命令默认被拦——这是 prompt injection 最常用的攻击向量,Claude Code 把它堵死。

保障 含义
Limited retention 会话数据保留期限有限
Restricted access 只有受限人员能访问会话数据
User control over training 用户可以控制是否用于训练

详细数据使用与隐私控制见 数据隐私与使用

除了上面这些,Claude Code 还有一组额外防护

防护 作用
Network approval 网络操作要审批
Isolated context 不同会话上下文隔离
Trust verification 信任度验证
Command injection detection 检测命令注入攻击
Fail-closed matching 权限匹配时,默认拒绝——匹配不上就拦,宁可错杀

「Fail-closed matching」是安全设计的金科玉律:宁可你多批准几次,也不要漏放危险操作。

MCP 服务器能读你的数据,来源必须可信。官方建议:

只用你自己写的,或者你信任的 provider 提供的 MCP 服务器。

企业里通常通过 managed-mcp.json + allowedMcpServers 把来源锁死(见 IAM)。第三方 MCP 服务器在接入前要做安全审查——看它的源码、看它访问什么、看它的认证怎么走。

Claude Code 在云端跑(比如 remote session、CI)时,安全设计更严:

防护 作用
Isolated VM 每次执行在独立虚拟机里,互不干扰
Network control 网络访问受控
Credential protection 凭证保护,不外泄
Branch restriction 分支限制,避免误推主分支
Audit log 完整审计日志
Auto cleanup 执行完自动清理

云执行的所有动作都有审计日志,谁在什么时候干了什么,事后能查。

把上面这些落到日常工作里:

  • Sensitive code:敏感代码(生产凭证、密钥)不要让 Claude 直接读,必要时走密钥管理工具。
  • 审查:每次都看 diff、看命令,不要养成无脑同意的习惯。
  • 报问题:发现安全问题按官方流程报告。
  • 统一配置managed-settings.json 把红线写死(见 IAM)。
  • 统一 MCPmanaged-mcp.json + useEnterpriseMcpConfigOnly 锁来源。
  • 沙箱默认开managed-settings.json 里写死 sandbox.enabled: true
  • 审计日志:所有操作要有审计,事后能查。

发现 Claude Code 的安全问题,按官方流程报告——不要在公开 issue 里贴敏感细节,走安全披露渠道。

谁负责 怎么做
Anthropic 安全基础 Anthropic SOC 2 / ISO 27001
Permission-based 架构 Claude Code 内置 默认只读,敏感操作审批
内置防护 Claude Code 内置 沙箱 bash、blocklist、fatigue mitigation
Prompt injection 防护 Claude Code 内置 context-aware、命令 blocklist
MCP 安全 你 + 企业 只接可信 provider,企业锁来源
Cloud execution 安全 Claude Code 内置 隔离 VM、审计、自动清理
用户责任 审查代码、审查命令

企业过合规审查时,Claude Code 相关的常用检查项:

  • 走哪种托管方式?(Anthropic 直连 / Bedrock / Vertex / 网关)
  • 数据驻留在哪个 Region?
  • 是否开启沙箱?
  • 是否禁用 bypassPermissions?
  • 是否锁死登录方式与组织?
  • MCP 服务器来源是否受控?
  • 是否接 OpenTelemetry 监控?
  • 是否有审计日志?
  • 是否禁非必要流量(telemetry/error reporting)?
  • 员工是否做了安全培训?

逐项打勾,合规部门就能放行。

安全是底线,隐私是承诺。下一站看 Claude Code 怎么处理你的数据——数据隐私与使用