> ## Documentation Index
> Fetch the complete documentation index at: https://ccsafetynet.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 术语表

> CC Safety Net 术语的定义：策略、预设、能力、降级、决策、规则簿、透明包装器、集成模型、故障时关闭和命令段。

本术语表定义 CC Safety Net 文档中使用的术语。

每个条目提供简短定义，并链接到完整说明该行为的页面。

## 核心概念

| 术语                          | 定义                                                                                                                                                                                                     |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **PreToolUse hook**         | 工具执行前运行的 hook。CC Safety Net 对每个智能体使用 `PreToolUse` 或等效事件，以在执行前检查 shell 命令。请参阅[工作原理](/docs/zh-Hans/guides/how-it-works)。                                                                                      |
| **故障时关闭（Fail-closed）**      | 当防护无法得出可信结论时，会**拒绝**该次工具调用，而不是允许它：例如意外分析错误、格式错误或过大的 hook 输入、空命令、解析器限制，或 strict 模式下无法解析的命令。无效配置*不属于*故障时关闭，而是进入降级状态。请参阅[设计原则](/docs/zh-Hans/guides/design-principles)和[安全模型](/docs/zh-Hans/guides/security-model)。 |
| **决策（Decision）**            | 防护对单次工具调用给出的允许或拒绝结果。当审计日志记录命令决策时，会写入一条审计记录，其中包含规则 ID、有效安全级别和降级运行时的后备状态。请参阅[审计日志](/docs/zh-Hans/reference/audit-log)。                                                                                        |
| **命令段（Segment）**            | 复合命令中由 shell 运算符（`&&`、`\|\|`、`\|`、`;`、换行符）分隔出的单个命令。引擎按顺序分析命令段，并在段之间传递相关状态，例如有效工作目录。如果一个命令段被阻止，则整个命令会被拒绝。请参阅[分析引擎](/docs/zh-Hans/guides/analysis-engine)。                                                    |
| **分析引擎（Analysis engine）**   | 与平台无关的核心，它解析命令字符串并决定是否阻止。每个智能体集成都将输入交给同一个引擎。请参阅[分析引擎](/docs/zh-Hans/guides/analysis-engine)。                                                                                                                |
| **集成模型（Integration model）** | CC Safety Net 在编码智能体内的执行方式：标准输入 hook 子进程、智能体加载的插件、进程内扩展或事件插件。集成模型会改变智能体调用 CC Safety Net 的方式。所有集成都使用同一个分析引擎。请参阅[集成架构](/docs/zh-Hans/guides/integration-architecture)。                                        |

## 配置

| 术语                        | 定义                                                                                                                                                             |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **策略（Policy）**            | 设置文档 `policy.json`，默认路径为 `~/.cc-safety-net/policy.json`。它包含安全预设、能力覆盖、worktree 模式、破坏性命令保护、机密保护和审计保留期。自定义规则不存放在此文件中。请参阅[策略](/docs/zh-Hans/configuration/policy)。      |
| **策略快照（Policy snapshot）** | 每次工具调用时，由策略文件、`rule.json`、lockfile 和经过摘要验证的规则簿缓存组合成的有效运行时策略。加载过程不写入、不发起网络请求，也不缓存。它仅解析为 `ready` 或 `degraded` 两种状态之一。请参阅[配置恢复](/docs/zh-Hans/configuration/recovery)。 |
| **预设（Preset）**            | `safety.level` 值，即 `standard`、`strict` 或 `paranoid`，它提供继承的能力默认值。当覆盖产生不匹配任何预设的组合时，报告的有效级别为 `custom`。请参阅[模式](/docs/zh-Hans/configuration/modes)。                      |
| **能力（Capability）**        | 从预设继承且可单独设置的保护行为：`fail_closed`、`paranoid_rm` 或 `paranoid_interpreters`。策略文件中的 `safety.overrides` 可以提高或降低能力；旧版环境变量只能提高能力。请参阅[模式](/docs/zh-Hans/configuration/modes)。 |
| **降级（Degraded）**          | 配置源被拒绝时进入的策略快照状态：无法验证的源会被丢弃或回退到保护性默认值，普通工作继续进行，并且每个诊断界面都会报告该状态。另一个状态是 `ready`。请参阅[配置恢复](/docs/zh-Hans/configuration/recovery)。                                      |

## Shell 命令形式

