Appearance
安全机制
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 的主要防护措施:
核心防护
- 权限系统:敏感操作需要明确授权
- 上下文感知分析:分析完整请求,检测潜在有害指令
- 输入清理:防止命令注入
- 命令黑名单:默认阻止能从网络获取任意内容的高危命令(如
curl、wget)
隐私保护
其他保护
- 网络请求审批:发起网络请求的工具默认需要用户授权
- 隔离上下文窗口:WebFetch 使用独立上下文窗口,避免恶意内容污染主上下文
- 信任验证:首次运行代码库或使用新 MCP 服务器需要验证信任
- 注意:非交互模式(
-p标志)下信任验证被禁用
- 注意:非交互模式(
- 命令注入检测:可疑 Bash 命令即使已加入白名单也需要手动确认
- 默认拒绝:未匹配的命令默认要求手动审批
- 自然语言说明:复杂 Bash 命令附带人类可读的说明
- 凭证加密存储:API key 和 token 加密保存(参见凭证管理)
Windows WebDAV 安全警告:不建议在 Windows 上启用 WebDAV 或允许 Claude Code 访问
\\*等路径。WebDAV 已被微软废弃,存在安全风险,可能让 Claude Code 绕过权限系统触发对远程主机的网络请求。
使用不可信内容时的最佳实践
- 审查命令后再批准
- 避免直接把不可信内容管道给 Claude
- 验证对关键文件的修改
- 处理外部 Web 服务时,使用虚拟机运行脚本和工具调用
- 发现可疑行为用
/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 使用情况
- 用
ConfigChangehooks 审计或阻止会话中的设置变更
报告安全问题
发现安全漏洞时:
- 不要公开披露
- 通过 HackerOne 计划 报告
- 提供详细的复现步骤
- 给我们时间处理问题再公开披露
相关文档
- 沙箱 — Bash 命令的文件系统和网络隔离
- 权限配置 — 权限系统和访问控制
- 监控用量 — 追踪和审计 Claude Code 活动
- Development Containers — 安全隔离环境
- 认证配置 — 凭证管理说明
常见问题
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令牌等凭证通过安全代理处理而不进入沙箱,且所有操作均有审计日志。会话结束后环境自动销毁,减少了持久化攻击的风险。