首页/文章/开了 Claude Code 沙箱也别大意:文件工具、MCP 和 hooks 都在沙箱外面跑

开了 Claude Code 沙箱也别大意:文件工具、MCP 和 hooks 都在沙箱外面跑

· Zumac.Ai

沙箱到底包住了什么

@bridgelab_jp 一句话点出常见误解:Claude Code 的 /sandbox 隔离的只有 Bash,编辑工具、MCP 和 hooks 都在主机上运行。

这和官方 Sandboxing 文档 一致。文档开头就写:沙箱只覆盖 shell 命令(Bash、PowerShell、Monitor 及其启动的进程),并专门列了「在沙箱外运行的东西」:

  • 内置文件和网页工具:Read、Edit、Write、WebFetch、WebSearch 走的是权限规则。文档特别强调,沙箱的 denyRead 挡不住 Read 工具,allowedDomains 也限制不了 WebFetch。
  • Claude Code 启动的其他进程:命令型 hooks、本地 MCP server、插件 monitor、LSP server,以及状态栏命令、apiKeyHelper 这类辅助命令,以你的完整权限运行。
  • 你自己在 ! 提示符下敲的命令,大多数会话里也不进沙箱;写进 excludedCommands 的命令同样不进。

对应的防护怎么配

  1. 文件工具靠权限规则:想让 Claude 读不到 .env、SSH 密钥,要写 Read(...) 的 deny 规则,不能只靠沙箱的 denyRead。
  2. 网页抓取靠 WebFetch 规则:用 WebFetch(domain:...) 限定可访问的域名。
  3. hooks 和 MCP 先审再装:它们在沙箱外跑,等于在你的账号下执行任意代码。安装别人的配置包、插件前,先看 hooks 脚本和 MCP 启动命令。
  4. excludedCommands 尽量窄:文档提醒,像 docker * 这样的宽泛条目会让整个工具绕开沙箱。
  5. 好消息:文档说明沙箱内的命令不能改写 .claude 设置、.mcp.json、.claude/hooks 等配置文件,防止命令给自己加权限或塞进一个在沙箱外运行的 hook。

小结

沙箱是 shell 命令的一道墙,不是整个 Claude Code 的墙。文件工具、网页工具、hooks、MCP 各有各的防线,要分别配置。

如果你想把 Claude Code 放在一台常开、整机独享的新加坡 Mac mini 上长期运行,可以了解 Zumac.Ai,咨询 Telegram @singatao。

来源

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服