深度

Claude Code 安全最佳实践:团队项目权限管理与敏感信息防泄漏

Claude Code 安全使用完整指南:权限最小化配置(allow/deny 规则)、环境变量与密钥安全管理、CLAUDE.md 安全策略、企业团队管控配置(managed-settings.json)、CI/CD 密钥保护、防止敏感信息泄漏的 10 个规则。

2026/3/154分钟 阅读ClaudeEagle

Claude Code 有访问文件系统、执行命令的能力,用好了效率翻倍,用不好可能引入安全风险。本文整理团队使用 Claude Code 的安全规范,从个人配置到企业管控全覆盖。

权限最小化原则

Claude Code 默认每次执行敏感操作都会询问确认,但可以通过配置预先允许或禁止特定命令。

json
// .claude/settings.json(项目级,提交到 git)
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git add *)",
      "Bash(git commit *)",
      "Bash(git push origin feature/*)",
      "Read(**)",
      "Write(src/**)",
      "Write(tests/**)",
      "Write(docs/***)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl * | bash)",
      "Bash(wget * | sh)",
      "Bash(git push origin main)",
      "Bash(git push --force *)",
      "Write(.env*)",
      "Write(*.pem)",
      "Write(*.key)"
    ]
  }
}

关键原则

  • allow 列表只列必须的操作
  • deny 列表明确禁止危险操作
  • deny 优先级高于 allow

保护敏感文件

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

CLAUDE.md 安全策略

在项目的 CLAUDE.md 里写明安全规则,Claude 会在整个会话中遵守:

markdown
## Security Rules

NEVER do the following without explicit confirmation:
- Modify .env or any file containing credentials
- Execute database migration scripts in production
- Push to main/master branch directly
- Log or print API keys, passwords, or tokens
- Make external network requests to non-API endpoints

ALWAYS:
- Use environment variables for secrets, never hardcode
- Add .gitignore entries for any new secret files
- Use parameterized queries, never string concatenation for SQL
- Validate and sanitize user input before use

环境变量安全

bash
# 好:从环境变量读取
export DATABASE_URL=postgresql://...
export API_KEY=sk-...

# 告诉 Claude
# "All secrets are in environment variables.
# Never hardcode them or print them in logs."
python
# Claude 会生成这样的代码(好)
import os
api_key = os.environ.get('ANTHROPIC_API_KEY')
if not api_key:
    raise ValueError('ANTHROPIC_API_KEY not set')

# Claude 不会生成这样的代码(坏)
api_key = 'sk-ant-xxxxx'  # hardcoded!

企业团队管控配置

IT 管理员可以部署不可覆盖的策略文件:

json
// /Library/Application Support/ClaudeCode/managed-settings.json(macOS)
// /etc/claude-code/managed-settings.json(Linux)
{
  "model": "claude-sonnet-4-5",
  "permissions": {
    "deny": [
      "Bash(curl * | bash)",
      "Bash(wget * | sh)",
      "Bash(sudo *)",
      "Write(/etc/**)",
      "Write(/usr/**)",
      "Write(~/.ssh/**)",
      "Bash(ssh *)"
    ]
  },
  "env": {
    "ANTHROPIC_API_KEY": "sk-ant-company-key"
  }
}

此配置文件优先级最高,用户无法覆盖。

CI/CD 密钥保护

yaml
# GitHub Actions:密钥存在 Secrets,不要硬编码
jobs:
  claude-task:
    steps:
      - run: claude -p "Fix bugs"
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          # 不要这样
          # ANTHROPIC_API_KEY: sk-ant-xxxxx

代码审查安全检查清单

让 Claude Code 自动检查安全问题:

Review this code change for security issues. Specifically check for: 1. Hardcoded credentials or API keys 2. SQL injection vulnerabilities 3. XSS or injection vulnerabilities 4. Sensitive data in logs 5. Insecure random number generation 6. Missing input validation 7. Overly permissive CORS or CSP settings 8. Exposed internal error messages to users Report each issue with file, line number, and fix suggestion.

防泄漏 10 条规则

  1. 永不提交 .env 文件:在 .gitignore 里加 .env*
  2. 密钥轮换:定期更换 API Key,发现泄漏立即撤销
  3. 最小权限:settings.json 的 allow 列表只列必要操作
  4. 保护 main 分支:deny git push origin main
  5. 日志脱敏:让 Claude 生成代码时不 print 敏感字段
  6. 不要在 Prompt 里粘贴密钥:用环境变量传递
  7. 审查 Claude 的修改:特别是涉及认证和权限的代码
  8. 沙箱环境测试:危险操作先在开发环境验证
  9. 定期审计 .claude/settings.json:检查 allow 列表是否过宽
  10. 团队 CLAUDE.md:把安全规则写进去,所有人共享

来源:Claude Code Security - Anthropic 官方文档

相关文章推荐

深度Claude Code 安全机制全解:权限架构、提示词注入防护、云端隔离与团队安全最佳实践Claude Code 安全机制完整解析:最小权限原则(默认只读/一次性批准/白名单)、四大内置保护(Sandbox/写入范围限制/权限疲劳缓解/Accept Edits)、八大提示词注入防护(权限系统/上下文分析/命令黑名单/隔离 Context/Fail-closed 匹配)、隐私保障与凭证加密、MCP 安全注意事项(Anthropic 不审计)、云端 VM 六大安全控制 vs Remote Control TLS 本地执行,以及个人和团队安全最佳实践。2026/3/6深度Claude Code 安全架构深度解析:从权限系统到 Prompt 注入防护Claude Code 安全架构深度解析:基于最小权限原则的权限系统(allow/deny 白名单配置)、多层 Prompt 注入防护(输入净化、黑名单命令、隔离上下文)、沙箱隔离功能、MCP 服务器安全指南、凭证加密存储和 Windows 特殊安全注意事项,帮助开发者和团队建立安全的 AI 编码环境。2026/2/27深度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