深度

Claude Code 安全架构深度解析:从权限系统到 Prompt 注入防护

Claude Code 安全架构深度解析:基于最小权限原则的权限系统(allow/deny 白名单配置)、多层 Prompt 注入防护(输入净化、黑名单命令、隔离上下文)、沙箱隔离功能、MCP 服务器安全指南、凭证加密存储和 Windows 特殊安全注意事项,帮助开发者和团队建立安全的 AI 编码环境。

2026/2/275分钟 阅读ClaudeEagle

安全是 Claude Code 设计的核心原则之一。从权限系统到 Prompt 注入防护,从沙箱隔离到企业合规,本文深度解析 Claude Code 的完整安全架构。

安全设计理念

Claude Code 遵循三个核心安全原则:

  1. 最小权限默认:默认只读权限,额外操作需要显式授权
  2. 透明与可控:执行命令前显示并等待确认,用户始终保持控制权
  3. 纵深防御:多层安全机制叠加,单点失效不会导致全面突破

Anthropoic 的安全认证:SOC 2 Type 2、ISO 27001。更多安全资源见 Anthropic Trust Center

权限架构

基础权限模型

Claude Code 使用严格的权限分级:

操作类型默认行为可配置为
读取文件允许(工作目录及子目录)可限制或扩展范围
写入文件需要确认可允许或拒绝特定路径
执行命令需要确认可添加到白名单
网络请求需要确认可允许或拒绝特定域

写入权限边界

Claude Code 只能向启动它的目录及子目录写入文件——无法修改父目录的文件。虽然 Claude 可以读取工作目录外的文件(用于访问系统库和依赖),写入操作严格限制在项目范围内,形成清晰的安全边界。

权限白名单配置

json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Bash(git *)",
      "Read(~/.zshrc)",
      "Write(src/**)"
    ],
    "deny": [
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(sudo *)",
      "Bash(rm -rf *)",
      "Read(./.env)",
      "Read(./secrets/**)"
    ]
  }
}

权限疲劳缓解

频繁的权限提示会导致「确认疲劳」,用户开始无脑点「允许」。Claude Code 通过以下机制缓解:

  • 按用户白名单:个人常用命令一次性授权
  • 按代码库白名单:项目级常用命令授权,与团队共享
  • 按组织白名单:IT 部门统一配置安全策略
  • Accept Edits 模式:批量接受文件编辑,仅保留有副作用命令的确认

Prompt 注入防护

Prompt 注入是攻击者通过在内容中嵌入恶意指令,操纵 AI 助手的攻击技术。Claude Code 包含多层防护:

核心防护机制

  1. 权限系统:敏感操作需要显式批准
  2. 上下文感知分析:通过分析完整请求检测潜在有害指令
  3. 输入净化:处理用户输入,防止命令注入
  4. 命令黑名单:默认阻止 curlwget 等可从 web 获取任意内容的命令

网络请求安全

json
{
  "permissions": {
    "deny": [
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(nc *)"
    ]
  }
}

默认阻止这些命令,需要时在许可列表中精确允许:

json
{
  "permissions": {
    "allow": [
      "Bash(curl -sL https://api.internal.company.com *)"
    ]
  }
}

隔离上下文窗口

Web 抓取使用独立的上下文窗口,防止网页中的恶意 Prompt 注入主对话上下文。

可疑命令检测

即使命令已在白名单中,如果 Claude 检测到可疑的注入模式,仍会要求手动批准。失败关闭(Fail-closed)匹配原则:未匹配的命令默认需要手动批准。

沙箱隔离

/sandbox 命令启用沙箱模式,为 bash 命令提供文件系统和网络隔离:

text
/sandbox

沙箱功能:

  • 文件系统隔离:限制 Claude 可访问的文件路径
  • 网络隔离:阻止未授权的网络出站流量
  • 降低权限提示:在定义的边界内,Claude 可以更自主地工作而无需频繁确认

适用场景:

  • 运行来自第三方的脚本
  • 测试未知代码
  • 与外部 Web 服务交互

MCP 安全

Model Context Protocol(MCP)服务器可扩展 Claude Code 的工具能力,但也带来安全风险。

安全配置原则

json
// .mcp.json 或 ~/.claude.json
{
  "mcpServers": {
    "trusted-tool": {
      "command": "npx",
      "args": ["-y", "@your-company/mcp-server"]
    }
  }
}

