satishTheLegend/risk-register-csf
GitHub: satishTheLegend/risk-register-csf
一款 Claude Code 治理 skill,帮助个人和小团队以 NIST CSF 2.0 为框架轻量级地构建和维护风险登记册、安全自评估与事件响应计划。
Stars: 0 | Forks: 0
[](https://github.com/satishTheLegend/risk-register-csf)
[](https://github.com/satishTheLegend/risk-register-csf/blob/main/LICENSE)
[](https://github.com/satishTheLegend/risk-register-csf/pulls)
[](https://github.com/satishTheLegend/risk-register-csf)
[](https://github.com/satishTheLegend/risk-register-csf/stargazers)
[](https://github.com/satishTheLegend/risk-register-csf/network/members)
[](https://github.com/satishTheLegend/risk-register-csf/issues)
[](https://github.com/satishTheLegend/risk-register-csf/commits)
**[目的](#-purpose) · [功能说明](#-what-it-does) · [元数据](#-metadata) · [安装](#-installation) · [工作原理](#-how-it-works) · [用法](#-usage-examples) · [结构](#️-skill-structure) · [贡献](#-contributing)**
## 🎯 目的
个人或小团队运营者面临着真实的安全与合规风险——客户询问*“你们符合 SOC2 标准吗?”*、泄露的 secret 暴露了用户数据、关键依赖项缺乏恢复计划——但通常没有结构化的方法来了解自身面临的暴露情况或差距所在。他们要么完全忽视它,直到被打个措手不及;要么反应过度,试图全面启动一个完整的 ISO 计划,结果在短短两周内就因其繁文缛节而崩溃。
**`risk-register-csf` 就是那个缺失的中间构件。** 它将企业的 GRC 职能——安全委员会、风险官和 IR 负责人——精简为高投资回报率(ROI)的核心:一张单页概览,展示“*这是我按照可能性 × 影响程度排序的最高风险,这是我针对每一项所采取的措施,这是我在公认的框架下的得分,这是在凌晨 2 点出现故障时我该做的具体操作。*”
它刻意**排除**了那些被证明对个人运营者而言过于繁琐的部分:SOC2/ISO 证据收集机制、审计联络以及持续的控制认证工具。它精简了构件和关卡,而不是那些委员会会议。
## ✨ 功能说明
端到端地,该 skill 将您的安全风险计划构建并维护为三个持久且机器可校验的构件,外加一份单页摘要:
- **🗂️ 范围与资产清单** —— 扫描 repo、IaC 和依赖 manifest,以获取数据处理信号(secret 模式、DB 客户端、疑似 PII 字段、暴露端口),并运行简短的结构化访谈来生成初始资产清单。如果什么都没发现,则降级为仅使用访谈模式。
- **📊 NIST CSF 2.0 自我评估** —— 根据成熟度层级(Partial [部分] → Risk-Informed [风险知情] → Repeatable [可重复] → Adaptive [自适应]),对全部六大 Function(Govern [治理] / Identify [识别] / Protect [保护] / Detect [检测] / Respond [响应] / Recover [恢复])的高权重子类别进行评分,并附带证据或差距说明。在没有遥测数据的情况下,它会标记 `basis: self-reported` [依据:自述] 并限制层级——绝不伪造。
- **⚖️ 动态风险登记册** —— 将差距转化为具体风险,每项风险都包含**确定性**的“可能性 × 影响”严重程度、负责人、处置决策(`mitigate [缓解] / accept [接受] / transfer [转移] / avoid [规避]`)、目标状态、审查日期和状态。
- **🚨 轻量级 IR 计划** —— 一份可执行的凌晨 2 点 playbook:包含严重程度分级、上报/联系人树、法务/通知时间节点,以及针对特定场景的 runbook(强制要求:数据泄露和账户被盗),其中引用的是*真实*资产和联系人,而不是占位符。
- **🔁 重新评估循环** —— 在重新运行时,它会对之前的构件进行 diff 操作,以揭示偏差(新增/已关闭的风险、分数变化、状态更改),并**强制要求对任何超过审查日期的未决风险进行明确的重新接受**。该框架是迭代的,永远不会“完成”。
其差异化优势在于**将决策纪律持久化**:采用公认的框架,使评分有据可依而非凭直觉;机器可校验的构件会在出现孤立或逾期风险时直接*失败*;使用确定性的评分器,避免在每个会话中重新评估风险;通过 diff 循环揭示偏差。它能进行自我约束,而不是腐朽成一份被无视的电子表格。
## 📋 元数据
| 字段 | 值 |
|---|---|
| **Skill 名称** | `risk-register-csf` |
| **命令** | `/risk-register-csf` |
| **类型** | Claude Code Skill(治理 / GRC) |
| **格式** | `SKILL.md` + 引用文件 + Python 脚本 |
| **框架** | NIST CSF 2.0 |
| **许可证** | MIT |
## 📦 安装
将此 repo 克隆到您的 Claude Code skills 目录中。
**用户级别(在所有项目中均可用):**
```
git clone https://github.com/satishTheLegend/risk-register-csf.git \
~/.claude/skills/risk-register-csf
```
**项目级别(仅限当前 repo 使用):**
```
git clone https://github.com/satishTheLegend/risk-register-csf.git \
.claude/skills/risk-register-csf
```
**作为 git submodule(用于跟踪上游更新):**
```
git submodule add https://github.com/satishTheLegend/risk-register-csf.git \
.claude/skills/risk-register-csf
```
一旦安装完成,Claude Code 会自动发现该 skill——无需进一步配置。如果在安装期间会话正在运行,请重启您的会话。
## 🚀 工作原理
当 Claude 检测到您正在处理自身的安全、风险或合规状况时,该 skill 会**自动激活**——您无需显式调用它。它会根据以下触发条件进行模式匹配:
- *“风险登记册”*、*“威胁”*、*“暴露”*或*“这个系统可能会出什么问题”*
- *“我们符合 SOC2 吗?”*、*“足够安全吗?”*或准备审计/客户安全审查
- **数据泄露**、**secret 泄露**、**账户被盗**、安全事件或凌晨 2 点的宕机计划
- 明确提及 **NIST CSF**、**CSF 2.0**、**ISO 27001**,或进行成熟度/控制自我评估
- 任何定期(季度/年度)安全审查
- 存在之前的 `risk-register.yaml` / `csf-scorecard.yaml` / `ir-plan.md` 且可能已过期
您也可以使用 `/risk-register-csf` 直接调用它。
在底层,它运行一个**依赖有序、阶段受控的生命周期**,其中的关卡是由脚本的退出代码决定的——而不是由模型决定。每一次跨越都会被记录在一个只追加的 `.risk-ledger.jsonl` 中,并且在前一阶段的 `pass` 记录出现之前,不能开始下一阶段:
1. **范围与资产清单** → `scaffold_artifacts.py` + `inventory_assets.py` + 访谈
2. **CSF 2.0 自我评估** → 对每个 Function 的高权重子类别进行评分(无静默跳过)
3. **风险识别与评分** → 通过 `score_risks.py` 进行确定性的“可能性 × 影响”严重程度计算
4. **缓解与处置** → 对每个风险做出明确的决策;**不存在逾期待审查的开放风险**(防止腐朽的关卡)
5. **生成 IR 计划** → 包含真实引用的数据泄露和账户被盗 runbook(强制要求)
6. **持久化与执行摘要** → 所有构件均通过 schema 校验
7. **重新评估循环** *(可重复执行)* → `diff_assessment.py` 揭示偏差并强制重新接受
它会将针对特定威胁的深度工作(STRIDE、攻击树、数据流图)**委托**给 `threat-model-studio`,将 AI/ML 治理委托给 `ai-rmf-governor`,并**拒绝**执行 SOC2/ISO 证据收集和控制认证工作,因为其超出了范围。
## 💡 用法示例
### 从零开始建立风险计划
扫描 repo、IaC 和 manifest 以生成初始资产清单,运行结构化访谈,对全部六大 NIST CSF 2.0 Function 进行评分,推导出具有确定性严重程度和处置决策的已排序风险登记册,并生成凌晨 2 点的 IR 计划——最终为您生成 `risk-register.yaml`、`csf-scorecard.yaml`、`ir-plan.md` 以及一份单页的 `exec-summary.md`。(它会拒绝伪造 SOC2 证据——这被刻意排除在范围之外。)
### 应对 secret 泄露
遵循 IR 计划中的**账户被盗**和**数据泄露** runbook,然后将暴露情况作为一项带有评分的风险重新纳入登记册,包括负责人、处置决策和审查日期——这样一来,事件就会更新您的常态防御态势,而不是在火扑灭后就烟消云散。
### 季度重新评估
对当前的构件进行快照,运行 `diff_assessment.py` 与之前的记录进行对比,以报告新增/已关闭的风险、严重程度变化和状态更改,然后在校验关卡顺利通过(确保零逾期审查)之前,**强制要求**对每一项超过审查日期的未决风险进行重新接受(通过新的签字来延后日期,或者更改处置方式)。
## 🗂️ Skill 结构
```
risk-register-csf/
├── SKILL.md # Skill definition, lifecycle & golden rules
├── README.md # You are here
├── assets/
│ └── banner.svg # Repo banner
├── references/
│ ├── csf-2.0-functions.md # CSF 2.0 Functions, subcategories, maturity tiers, interview
│ ├── risk-scoring.md # Likelihood/impact rubrics, severity matrix, treatment tree
│ ├── ir-plan-playbook.md # Severity tiers, escalation tree, runbook templates
│ ├── overkill-boundary.md # The cargo-cult firewall: what is deliberately out of scope
│ └── artifact-schemas.md # YAML/MD schemas for every artifact and the ledger
├── scripts/
│ ├── _risklib.py # Shared helpers
│ ├── scaffold_artifacts.py # Emit empty schema-correct artifacts + ledger
│ ├── inventory_assets.py # Static-scan repo/IaC/manifests to seed assets (redacts secrets)
│ ├── score_risks.py # Deterministic likelihood × impact → severity + ranked top-N
│ ├── validate_register.py # THE gate engine: exit 0 pass / exit 1 fail; writes ledger line
│ └── diff_assessment.py # Drift report for the re-assessment loop
└── evals/
└── evals.json # Behavioral evals for the skill
```
## 📄 许可证
基于 **MIT License** 发布。详情请参阅 [`LICENSE`](https://github.com/satishTheLegend/risk-register-csf/blob/main/LICENSE)。
为 Claude Code 社区倾情制作 💜
[⬆ 返回顶部](#top)
标签:Claude Code Skill, GRC工具, NIST CSF, 安全合规, 库, 应急响应, 网络代理, 自动化模板, 逆向工具, 防御加固