david500900/cvss-exploit-evaluator

GitHub: david500900/cvss-exploit-evaluator

一款 Claude Skill,结合确定性 Python 计算器为防御性安全团队提供 CVSS v3.1/v4.0 评分、漏洞利用质量评估及多维度优先级排序和企业级报告。

Stars: 0 | Forks: 0

# CVSS & 漏洞利用评估器 **一款专业的 [Claude Skill](https://docs.claude.com),专为防御性漏洞分析设计——提供严谨的 CVSS v3.1 / v4.0 评分、客观的漏洞利用质量评估以及企业级报告,并由确定性的 Python 计算器提供支持。** ![License: MIT](https://img.shields.io/badge/license-MIT-green.svg) ![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg) ![Claude Skill](https://img.shields.io/badge/Claude-Skill-8A2BE2.svg) ![Tests](https://img.shields.io/badge/tests-19%20passing-brightgreen.svg) ![Status](https://img.shields.io/badge/status-maintained-brightgreen.svg) ![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg) ## 为什么需要此项目 大多数 CVSS 工具仅仅给出一个数字就戛然而止。真正的漏洞分类需要更多信息:*为什么*选择每个指标、真实的漏洞利用代码究竟质量如何(这**不是** CVSS 分数)、被利用的可能性有多大(EPSS)、是否已经在发生(CISA KEV)、首先该做什么,以及如何防御和检测它——所有这些信息的不确定性都应明确表达,而不是被隐藏。 此技能将 Claude 转变为一名漏洞分析师,能够呈现完整的全貌,并结合**确定性计算器**,确保分数是通过计算得出的,绝非凭空猜测。 ## 功能特性 ✅ CVSS **v3.1** 评分(基础 / 时间 / 环境) ✅ CVSS **v4.0** 评分(基础 / 威胁 / 环境,包括后续系统影响) ✅ **漏洞利用质量**评估——可利用性与武器化对比,五级量表 ✅ **EPSS**、**CISA KEV** 和 **SSVC** 优先级排序(作为独立的视角保留) ✅ **CWE** 和 **MITRE ATT&CK** 交叉引用(带有防伪造护栏) ✅ **修复指南**——CWE → 开发者安全编码修复 (`--remediate`) ✅ **证据表**、假设记录、矛盾检测、置信度评分 ✅ **确定性 Python 计算器**——8 种模式,提供无依赖回退方案 ✅ **应急响应**——攻击图、缓解矩阵、检测、IOCs、时间线 ✅ 针对已知向量进行了**回归测试** 专为**蓝队、漏洞管理和威胁情报**工作流设计——同时也可作为 Claude Skill 作者的参考实现。 ## 架构 ``` User query (CVE / description / vector) | v Claude Skill (SKILL.md) | +------------+------------+ | | v v Python calculator Reference library (scripts/cvss_calc.py) (references/*.md) | | +------------+------------+ | v Evidence-based analysis | v Report: CVSS + exploit + prioritization + response ``` 参见 [`assets/architecture.svg`](assets/architecture.svg) 和 [`docs/architecture.md`](docs/architecture.md)。 ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/cas/55/553ec0779f18807984eca35f09b4182e0ee0eeb24e623a3167a689b1044652ec.svg) ## 输出示例(节选) **执行摘要** — Apache Log4j 2 中存在最高严重性(CVSS 10.0)的无需认证的远程代码执行漏洞,通过让应用程序记录特制字符串触发。数小时内即被武器化,遭大规模利用,并已列入 CISA KEV。立即打补丁,然后排查是否已有先前的入侵。 **CVSS** — `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H` → **10.0(严重)**(已计算)。 **漏洞利用** — 可利用性:*极好* · 武器化:*极好* · 确定性漏洞类别,即插即用,野外活跃。 **优先级排序** — CVSS 10.0 · EPSS:历史接近最高值*(需验证实时数据)* · KEV:已列出*(需验证)* · SSVC:**执行**。 完整的详细报告:[`examples/log4shell-CVE-2021-44228.md`](examples/log4shell-CVE-2021-44228.md)。另有十份详细的 CVE 报告位于 [`examples/`](examples/)。 ## 仓库结构 ``` cvss-exploit-evaluator/ ├── README.md ← you are here ├── LICENSE ← MIT ├── CHANGELOG.md ← version history ├── CONTRIBUTING.md ← how to contribute ├── CODE_OF_CONDUCT.md ├── SECURITY.md ← reporting + disclosure policy ├── ROADMAP.md ← planned work ├── REFERENCES.md ← authoritative sources / attribution ├── SKILL.md ← the Claude Skill (entry point) ├── references/ ← 9 deep-dive analyst references ├── scripts/ │ └── cvss_calc.py ← deterministic CVSS calculator (8 modes) ├── examples/ ← 10 worked CVE reports ├── tests/ ← regression suite + golden vectors ├── docs/ ← architecture, workflow, FAQ, limitations, philosophy, API ├── assets/ ← diagrams (SVG) └── .github/ ← CI, issue templates, PR template ``` ## 安装 **作为 Claude Skill** — 通过您的 Claude Skills 界面上传打包的 `.skill`(或此仓库的 `SKILL.md` + `references/` + `scripts/`)。请参阅 [`docs/workflow.md`](docs/workflow.md)。 **计算器(独立运行):** ``` git clone https://github.com/david500900/cvss-exploit-evaluator.git cd cvss-exploit-evaluator pip install cvss # for v4.0 + temporal/environmental (v3.1 base works without it) python3 scripts/cvss_calc.py "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H" ``` 需要 Python 3.8+。`cvss` 库(Red Hat Product Security)是唯一的运行时依赖,计算器会在可能的情况下自动安装它;如果不可用,无依赖回退方案可支持 v3.1 基础评分。 ## 用法 — 计算器模式 ``` python3 scripts/cvss_calc.py "" # full score + severity python3 scripts/cvss_calc.py --json "" # machine-readable python3 scripts/cvss_calc.py --compare "" "" # side-by-side + delta python3 scripts/cvss_calc.py --sensitivity "" # most influential metric python3 scripts/cvss_calc.py --check "" --claims "unauth,remote,rce" # consistency python3 scripts/cvss_calc.py --explain "" # plain-English metric breakdown python3 scripts/cvss_calc.py --remediate CWE-502 # secure-coding fix guidance python3 scripts/cvss_calc.py --vector "AV:N/..." # prefix auto-added (convenience) python3 scripts/cvss_calc.py --version # reproducibility metadata python3 scripts/cvss_calc.py --batch vectors.txt # triage table, sorted ``` 完整的 CLI 参考:[`docs/api.md`](docs/api.md)。 ![计算器敏感性输出](https://static.pigsec.cn/wp-content/uploads/repos/cas/a9/a9be6a00f49ab673bc964be4b457ef7f5024ea509c2f990b836d8161354d9b00.svg) ## 开发者体验 您无需手动编写 CVSS 向量。**该技能是自然语言 层**:描述问题——*“我在一个 Flask 路由中使用了 `pickle.loads(user_input)`,这有多严重,我该如何修复?”*——Claude 会构建向量, 进行评分, 并提供修复建议。Python CLI 是底层的确定性引擎, 用于自动化和 CI。 - **可操作性:** `--remediate CWE-502`(或像 `deserialization` 这样的关键字) 返回具体的安全编码修复方案——例如,不要用 `pickle` 反序列化不受信任的数据;使用带 schema 验证的 JSON(pydantic/marshmallow);如果 必须使用复杂格式,请对 payload 进行签名。这是用于验证的通用指南,而非保证的 修复,并且它绝不伪造库版本,也不会从分数推断 CWE。 - **低阻力:** CLI 接受 `--vector "AV:N/..."` 以及不带 `CVSS:3.1/` 前缀的纯向量(它会自动添加 3.1 并予以提示)。 - **可选依赖,而非无依赖:** v3.1 **基础**评分无需任何 第三方依赖(内置回退);v4.0、时间和环境评分使用 `cvss` 库。不会向任何第三方服务发送任何数据——分析均在 本地进行。 ## 测试与基准测试 ``` pip install cvss python3 -m unittest discover -s tests -v ``` **当前结果:** 19 个测试,**12 个黄金向量,全部通过,0 个计算器错误。** 客观范围:这些测试验证了计算器**能够重现参考的 CVSS v3.1/v4.0 分数**(通过符合 FIRST 标准的 `cvss` 库),并且每种 CLI 模式均表现正常。它们**不**声称与任何特定的 NVD 分析师记录完全一致——分析师评分涉及主观判断,且该技能明确指出了理性分析师可能产生分歧的地方。请参阅 [`tests/README.md`](tests/README.md)。 ## 对比分析 | 功能 | 此技能 | 基础 CVSS 计算器 | |------------|:----------:|:---------------------:| | CVSS v3.1 | ✅ | ✅ | | CVSS v4.0 | ✅ | ⚠️ 有时支持 | | 时间 / 环境 | ✅ | ⚠️ 有时支持 | | 漏洞利用质量评级 | ✅ | ❌ | | EPSS / KEV / SSVC 上下文 | ✅ | ❌ | | CWE / ATT&CK 映射 | ✅ | ❌ | | 修复 / 解决指南 | ✅ | ❌ | | 证据表 + 假设 | ✅ | ❌ | | 一致性与敏感性工具 | ✅ | ❌ | | 攻击图 / 缓解 / 检测 / IOCs | ✅ | ❌ | | 明确的不确定性处理 | ✅ | ❌ | ## 局限性 - 不能替代实际操作验证——**现实世界中的可利用性、补丁状态、KEV 成员资格和 EPSS 都会发生变化**,必须根据主要来源进行核实。 - v4.0 以及时间/环境评分在计算器运行时需要 `cvss` 库。 - 对于请求中未提供的信息,该技能依赖于截至其训练截止日期的模型知识;**必须重新核查当前事件和实时信号(KEV/EPSS)**。 - CWE/ATT&CK ID 和产品检测声明会被标记为**需验证,切勿伪造**——该技能不会捏造标识符,也不会断言特定产品能检测到特定 CVE。 完整详情:[`docs/limitations.md`](docs/limitations.md)。 ## 理念 宁要诚实不要虚假自信;重证据轻直觉;并在*严重程度*(CVSS)、*可利用性*(漏洞利用)和*可能性/优先级*(EPSS/KEV/SSVC)之间划定严格的界限——绝不将其混淆为一个具有误导性的数字。请参阅 [`docs/design-philosophy.md`](docs/design-philosophy.md)。 ## 路线图 · 贡献 · 参考 - 计划工作 → [`ROADMAP.md`](ROADMAP.md) - 如何贡献 → [`CONTRIBUTING.md`](CONTRIBUTING.md) · [`SECURITY.md`](SECURITY.md) · [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) - 权威来源 / 归属 → [`REFERENCES.md`](REFERENCES.md) ## 许可证 [MIT](LICENSE)。不附属于或受 FIRST、MITRE、CISA 或 Anthropic 认可;这些名称指代其各自的标准/组织,仅用于互操作性和归属说明。 **建议的 GitHub 主题:** `cvss` · `cybersecurity` · `claude` · `anthropic` · `blue-team` · `vulnerability-management` · `security` · `prompt-engineering` · `ai` · `defensive-security`
标签:AI助手, CVSS评估, Python, 大语言模型插件, 威胁优先级评估, 无后门, 漏洞分析, 路径探测, 逆向工具