黄金准则

  1. 只使用来自可信来源的 MCP 服务器
  2. 优先使用自己编写的 MCP 服务器
  3. 避免使用名称与知名工具相似的 MCP 服务器
  4. 定期审查已配置的 MCP 服务器列表
  5. 了解每个 MCP 服务器有权访问的内容和操作

首次运行信任验证

Claude Code 对以下情况要求信任验证:

  • 在新代码库首次运行
  • 添加新的 MCP 服务器

注意:使用 -p 标志的非交互模式下,信任验证被禁用。

凭证安全

加密存储

API key 和令牌经过加密存储。详见 凭证管理文档

避免凭证泄露

json
// 禁止读取敏感文件
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(**/*.pem)",
      "Read(**/*.key)"
    ]
  }
}

Windows 安全注意事项

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

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

  1. 审查命令后再批准:不要无脑点确认
  2. 避免直接管道不可信内容到 Claudecat malicious.txt | claude -p 这类操作有风险
  3. 验证对关键文件的修改:特别是配置文件、认证代码
  4. 使用虚拟机运行脚本:特别是与外部 Web 服务交互时
  5. 通过 /bug 报告可疑行为

隐私保护

  • 数据保留期限制:敏感信息有限定保留期
  • 用户会话数据访问受限
  • 用户控制数据训练偏好:消费者用户可随时在 claude.ai 设置中修改隐私设置

总结

Claude Code 的安全架构从权限系统、Prompt 注入防护、沙箱隔离到 MCP 安全形成完整的纵深防御体系。理解这些机制并正确配置权限白名单,能在充分发挥 AI 能力的同时保持对系统的安全控制。


来源Claude Code 官方文档 - Security 原文作者:Anthropic Team

相关文章推荐

深度Claude Code 安全最佳实践:团队项目权限管理与敏感信息防泄漏Claude Code 安全使用完整指南:权限最小化配置(allow/deny 规则)、环境变量与密钥安全管理、CLAUDE.md 安全策略、企业团队管控配置(managed-settings.json)、CI/CD 密钥保护、防止敏感信息泄漏的 10 个规则。2026/3/15深度Claude Code 安全机制全解:权限架构、提示词注入防护、云端隔离与团队安全最佳实践Claude Code 安全机制完整解析:最小权限原则(默认只读/一次性批准/白名单)、四大内置保护(Sandbox/写入范围限制/权限疲劳缓解/Accept Edits)、八大提示词注入防护(权限系统/上下文分析/命令黑名单/隔离 Context/Fail-closed 匹配)、隐私保障与凭证加密、MCP 安全注意事项(Anthropic 不审计)、云端 VM 六大安全控制 vs Remote Control TLS 本地执行,以及个人和团队安全最佳实践。2026/3/6深度Claude Code 沙箱凭据保护体系再升级:v2.1.224 拒绝规则绕过漏洞与实践检查清单Claude Code v2.1.224 修复沙箱文件系统拒绝规则(denyRead 带结尾斜杠)在 Linux/macOS 上可被静默绕过的问题,提供实用的沙箱配置自检清单。2026/8/10深度Claude Code 沙箱凭据保护完全指南:从明文拒绝到 JWT 感知脱敏的演进之路梳理 Claude Code 沙箱凭据保护体系的四种模式——结构化脱敏、JWT 感知脱敏、AWS SigV4 重签名、文件级哨兵替换,帮你选择适合的安全策略。2026/8/7深度Claude Code v2.1.207 安全深度解析:插件 headersHelper Shell 注入漏洞修复始末深度解析 Claude Code v2.1.207 修复的插件系统 Shell 注入漏洞:${user_config.*} 在 Shell 形式命令中被拒绝,Hooks 需改用 exec 形式或环境变量,Monitors 和 headersHelper 需在脚本内部读取配置。同步解析关联的 pluginConfigs 读取来源收紧措施。2026/7/11深度Claude Code 安全强化速览:Auto Mode 防误删、后台通知防伪造双重防线解析深度解析 Claude Code v2.1.205 两项容易被忽略但意义重大的安全强化:Auto Mode 对变量值不明的 rm -rf 命令先询问再执行,以及后台任务通知明确标注「无真实人工输入」防止伪造批准被误信。分析两者背后共同的「默认保守」设计哲学。2026/7/10