跳转到内容

安全与合规

把 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 想改东西、想跑命令、想联网,都得先问你。敏感操作必须经过批准,这是安全的地基。

具体的权限规则在 Settings 的 permissions.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 等命令默认阻止

最后一条尤其重要:curl、wget 这种「下载并执行」的命令默认被拦——这是 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)。
  • 统一 MCP:managed-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 怎么处理你的数据——数据隐私与使用。