← BLOG
Best Practice

Claude 代码安全:权限、沙箱和安全使用

Claude Code 有一个权限系统,可以让你准确控制人工智能可以做什么和不能做什么。以下是如何配置它以实现安全开发。

Claude Code 在您的环境中运行命令并编辑文件。这种力量需要护栏。权限系统可让您准确定义 Claude Code 可以访问哪些内容、可以修改哪些内容以及哪些操作需要您的明确批准。

克劳德代码权限系统如何工作?

Claude Code 具有三种权限模式来控制代理获得多少自主权:

模式行为最适合
普通的每个工具的使用均需获得许可学习、敏感代码库
自动接受批准安全的行动,要求危险的行动日常开发
计划模式计划有变,等待批准后再执行代码审查、架构变更

您如何配置允许/ 拒绝规则 ?

精细授用权限设置在设置. json. 使用 glob 模式来控制哪些文件和命令 Claude Code可以访问:

// .claude/settings.json
{
  "permissions": {
    "allow": [
      "Read:**",
      "Edit:src/**",
      "Edit:tests/**",
      "Bash:npm run *",
      "Bash:git *"
    ],
    "deny": [
      "Edit:.env*",
      "Edit:*.secret",
      "Edit:credentials/**",
      "Bash:rm -rf *",
      "Bash:curl * | bash",
      "Bash:git push --force*"
    ]
  }
}

你总是要保护什么文件?

  • +.env和.env. *文件(API密钥,数据库证书)
  • +全权证书/、机密/或任何有敏感数据的目录
  • +CI/CD 配置文件 (. github/workflows/,. gitlab-ci.yml)
  • +基础设施文件(terraform/, docker-compose.prod.yml)
  • +认证配置( auth. config. ts, oauth 设置)

沙盒怎么开?

Claude Code使用文件系统沙箱来限制代理可以运行的地方. 默认情况下,它只能访问项目目录中的文件. 您可以用允许/ 拒绝规则进一步限制 .

# Claude Code runs in a sandbox by default:
# ✅ Can read/write files in your project directory
# ❌ Cannot access files outside the project
# ❌ Cannot access system files
# ❌ Cannot access other users' home directories

# Add extra directories if needed:
claude --add-dir /path/to/shared/library

Claude Code的安保最佳做法是什么?

  • +总是以否定规则保护.env文件
  • +首次对敏感代码工作时使用普通模式
  • +在允许承诺前先审查 diff( 计划模式对此很重要 )
  • +设定- 最大预算用来防止出逃费用
  • +在技能方面使用允许的工具来限制每种技能所能做的
  • +审计您的 MCP 服务器权限( 使用只读数据库连接)
  • +永远不要使用 -- -- 危险 -- -- 危险 -- -- 发射

经常问的问题

QQ 回博客时免费开始——单元1