深度

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 环境变量与密钥管理:安全配置 API Key 和敏感信息的完整指南Claude Code 开发中安全处理环境变量和 API 密钥的完整指南:.env 文件规范、dotenv 与系统环境变量的区别、密钥轮换策略、防止密钥泄露到 Git、secrets 加密存储、生产环境的 Vault/AWS Secrets Manager 集成,以及 CLAUDE.md 安全规范配置。2026/3/16深度Claude Code 沙箱隔离深度指南:OS 级文件系统与网络隔离、Auto-allow 模式与逃生舱机制Claude Code 沙箱隔离深度指南:传统权限模型三大问题(审批疲劳/效率损失/自主性受限)、文件系统隔离(写入限当前目录/读取全系统/OS 级子进程继承)、网络隔离(代理服务器域名控制/allowManagedDomainsOnly)、三平台实现(macOS Seatbelt/Linux bubblewrap/WSL2 支持/WSL1 不支持)、安装启用(/sandbox 命令)、两种沙箱模式(Auto-allow 自动批准 vs Regular 标准流程)、settings.json 完整配置(allowWrite/denyWrite/denyRead/路径前缀/多层合并行为)、工具兼容性(kubectl/watchman/docker 处理方式)、逃生舱机制(dangerouslyDisableSandbox/allowUnsandboxedCommands 禁用)、三项安全收益和沙箱局限性。2026/3/9深度Claude Code 权限系统深度解析:规则语法、5 种权限模式与 Hooks 扩展Claude Code 权限系统完整解析:三层工具类型(只读/Bash/文件修改)审批规则、/permissions 管理界面(Allow/Ask/Deny 规则 deny→ask→allow 优先顺序)、5 种权限模式(default/acceptEdits/plan/dontAsk/bypassPermissions 及禁用方式)、权限规则语法(Tool/Tool(specifier)/通配符/空格边界规则/Shell 操作符感知)、四种路径前缀格式(//绝对路径/~/home/项目根/相对)、MCP 工具和 Agent 权限规则、WebFetch 网络控制局限性(无法阻止 Bash curl)及三种可靠 URL 过滤方案、PreToolUse Hooks 扩展权限、工作目录扩展(--add-dir/additionalDirectories),以及权限与沙箱互补关系和两个配置示例。2026/3/9深度Claude Code 沙箱隔离完全指南:文件系统隔离、网络访问控制与 OS 级安全边界Claude Code 沙箱隔离完全指南:文件系统(默认读全机/写当前目录)和网络隔离机制、macOS Seatbelt 和 Linux bubblewrap OS 级执行、两种沙箱模式(Auto-allow/Regular 权限)、allowWrite/denyRead/denyWrite 路径配置、自定义网络代理,以及提示注入防护和已知安全限制。2026/3/3