novadyne-hq/epss-cve-feed
GitHub: novadyne-hq/epss-cve-feed
一个基于 EPSS 漏洞利用概率对开源依赖项 CVE 进行实时排序的免费机器可读数据源,帮助安全团队优先处理真正高利用风险的漏洞。
Stars: 0 | Forks: 0
# epss-cve-feed
一个小巧、无依赖的工具,用于生成**机器可读的知名开源依赖项 CVE 数据流,并根据实时的 [EPSS](https://www.first.org/epss/) 漏洞利用概率进行排序**。
对于它获取的每个 CVE,它会在运行时获取:
- 来自 **FIRST.org** 的 **EPSS** 漏洞利用概率 + 百分位(每日重新计算),以及
- 来自 **OSV.dev** 的 **CVSS** 向量,
然后生成一份按 EPSS 排序的 JSON 文档([`epss-top-cves.json`](epss-top-cves.json)),以及可选的 Markdown 表格([`FEED.md`](FEED.md))。
EPSS 回答了 CVSS 无法回答的问题:*在所有存在漏洞的组件中,哪些在接下来的 30 天内真正有可能被利用?* 根据 EPSS 对依赖项积压工作进行排序,是一种低成本、高信噪比的分流方法。
种子列表([`cves.json`](cves.json))经过精心筛选,包含高搜索量的依赖项 CVE,其生态系统和修复版本是稳定的历史事实;只有 EPSS/CVSS 数据是实时拉取的,因此随着漏洞利用概率的变动,重新运行会刷新排序。
## 快速开始
```
python3 epss_cve_feed.py # writes epss-top-cves.json
python3 epss_cve_feed.py --markdown FEED.md # also emit a Markdown ranking table
python3 epss_cve_feed.py --input my-cves.json --output my-feed.json
```
纯 Python 标准库 —— 无需 `pip install`。需要对 `api.first.org` 和 `api.osv.dev` 的出站 HTTPS 访问权限。
## 数据流 schema
`epss-top-cves.json` 中的每个条目:
```
{
"rank": 1,
"id": "CVE-2021-44228",
"name": "Log4Shell",
"package": "org.apache.logging.log4j:log4j-core",
"ecosystem": "Maven",
"kind": "Remote Code Execution (JNDI/LDAP lookup injection)",
"description": "A crafted string logged by a vulnerable Log4j 2 version ...",
"severity": "Critical",
"cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"epss": 0.99999,
"epss_percentile": 1.0,
"epss_date": "2026-07-08",
"fixed": "2.17.1 (2.15.0 first patched the RCE)",
"reference": "https://osv.dev/vulnerability/CVE-2021-44228"
}
```
当前排名位于 [`FEED.md`](FEED.md) 中(由 CI 每日重新生成)。
## 添加 CVE
向 `cves.json` 添加一个条目:
```
{
"id": "CVE-2025-3248",
"name": "Langflow code-validation RCE",
"ecosystem": "PyPI",
"package": "langflow",
"fixed": "1.3.0",
"kind": "Unauthenticated Remote Code Execution (code injection)",
"what": "One or two sentences of stable context about the vulnerability and fix."
}
```
`epss`、`cvss`、`severity` 和 EPSS 日期将实时填充 —— 请勿硬编码。
## 托管版本
此数据流的持续更新、人类可读版本已发布 —— 包含每个 CVE 的解答页面以及标记了 `schema.org/Dataset` 的参考页面 —— 地址如下:
- **数据流页面:**
- **JSON endpoint:**
两者均为免费、无需密钥,并在注明出处的前提下可自由引用。它们由 **[VulnFeed](https://vulnfeed.novadyne.ai)** 生成 —— 这是一款免费、免注册的安全扫描工具,可读取您的 lockfile 并按 EPSS 对*您的*依赖项中的 CVE 进行排序。它还可以作为 MCP server 在 Claude Code (`uvx vulnfeed-mcp`) 内运行,因此您只需问*“扫描此项目的漏洞。”*
## 数据与归属
- **EPSS** 漏洞利用概率得分 © [FIRST.org](https://www.first.org/epss/),每日重新计算,在开放的 EPSS 许可下使用。
- 来自 [OSV.dev](https://osv.dev) 和国家漏洞数据库的 **CVSS** 向量及 CVE 元数据(公开数据)。
此编译后的排序可免费使用,并在注明出处(*VulnFeed by Novadyne*,)的情况下引用。代码请参见 [LICENSE](LICENSE)。
## 许可证
代码采用 [MIT](LICENSE) 许可证。底层的 EPSS/CVSS/CVE 数据受其各自来源的许可证约束(如上所述)。
标签:CVE, EPSS, GPT, Homebrew安装, Python, 依赖安全, 安全态势感知, 数字签名, 无后门, 漏洞管理, 逆向工具, 防御加固