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