沙盒模式:YOLO 速度遇上真实安全

发布: (2026年2月1日 GMT+8 02:30)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的具体文本内容,我将按照要求保留源链接、格式和代码块进行简体中文翻译。

沙盒模式:YOLO 速度遇上真实安全

一次性定义边界。Claude 在这些边界内自由工作。

权限问题

如果你在任何严肃的工作中使用过 Claude Code,你一定了解权限的“舞蹈”。Claude 在执行可能有风险的操作前会先询问,这让你保持控制权,但不断的中断会成为生产力的毒药。

“我可以运行 npm install 吗?” [Allow]
“我可以读取这个文件吗?” [Allow]

每个会话点击 Allow 上百次并不是安全——那是表演。真正的安全来自于事先明确的边界定义,而不是靠肌肉记忆点击。

沙盒模式是什么

沙盒模式让你一次性定义安全周界。在该周界内部,Claude 可以自由操作;在周界之外,则被锁定。

  • 再也不会因为每一次文件写入、命令执行或系统交互而弹出权限提示。
  • 你可以在保持外部世界安全的同时,让 Claude 全速运行。

启用沙盒模式

# 启动一个沙盒会话
/sandbox

或直接以沙盒模式启动 Claude Code:

claude --sandbox

系统会提示你配置边界:

🔒 沙盒配置

允许的目录(读/写):
> ./src, ./tests, ./docs

允许的命令:
> npm *, yarn *, pnpm *, git status, git diff

阻止的路径:
> .env*, **/secrets/*, ~/.ssh

最大文件大小:1 MB
网络访问:已禁用

预设配置文件

开箱即用的常见沙盒配置文件:

/sandbox --preset frontend

启用典型前端开发权限:npm/yarn 命令、src 目录访问、构建工具等。

/sandbox --preset conservative

最小权限:大多数文件只读,写入需显式批准。

/sandbox --preset project

使用项目根目录下 .claude/sandbox.json 中的沙盒配置。

项目级沙盒配置

将沙盒设置存放在 .claude/sandbox.json,让每位团队成员获得相同的安全默认值。

{
  "allowedPaths": ["./src", "./tests", "./scripts"],
  "blockedPaths": [".env*", "**/*.key", "**/credentials*"],
  "allowedCommands": ["npm test", "npm run build", "npm run lint"],
  "blockedCommands": ["rm -rf", "curl", "wget"],
  "networkAccess": false
}

区分读写权限

{
  "readPaths": ["./**"],
  "writePaths": ["./src", "./tests"]
}

审计沙盒活动

/sandbox --log

显示 Claude 在沙盒内执行的所有操作——对安全审查和了解 AI 行为非常有用。

临时扩展

需要短暂允许沙盒外的某些操作吗?使用一次性授权,而不是重新配置全部内容:

/allow-once npm publish

实际使用案例

“我会让 Claude 更新我们的组件库。它需要修改 15 个包中的文件,运行测试,更新快照,检查类型,并修复 lint。每一个动作都需要权限。我数了 73 次权限提示才完成一次重构任务。我开始只是盲目点击 Allow。”

使用沙盒模式后,开发者配置了:

{
  "allowedPaths": ["./packages/ui/**", "./packages/shared/**"],
  "allowedCommands": [
    "npm test -- --updateSnapshot",
    "npm run typecheck",
    "npm run lint -- --fix"
  ],
  "blockedPaths": ["**/package.json", "**/tsconfig.json"]
}

现在,沙盒在会话开始时只设置一次。Claude 在这些边界内自由重构,开发者审查实际的代码更改,而不是权限对话框;配置还能防止意外的危险操作。

结论

沙盒模式是正确的安全实现方式。与其面对成百上千容易被忽视的小权限,你只需对边界做出少量慎重的决定。Claude 获得高效工作的自由,你保持安心,工作流也不被打断。

定义你的墙壁,让 Claude 在其中构建。

Back to Blog

相关文章

阅读更多 »