深度

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 团队协作安全实践:MCP 服务器审批机制与工作区信任详解Claude Code v2.1.196 起引入的 MCP 服务器审批机制,确保克隆仓库无法自动获得已提交的 MCP 服务器信任。本文详解工作区信任模型如何防止供应链投毒攻击,并提供团队 Onboarding 安全检查清单。2026/7/6深度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 沙箱凭据保护体系再升级: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