kston83/cvss-te
GitHub: kston83/cvss-te
基于多源威胁情报增强CVSS评分的漏洞优先级排序系统,通过引入漏洞利用成熟度和质量指标提供更贴近真实威胁的风险评级。
Stars: 14 | Forks: 2
# CVSS-TE:威胁增强型漏洞评分系统
感谢本工具的原作者 [cvss-bt](https://github.com/t0sche/cvss-bt)
## 概述
通用漏洞评分系统 (CVSS) 是评估安全漏洞严重程度的行业标准。虽然国家漏洞数据库 (NVD) 提供了 CVSS 基础分,但仅凭这些分数不足以有效地进行漏洞优先级排序。
本仓库通过两种互补的方法增强漏洞评分:
1. **CVSS-BT (基础 + 时间)**:利用官方 CVSS 规范,通过引入利用代码成熟度/可利用性 (E) 时间指标来丰富标准 CVSS 分数。
2. **CVSS-TE (威胁增强)**:一种高级评分系统,通过纳入详细的漏洞利用质量指标和额外的威胁情报背景,在 CVSS-BT 的基础上进行了扩展。
## 交互式 Web 应用程序

**在线 Web 界面**:[CVSS-TE 威胁情报仪表板](https://kston83.github.io/cvss-te/)
CVSS-TE Web 应用程序提供了一个综合性的威胁情报平台,包含两个主要界面:
### 威胁情报仪表板(着陆页)
该仪表板通过三个优先级关注部分,提供对当前威胁态势的即时可见性:
- **CISA 已知被利用漏洞**:显示最近添加到 CISA KEV 目录中的漏洞,按官方添加日期排序。这些代表联邦机构的强制修补要求以及经确认在野外被利用的关键威胁。
- **最近发布的漏洞**:显示过去 7、14 或 30 天内新发布的 CVE,在漏洞被利用之前提供对新出现的漏洞的早期感知。
- **新出现的威胁**:识别表现出利用信号的近期漏洞(过去 30-90 天),包括 EPSS 分数高于 30%、存在公开利用代码(Metasploit、ExploitDB、Nuclei、GitHub PoC)或 CISA KEV 状态。此部分突出了构成直接风险的新漏洞。
仪表板自动使用官方 CISA KEV 信息丰富数据,包括每个漏洞被添加到目录的日期、补救截止日期以及已知的勒索软件活动使用情况。KEV 数据从 CISA 的实时 JSON 源获取,并在本地缓存 24 小时,以确保信息最新,同时保持性能。
### CVE 查询工具
用于详细漏洞分析的专用搜索界面:
- 按 CVE ID 搜索和筛选漏洞
- 按多种标准排序(CVSS-TE 分数、EPSS、发布日期)
- 按严重程度级别筛选(严重、高、中、低)
- 详细的漏洞洞察与评分比较
- 威胁指标可视化(利用代码可用性、KEV 状态)
- 将结果导出为 CSV 以供进一步分析
- 直接 URL 链接,用于共享特定的 CVE 搜索
### 关键特性
- **增强型 CVE 卡片**:显示带有清晰标签的 CVSS-TE 和基础分、漏洞描述、EPSS 分数、供应商信息和威胁指标
- **实时 KEV 丰富**:自动获取并合并官方 CISA KEV 目录数据,包括添加日期、截止日期和勒索软件使用指标
- **可排序部分**:所有仪表板部分均支持按 CVSS-TE 分数、发布日期或 EPSS 分数排序
- **响应式设计**:在台式机、平板电脑和移动设备上均可完美运行
- **无需后端**:纯客户端应用程序,数据从静态 CSV 文件加载
- **注重隐私**:极少量的分析,无用户跟踪,所有处理均在本地完成
## 数据来源
本仓库基于多个威胁情报来源持续丰富并发布漏洞评分:
- [CISA 已知被利用漏洞 (KEV) 目录](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
- [VulnCheck KEV](https://vulncheck.com/kev)
- [EPSS (利用预测评分系统)](https://www.first.org/epss/)
- [Metasploit Framework](https://www.metasploit.com/)
- [Nuclei Templates](https://github.com/projectdiscovery/nuclei-templates)
- [Exploit DB](https://www.exploit-db.com/)
- [PoC-in-GitHub](https://github.com/nomi-sec/PoC-in-GitHub)
## CVSS-BT 评分逻辑
### 时间指标 - 利用代码成熟度/可利用性 (E)
CVSS-BT 分数根据可用的威胁情报纳入利用代码成熟度/可利用性 (E) 时间指标。该指标使用优先决策树对漏洞进行分类:
| 数值 | 描述 | 分配条件 |
|-------|-------------|---------------|
| **Attacked (A)** (CVSS 4.0) | 漏洞已在野外遭到攻击验证或存在广泛可用的利用解决方案 | • 在 CISA KEV 或 VulnCheck KEV 中发现
• EPSS 分数 ≥ 0.36
• 拥有 Metasploit 模块(针对 CVSS 4.0) | | **High (H)** (CVSS 2.0/3.0/3.1) | 存在可靠利用的功能性自主代码 | • 在 CISA KEV 或 VulnCheck KEV 中发现
• EPSS 分数 ≥ 0.36
• 高质量 Metasploit 模块(质量分 ≥ 0.8) | | **Functional (F)** (CVSS 2.0/3.0/3.1) | 存在在大多数情况下有效的功能性利用代码 | • 拥有 Metasploit 模块(质量分 < 0.8)
• 拥有 Nuclei 模板
• 多个高质量 PoC(质量分 ≥ 0.8 且有多个来源) | | **Proof-of-Concept (P)** (CVSS 3.0/3.1/4.0) | 概念验证利用代码可用,但可能并非在所有情况下都有效 | • 在 ExploitDB 中发现
• 拥有 GitHub PoC | | **Unproven (U)** / **Unreported (U)** | 无可用利用代码,或利用仅存在于理论中 | • 不存在于上述任何威胁情报来源中 | ### EPSS 阈值说明 0.36 (36%) 的 EPSS 阈值基于 EPSS v3 模型的 F1 分数。在大约 37% 时,CVE 极有可能存在武器化的利用代码。此阈值被用作“高”或“已攻击”利用成熟度指定的信号。 ## CVSS-TE 评分逻辑 CVSS-TE 分数在 CVSS-BT 方法的基础上构建,通过纳入额外的维度: 1. **基础 CVSS-BT 分数**:以已考虑利用成熟度的时间分数为起点 2. **利用质量指标**:评估可用利用的可靠性、易用性和有效性 3. **威胁情报背景**:纳入额外的威胁态势因素 ### 利用质量评估 每个利用来源根据三个关键指标进行评估: | 来源 | 可靠性 | 易用性 | 有效性 | |--------|------------|-------------|---------------| | Metasploit | 0.9 | 0.8 | 0.85 | | ExploitDB | 0.7 | 0.6 | 0.7 | | Nuclei | 0.8 | 0.9 | 0.75 | | GitHub PoC | 0.5 | 0.4 | 0.6 | | CISA KEV | 0.95 | 0.7 | 0.9 | | VulnCheck KEV | 0.9 | 0.7 | 0.85 | 对于 Metasploit 利用,我们在可用时通过结合模块元数据中的实际可靠性和排名信息,进一步细化可靠性评级。 整体质量分使用加权方法计算: - 70% 的权重分配给质量最高的利用 - 30% 的权重分配给其余利用来源的平均值 这可以防止高质量的武器化利用被低质量的概念验证利用稀释。 三个质量维度的最终权重为: - 可靠性(40% 权重) - 易用性(30% 权重) - 有效性(30% 权重) ### CVSS-TE 计算 CVSS-TE 分数使用以下公式计算: `CVSS-TE = min(10, CVSS-BT_Score * Quality_Multiplier + Threat_Intel_Factor - Time_Decay)` 其中: **质量乘数**:基于利用质量,范围在 0.8-1.2 之间 - 对于已被利用的漏洞:0.8 + (quality_score * 0.4) - 对于 EPSS < 0.36 且未被利用的漏洞:0.95(因缺乏利用证据而轻微惩罚) - 对于 EPSS ≥ 0.36 且未被利用的漏洞:1.0 - 范围:质量较差的利用接近 0.8(降低基础严重性),高质量的利用高达 1.2(增加基础严重性) **威胁情报因子**:基于额外的威胁情报增加 0-2 分 - 存在于 CISA KEV:+1.0 - 存在于 VulnCheck KEV(如果不在 CISA KEV 中):+0.8 - 高 EPSS 分数(≥ 0.5):+0.5 - 中等 EPSS 分数(≥ 0.36):+0.25 - 如果同时存在 KEV 和高 EPSS,则使用最大值而不是相加 - 利用来源数量: - 5 个或更多利用来源:+0.75 - 3-4 个利用来源:+0.5 - 2 个利用来源:+0.25 - 0-1 个利用来源:+0.0 **时间衰减**:针对较旧的、未被利用的漏洞降低分数 - 对于超过 5 年且无利用的漏洞:min(0.2, (years_since_pub - 5) * 0.04) - 对于非常旧的漏洞,最大降幅为 0.2 分 - 对于少于 5 年的漏洞不降低分数 ### CVSS-TE 严重性级别 | CVSS-TE 分数 | 严重性级别 | |---------------|----------------| | 9.0 - 10.0 | 严重 (CRITICAL) | | 7.0 - 8.9 | 高 (HIGH) | | 4.0 - 6.9 | 中 (MEDIUM) | | 0.1 - 3.9 | 低 (LOW) | | 0.0 | 无 (NONE) | ## 当不存在威胁情报时的默认行为 当漏洞没有任何外部威胁情报来源的数据时: **对于 CVSS-BT**: - 利用代码成熟度值默认为“未证实”(E:U) 或“未报告”(E:U)(针对 CVSS 4.0) - 这通常会导致时间分数低于基础分 - 对于 CVSS 3.0/3.1,E:U 值对基础分应用 0.91 的乘数 - 对于 CVSS 4.0,E:U 值应用类似的缩减 **对于 CVSS-TE**: - 对于低 EPSS,质量乘数默认为 0.95,对于高 EPSS 默认为 1.0(因为没有可供评估的利用) - 威胁情报因子为 0.0(没有需要考虑的情报信号) - 对于较旧的漏洞,可能会应用时间衰减因子 ## 实际应用 CVSS-TE 的一个关键优势在于它能够通过提供更准确的威胁背景来减少漏洞管理中的噪音: 1. **减少误报**:具有高基础分但在野外未被利用的漏洞会被适当降级 2. **突显真实威胁**:正在被积极利用的漏洞得到适当的优先处理 3. **情境化漏洞源**:帮助安全团队从海量的 CVE 中进行筛选 ## 示例解读 ### 示例 1:减少噪音 **基础分为 9.1 的 CVE** - CVSS-BT 分数:7.3 (高) - CVSS-TE 分数:6.8 (中) - 展示了对利用证据有限的漏洞进行降级处理 ### 示例 2:突显真实威胁 **基础分为 7.5 的 CVE** - CVSS-BT 分数:6.5 (中) - CVSS-TE 分数:8.3 (高) - 显示了对具有高质量利用和活跃威胁的漏洞提升评分 ### 示例 3:明确风险级别 **基础分为 5.5 的 CVE** - CVSS-BT 分数:5.5 (中) - CVSS-TE 分数:7.8 (高) - 突出了具有重大现实世界威胁潜力的漏洞 ## 注意事项与考量 - CVSS-TE 是一种自定义的漏洞优先级排序方法 - 利用质量指标基于经验观察 - 评分应与其他背景因素一并考虑 ## 标准合规性 兼容: - CVSS 2.0 - CVSS 3.0 - CVSS 3.1 - CVSS 4.0 ## 致谢 本产品使用 VulnCheck KEV 和 EPSS 分数,但未得到 EPSS SIG 或 VulnCheck的认可或认证。
• EPSS 分数 ≥ 0.36
• 拥有 Metasploit 模块(针对 CVSS 4.0) | | **High (H)** (CVSS 2.0/3.0/3.1) | 存在可靠利用的功能性自主代码 | • 在 CISA KEV 或 VulnCheck KEV 中发现
• EPSS 分数 ≥ 0.36
• 高质量 Metasploit 模块(质量分 ≥ 0.8) | | **Functional (F)** (CVSS 2.0/3.0/3.1) | 存在在大多数情况下有效的功能性利用代码 | • 拥有 Metasploit 模块(质量分 < 0.8)
• 拥有 Nuclei 模板
• 多个高质量 PoC(质量分 ≥ 0.8 且有多个来源) | | **Proof-of-Concept (P)** (CVSS 3.0/3.1/4.0) | 概念验证利用代码可用,但可能并非在所有情况下都有效 | • 在 ExploitDB 中发现
• 拥有 GitHub PoC | | **Unproven (U)** / **Unreported (U)** | 无可用利用代码,或利用仅存在于理论中 | • 不存在于上述任何威胁情报来源中 | ### EPSS 阈值说明 0.36 (36%) 的 EPSS 阈值基于 EPSS v3 模型的 F1 分数。在大约 37% 时,CVE 极有可能存在武器化的利用代码。此阈值被用作“高”或“已攻击”利用成熟度指定的信号。 ## CVSS-TE 评分逻辑 CVSS-TE 分数在 CVSS-BT 方法的基础上构建,通过纳入额外的维度: 1. **基础 CVSS-BT 分数**:以已考虑利用成熟度的时间分数为起点 2. **利用质量指标**:评估可用利用的可靠性、易用性和有效性 3. **威胁情报背景**:纳入额外的威胁态势因素 ### 利用质量评估 每个利用来源根据三个关键指标进行评估: | 来源 | 可靠性 | 易用性 | 有效性 | |--------|------------|-------------|---------------| | Metasploit | 0.9 | 0.8 | 0.85 | | ExploitDB | 0.7 | 0.6 | 0.7 | | Nuclei | 0.8 | 0.9 | 0.75 | | GitHub PoC | 0.5 | 0.4 | 0.6 | | CISA KEV | 0.95 | 0.7 | 0.9 | | VulnCheck KEV | 0.9 | 0.7 | 0.85 | 对于 Metasploit 利用,我们在可用时通过结合模块元数据中的实际可靠性和排名信息,进一步细化可靠性评级。 整体质量分使用加权方法计算: - 70% 的权重分配给质量最高的利用 - 30% 的权重分配给其余利用来源的平均值 这可以防止高质量的武器化利用被低质量的概念验证利用稀释。 三个质量维度的最终权重为: - 可靠性(40% 权重) - 易用性(30% 权重) - 有效性(30% 权重) ### CVSS-TE 计算 CVSS-TE 分数使用以下公式计算: `CVSS-TE = min(10, CVSS-BT_Score * Quality_Multiplier + Threat_Intel_Factor - Time_Decay)` 其中: **质量乘数**:基于利用质量,范围在 0.8-1.2 之间 - 对于已被利用的漏洞:0.8 + (quality_score * 0.4) - 对于 EPSS < 0.36 且未被利用的漏洞:0.95(因缺乏利用证据而轻微惩罚) - 对于 EPSS ≥ 0.36 且未被利用的漏洞:1.0 - 范围:质量较差的利用接近 0.8(降低基础严重性),高质量的利用高达 1.2(增加基础严重性) **威胁情报因子**:基于额外的威胁情报增加 0-2 分 - 存在于 CISA KEV:+1.0 - 存在于 VulnCheck KEV(如果不在 CISA KEV 中):+0.8 - 高 EPSS 分数(≥ 0.5):+0.5 - 中等 EPSS 分数(≥ 0.36):+0.25 - 如果同时存在 KEV 和高 EPSS,则使用最大值而不是相加 - 利用来源数量: - 5 个或更多利用来源:+0.75 - 3-4 个利用来源:+0.5 - 2 个利用来源:+0.25 - 0-1 个利用来源:+0.0 **时间衰减**:针对较旧的、未被利用的漏洞降低分数 - 对于超过 5 年且无利用的漏洞:min(0.2, (years_since_pub - 5) * 0.04) - 对于非常旧的漏洞,最大降幅为 0.2 分 - 对于少于 5 年的漏洞不降低分数 ### CVSS-TE 严重性级别 | CVSS-TE 分数 | 严重性级别 | |---------------|----------------| | 9.0 - 10.0 | 严重 (CRITICAL) | | 7.0 - 8.9 | 高 (HIGH) | | 4.0 - 6.9 | 中 (MEDIUM) | | 0.1 - 3.9 | 低 (LOW) | | 0.0 | 无 (NONE) | ## 当不存在威胁情报时的默认行为 当漏洞没有任何外部威胁情报来源的数据时: **对于 CVSS-BT**: - 利用代码成熟度值默认为“未证实”(E:U) 或“未报告”(E:U)(针对 CVSS 4.0) - 这通常会导致时间分数低于基础分 - 对于 CVSS 3.0/3.1,E:U 值对基础分应用 0.91 的乘数 - 对于 CVSS 4.0,E:U 值应用类似的缩减 **对于 CVSS-TE**: - 对于低 EPSS,质量乘数默认为 0.95,对于高 EPSS 默认为 1.0(因为没有可供评估的利用) - 威胁情报因子为 0.0(没有需要考虑的情报信号) - 对于较旧的漏洞,可能会应用时间衰减因子 ## 实际应用 CVSS-TE 的一个关键优势在于它能够通过提供更准确的威胁背景来减少漏洞管理中的噪音: 1. **减少误报**:具有高基础分但在野外未被利用的漏洞会被适当降级 2. **突显真实威胁**:正在被积极利用的漏洞得到适当的优先处理 3. **情境化漏洞源**:帮助安全团队从海量的 CVE 中进行筛选 ## 示例解读 ### 示例 1:减少噪音 **基础分为 9.1 的 CVE** - CVSS-BT 分数:7.3 (高) - CVSS-TE 分数:6.8 (中) - 展示了对利用证据有限的漏洞进行降级处理 ### 示例 2:突显真实威胁 **基础分为 7.5 的 CVE** - CVSS-BT 分数:6.5 (中) - CVSS-TE 分数:8.3 (高) - 显示了对具有高质量利用和活跃威胁的漏洞提升评分 ### 示例 3:明确风险级别 **基础分为 5.5 的 CVE** - CVSS-BT 分数:5.5 (中) - CVSS-TE 分数:7.8 (高) - 突出了具有重大现实世界威胁潜力的漏洞 ## 注意事项与考量 - CVSS-TE 是一种自定义的漏洞优先级排序方法 - 利用质量指标基于经验观察 - 评分应与其他背景因素一并考虑 ## 标准合规性 兼容: - CVSS 2.0 - CVSS 3.0 - CVSS 3.1 - CVSS 4.0 ## 致谢 本产品使用 VulnCheck KEV 和 EPSS 分数,但未得到 EPSS SIG 或 VulnCheck的认可或认证。
标签:CISA KEV, CISA项目, CVE, CVSS, DFIR, EPSS, GPT, 多模态安全, 威胁增强, 威胁情报, 安全仪表板, 安全运营, 密码管理, 开发者工具, 扫描框架, 数字签名, 数据可视化, 漏洞优先级, 漏洞管理, 漏洞评分, 结构化查询, 网络安全, 自动化安全, 自定义脚本, 配置审计, 隐私保护