跳转到主要内容

如果我在沙箱或容器里运行智能体,还需要 CC Safety Net 吗?

如果你在意未提交的工作,仍然需要。Claude Code 或 Codex 的沙箱会把写入限制在项目目录内,并限制网络访问。但 git reset --hard 和 rm -rf . 写入的正是这个目录,git push --force 发往的是你允许的远程仓库,所以沙箱对这三条命令都会放行。CC Safety Net 会阻止它们。 CC Safety Net 不隔离进程,也不控制网络。如果你主要担心提示注入、恶意依赖、不可信代码或数据经网络外泄,沙箱是更好的选择。两者一起用。

如果智能体已有权限 deny rule,还需要 CC Safety Net 吗?

视情况而定。截至 2026 年 10 月,Claude Code 的 deny rule 是确定性的,在 bypassPermissions 模式下仍然生效。如果你只需要在一个 CLI 中阻止几条确切的命令,它们可能就够了。 deny rule 拿命令字符串去和通配符模式比对,调换选项顺序(rm -r -f)、放进 shell 包装器(sh -c "...")或借助解释器,都可能绕过它。CC Safety Net 解析命令实际做什么,所以能拦下这些变体。它还在 16 个 CLI 上应用同一份策略和同一份审计日志。

各保护层覆盖与遗漏的范围

各层判断所依据的信息不同,因此每一层都会漏掉其他层能拦住的情况。 CC Safety Net 无法保护哪些情况、每种情况由哪一层覆盖,见已知限制。

沙箱为什么会放行破坏性 git 命令

沙箱限制的是进程能向何处写入,而不是它在那里做什么。截至 2026 年 10 月,Claude Code 的沙箱文档默认把写入限制在工作目录内,所以针对你项目的 git reset --hard 和 rm -rf . 都是允许的写入。 git push --force 在本地什么都不写,所以本地写入范围覆盖不到它。沙箱不理解 Git 历史、未提交更改和 stash 条目。
这些命令自动运行还是需要确认,取决于智能体的沙箱模式和审批策略。
沙箱默认允许广泛读取。截至 2026 年 10 月,Claude Code 的沙箱文档在描述默认读取行为时写明“There is no built-in credential deny list”,并点名 ~/.aws/credentials 和 ~/.ssh/ 是它仍允许读取的文件。CC Safety Net 无需任何配置即可阻止对这些路径的内容访问。

何时更适合使用沙箱

如果你主要关注以下问题,请使用沙箱:
  • 提示注入。 限制出站网络域,降低数据外泄风险。
  • 恶意依赖。 限制不可信软件包的文件系统写入和网络访问。
  • 不可信代码。 操作系统级隔离比命令文本分析更强。
  • 网络控制。 CC Safety Net 没有网络层。

权限提示与批准分类器

这一层会在操作运行前询问你或分类器模型。截至 2026 年 10 月,按 Claude Code 的权限模式文档,Manual 模式下大多数编辑和 shell 命令运行前都会询问。在 auto 模式下,“a second model, the classifier, reviews actions instead of you”,并且默认阻止 git reset --hard、git stash clear 等破坏性 git 命令。 这道审查是一次判断,而且可以关掉。Anthropic 公布了 auto-mode 分类器在真实过激操作上 17% 的漏报率,并称它“not a drop-in replacement for careful human review”。在 bypassPermissions 下,一切操作都不经询问直接运行。 CC Safety Net 的拒绝在所有权限模式下都生效,包括 bypassPermissions。验证所用的版本见 Claude Code 权限模式与 bypass 模式。

容器、虚拟机与检查点

一台用完即弃的机器是真正的隔离,Claude Code 也建议 bypassPermissions 只用于“Isolated containers and VMs only”。但它保护不了机器里的工作。 云端会话会 clone 你的仓库,再 push 回真实的远端,所以在那里执行 git reset --hard,损失的未提交工作和本地一样;git push --force 落在的也是队友会 pull 的分支。把工作树挂载进来的本地容器也一样,因为挂载是可写的。凭证方面的问题见云端环境。 检查点能弥补其中一部分。截至 2026 年 10 月,Claude Code 的检查点文档写明“Checkpointing does not track files modified by bash commands.”。破坏性 git 命令是作为 bash 命令运行的,所以 rewind 无法恢复它丢掉的工作。

将沙箱与 CC Safety Net 一起使用

沙箱限制任何命令能接触的范围;在这个边界之内,沙箱放行的破坏性命令和凭证读取由 CC Safety Net 拦下。 沙箱和允许列表本身也会被攻破。2026 年,CVE-2026-25725 通过 settings.json 逃逸了 Claude Code 的 bubblewrap 沙箱,CVE-2026-22708 绕过了 Cursor 的命令允许列表。请把你手上的每一层都用起来。
最后修改于 2026年10月27日