核心概念
| 术语 | 定义 |
|---|---|
| PreToolUse hook | 工具执行前触发的智能体事件。CC Safety Net 借助它(或各智能体的等效事件)在命令运行前进行检查。参见工作原理。 |
| Fail-closed | CC Safety Net 无法得出可信的判定时,拒绝该次工具调用,而不是放行。参见安全模型。 |
| 决策(Decision) | 单次工具调用的允许或拒绝结果,由审计日志记录。参见审计日志。 |
| 命令段(Segment) | 复合命令在 &&、||、|、; 或换行处拆分出的单个命令。只要有一个命令段被阻止,CC Safety Net 就拒绝整条命令。参见工作原理。 |
| 分析引擎(Analysis engine) | 解析命令并决定是否阻止的核心组件,所有智能体集成共用。参见工作原理。 |
| 集成模型(Integration model) | 智能体运行 CC Safety Net 的方式,例如 hook 子进程或进程内插件。参见集成模型。 |
配置
| 术语 | 定义 |
|---|---|
| 策略(Policy) | 设置文件 policy.json,默认为 ~/.cc-safety-net/policy.json,包含安全预设、能力覆盖、worktree 模式、各项保护开关和审计保留期。参见策略。 |
| 项目策略(Project policy) | 项目根目录中可选的 .cc-safety-net/policy.json,在用户策略之上只设置它列出的字段。参见项目策略。 |
| 生效策略(Effective policy) | 用户策略叠加项目策略后的结果。参见策略。 |
| 策略快照(Policy snapshot) | CC Safety Net 每次工具调用时从策略文件、rule.json 和 rulebook 重新读取的配置。状态只有 ready 或 degraded 两种。参见配置恢复。 |
| 预设(Preset) | safety.level 的值,即 standard、strict 或 paranoid,决定默认能力。覆盖后的组合不符合任何预设时,生效级别显示为 custom。参见模式。 |
| 能力(Capability) | 可独立于预设开关的单项保护:fail_closed、paranoid_rm 或 paranoid_interpreters。参见模式。 |
| 降级(Degraded) | CC Safety Net 拒绝某个配置来源、回退到保护性默认值并让工作继续时所处的状态。参见配置恢复。 |
Shell 命令形式
| 术语 | 定义 |
|---|---|
| Shell 包装器(Shell wrapper) | 运行另一条命令的 shell 命令,例如 bash -c 'git reset --hard'。CC Safety Net 会拆开包装并检查里面的命令。参见被阻止的命令。 |
| 解释器单行命令(Interpreter one-liner) | 由解释器执行的内联代码,例如 python -c 'import os; os.system("rm -rf /")'。CC Safety Net 会检查其中的危险模式。参见被阻止的命令。 |
| 动态替换(Dynamic substitution) | 依赖运行时展开的值,例如 $(...)、<(...) 或 $VAR。部分安全级别会阻止它。参见被阻止的命令。 |
递归删除和路径
模式
规则
| 术语 | 定义 |
|---|---|
| Rulebook | 位于 rules/<name>/rulebook.json 的自定义阻止规则 JSON 文件。rule.json 把它列为来源,CC Safety Net 每次工具调用都会读取它。参见自定义规则。 |
| 透明包装器(Transparent wrapper) | nohup、timeout 这类命令,CC Safety Net 会穿过它检查它所运行的命令。额外的包装器在 rule.json 中声明。参见透明包装器。 |
| 落盘 rulebook(Vendored rulebook) | rule add 和 rule update 写入你仓库中的远程 rulebook 本地副本,更新改了什么可以从 diff 看出来。参见官方 rulebook。 |