Skip to main content
CC Safety Net 为编码智能体最常接触的基础设施 CLI 发布了精心整理的 rulebook。每个 rulebook 针对一个 CLI,阻止可识别的破坏性操作,一条命令即可安装:
rulebook 是 JSON 数据。它们永远不会被执行,只会增加拒绝规则,也无法削弱 CC Safety Net 的内置保护。本页介绍官方目录。rulebook 文件格式和完整的 rule 命令参考见自定义规则
官方 rulebook 使用 rulebook_version: 2,需要 CC Safety Net 2.3.0 或更高版本

目录

cc-safety-net/rulebooks 仓库为每个 CLI 提供一个 rulebook: 每个 rulebook 都是对可识别误操作的精选覆盖,而非对提供商 API 的完整建模。aws s3 rm --dryrunterraform state rm -dry-runaws ec2 terminate-instances --dry-run 等安全预览仍然允许。每个 rulebook 在仓库中都有一份依据文档,记录每条规则存在的原因、安全预览、有意排除的范围和已知缺口:terraform · aws · gcloud · azure

安装

优先使用用户范围。terraformaws 会跨项目使用,保护应当跟着你走,而不是跟着某个仓库:
--only--ref 只对仓库来源有意义,因此省略来源时,只要带上其中任一个选项,选中的就是 cc-safety-net/rulebooks。自己写出仓库名依然有效;要安装它发布的全部 rulebook,则必须写出来。 省略 --global 会安装到项目范围。文件落盘在仓库的 .cc-safety-net/ 下,提交后每位队友克隆即得。见团队配置 也可以按来源的规范形式安装单个 rulebook。rule list 显示的和 rule remove 接受的正是这种形式:

安装做了什么

rule add 获取选定的每个 rulebook,校验其 schema 并运行随附的 fixture,然后把文件落盘(vendor)到你自己的范围内,路径为 rules/<name>/rulebook.json,并报告内容来自哪个提交。此后运行时在每次工具调用时读取这份落盘副本。没有后台拉取,也没有自动更新。 只有在你运行以下命令时,副本才会变化:
发布标签不可变,所以 --ref v1.0.0 安装的内容始终相同。在你切换 ref 之前,rule update 对它不会有任何改动。

覆盖或移除

要禁用单条规则或替换其阻止原因,可在 rule.json 中为该规则添加覆盖。rulebook 文件保持不变,因此 rule update 不会与你的覆盖冲突。语法见 rule.json schema。要整体移除一个 rulebook:

从任意仓库安装

官方仓库没有任何特殊之处。任何在 .cc-safety-net/rules/<name>/rulebook.json 下发布 rulebook 的 GitHub 仓库都可以用 rule add owner/repo 安装,团队或供应商可以用同样的方式发布自己的目录。
rulebook 只会增加拒绝规则且永远不会被执行,但命令被阻止时,规则内容会出现在发给智能体的消息中。添加第三方 rulebook 前请先审查内容,并优先用 --ref 固定到你检查过的标签或提交,而不是跟随不受你控制的分支。

当 rulebook 不生效时

npx -y cc-safety-net rule list 显示每个活动 rulebook 及其规则数量,npx -y cc-safety-net explain "terraform destroy" 可以追踪某个决策出自哪条规则。如果某个来源显示为未激活,修复步骤见 rulebook 是实时文件
最后修改于 2026年8月31日