| 术语                                 | 定义                                                                                                                                                          |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Shell 包装器（Shell wrapper）**       | 包装另一个命令的 shell 命令，例如 `bash -c 'git reset --hard'`。CC Safety Net 递归分析包装的命令，最多 10 层。请参阅[被阻止的命令](/docs/zh-Hans/reference/blocked-commands)。                         |
| **解释器单行命令（Interpreter one-liner）** | 类似 `python -c 'import os; os.system("rm -rf /")'` 的命令，它内联执行代码。默认会检测并分析危险模式。请参阅[被阻止的命令](/docs/zh-Hans/reference/blocked-commands)。                                |
| **动态替换（Dynamic substitution）**     | 依赖运行时展开的命令值或结构，例如 `$(...)`、`<(...)` 或 `$VAR`。CC Safety Net 根据命令类型和安全级别处理动态替换。某些形式在 standard 中允许，但启用故障时关闭行为后会被阻止。请参阅[分析引擎](/docs/zh-Hans/guides/analysis-engine)。 |

## 递归删除和路径

| 术语                             | 定义                                                                                                           |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| **CWD 自身目标（CWD self-target）**  | 解析为当前工作目录本身的 `rm -rf` 目标，例如 `rm -rf .`。在每个安全级别都会被阻止。请参阅[被阻止的命令](/docs/zh-Hans/reference/blocked-commands)。        |
| **有效 cwd（Effective cwd）**      | 在复合命令中的 `cd` 和 `pushd` 命令之间跟踪的工作目录。用于 `rm -rf` 目标分类和 worktree 检测。请参阅[分析引擎](/docs/zh-Hans/guides/analysis-engine)。 |
| **cwd 内目标（Within-cwd target）** | 解析到当前工作目录内的递归强制删除目标。默认允许，在 paranoid `rm` 模式下阻止。请参阅[允许的命令](/docs/zh-Hans/reference/allowed-commands)。              |

## 模式

| 术语                                   | 定义                                                                                                                                                                                                                                              |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Strict 模式**                        | `strict` 预设，它启用 `fail_closed` 能力，因此会拒绝无法安全分析的命令。在策略文件中设置 `safety.level`，或使用 `CC_SAFETY_NET_STRICT=1` 提高该级别。请参阅[模式](/docs/zh-Hans/configuration/modes)。                                                                                               |
| **Paranoid 模式**                      | `paranoid` 预设，它在 strict 基础上增加 `paranoid_rm` 和 `paranoid_interpreters` 能力。在策略文件中设置 `safety.level`，或使用 `CC_SAFETY_NET_PARANOID`、`CC_SAFETY_NET_PARANOID_RM` 和 `CC_SAFETY_NET_PARANOID_INTERPRETERS` 提高单项能力。请参阅[模式](/docs/zh-Hans/configuration/modes)。 |
| **Worktree 放宽（Worktree relaxation）** | 启用 worktree 模式时，即策略文件中的 `workflow.worktree_mode` 或 `CC_SAFETY_NET_WORKTREE=1`，在确认的 linked Git worktree 内允许选定的本地 Git 丢弃命令。当 CC Safety Net 无法验证 worktree 时，不会应用放宽。请参阅[模式](/docs/zh-Hans/configuration/modes)。                                          |

## 规则

| 术语                             | 定义                                                                                                                                                                                        |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **规则簿（Rulebook）**              | 包含自定义阻止规则、元数据和可选 fixture 的 JSON 文件。它在 `rule.json` 中配置为源，通过 SHA-256 摘要固定在 lockfile 中，并从经过验证的缓存执行。规则簿名称在用户和项目范围内全局占用。请参阅[自定义规则](/docs/zh-Hans/configuration/custom-rules)。                       |
| **透明包装器（Transparent wrapper）** | 在 `rule.json` 的 `transparent_wrappers` 中声明的命令。分析会穿透它，以到达它执行的受保护命令。包装器位于 `rule.json` 而不是规则簿中，因此被丢弃的规则簿会保留它们，但无法读取的 `rule.json` 会丢失该范围的包装器。请参阅[自定义规则](/docs/zh-Hans/configuration/custom-rules)。 |
| **Lockfile**                   | 跟踪规则簿源摘要和缓存内容的 JSON 文件（`rule.lock`）。用于检测过期或被篡改的规则簿。请参阅[自定义规则](/docs/zh-Hans/configuration/custom-rules)。                                                                                       |

<Note>
  如需规则簿、规则、fixture 和 lockfile 的正式 schema，请参阅[自定义规则](/docs/zh-Hans/configuration/custom-rules)参考。有关 `policy.json` schema，请参阅[策略](/docs/zh-Hans/configuration/policy)。有关 `explain --json` 返回的 JSON 结构，请参阅[Explain 跟踪](/docs/zh-Hans/reference/explain-trace)。
</Note>
