git reset --hard、git checkout -- .、git clean -f、git stash clear 和 git push --force 作用的都是智能体本来就被允许写入的文件,因此把写入限制在项目目录内的沙箱看不出任何问题。OpenAI 的 Codex 安全文档称,workspace-write 下的命令 “can still mutate state and perform destructive operations”。一份针对 Codex 权限的独立分析(2026-04-20)说得很直接:“No command-level semantic blocking: the system cannot prevent git reset —hard”。Claude Code 的沙箱文档把写入限制在工作目录内,而那里正是你未提交的工作所在之处。
这一层还有另外三个值得运行的理由:
- 在概率性检查之下再加一道确定性检查。 Anthropic 公布了 Claude Code auto-mode 分类器在真实过激操作上 17% 的漏报率,并称它 “not a drop-in replacement for careful human review”。deny rule 和 hook 是确定性的一层,而不是一次判断。经 Claude Code 2.1.251 验证,PreToolUse 拒绝在 default、auto 和 bypassPermissions 模式下都仍会触发(项目仓库中的
tests/e2e-live/protection.test.ts)。这是针对特定版本的结果,不是长期保证,因此该测试套件会在每次发布和宿主升级时重新运行。 - 无需配置的机密保护。 Claude Code 的沙箱文档写明,默认读取行为 “still allows reading credential files such as ~/.aws/credentials and ~/.ssh/“,并且 “There is no built-in credential deny list”。其他 CLI 的原生等价能力需要你为每个 CLI 单独编写选择性启用的配置。CC Safety Net 从安装那一刻起就阻止对这些路径和项目
.env文件的内容访问,覆盖 shell 命令以及 read、edit、write、search 工具。 - 横跨 13 个 CLI 的同一份策略和同一份审计记录。 五家厂商提供五套互不兼容的权限机制,而且没有事后可读的决策日志。
rm -rf ~/ 清除了数小时的工作,指令并没有拦住它。Claude Code 现已为这类关键路径内置了确定性断路器,这是正确的修复,也是这里不再把它当作头条的原因。而上面列出的 git 命令没有这样的断路器。CLAUDE.md 或 AGENTS.md 中的规则可以引导智能体,但无法强制实施技术限制。CC Safety Net 把这道限制变成一次执行前检查来强制实施。
它拦截什么
CC Safety Net 安装在编码智能体内部,在智能体的工具调用到达你的机器之前运行。 它检查 shell 命令,以及文件写入、编辑、搜索和补丁操作。允许的操作会继续执行。被阻止的操作不会执行,并会附上原因。阻止结果以普通工具结果的形式返回,智能体可以跳过被阻止的操作并继续任务。 判定依据是意图,而不是命令的字面写法。git checkout -b feature 创建分支,会被允许;git checkout -- file 丢弃未提交的更改,会被阻止。两条命令都以相同的两个单词开头。
对于集成转发的工具操作,同一套检查也会保护 SSH 密钥、.env 文件、云凭证存储和编码 CLI 令牌等受支持的凭证文件。CC Safety Net 会在文件访问发生前,阻止匹配的读取和写入。各集成覆盖的工具不同,详情见集成覆盖边界和机密保护参考。
每个智能体使用不同的集成。有些将 CC Safety Net 作为短生命周期子进程运行,另一些则把它加载到智能体进程内。安装程序会为你的智能体配置正确的集成。一个工具调用的完整生命周期见工作原理。