XK-LAB // CVE 每日速递 CVE-DIGEST
● 每日快照(不是实时)· 读不到就写读不到
这是每日快照,不是实时:抓取时刻 读不到。 数据只有两个来源,页面自己不编也不补 —— CISA KEV(在野已被利用的漏洞清单)+ NVD(当日 CVSSv3 HIGH)。 每张卡里的文字都是官方字段原样照抄:缺字段就写「官方未给出」,不推测版本、不推测影响范围; 某个源这次没抓到,那一块就整块写「读不到(原因)—— 不补数」,不会把它渲染成「今天没有」。
抓取时刻 generatedAt读不到快照时间,不是实时
快照目标日 targetDay读不到KEV 的「今日」按这一天的 dateAdded 算
今日新增 KEV读取中dateAdded == targetDay
近 7 天 KEV / 今日 NVD HIGH读取中近 7 天最多 40 条;NVD 最多 1 页 50 条
今日新增 KEV读取中
正在读 /data/cve-digest.json …
最近 7 天 KEV读取中
正在读 /data/cve-digest.json …
今日高危(NVD)读取中
正在读 /data/cve-digest.json …
数据源与口径先看这块,再看数字
| 数据源 | URL(官方原始地址) | 这次的状态 |
|---|---|---|
| CISA KEV 在野已被利用的漏洞清单 | https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json | 读取中 |
| NVD CVE API 2.0 当日 CVSSv3 HIGH | https://services.nvd.nist.gov/rest/json/cves/2.0 | 读取中 |
- 抓取时刻:读不到 —— 就是快照里
generatedAt的原文(+08:00)。 读不到时这里写「读不到」,不拿你打开这一页的时间冒充。 - 限速:NVD 在没有 API key 时按 5 次 / 30 秒 限流,所以脚本只发 1 次请求、
取
resultsPerPage=50的一页;遇到 429/503 最多等 7 秒重试 1 次,仍失败就记ok:false并照抄错误原文。CISA KEV 是一个整包 JSON(这次 - 条),一次取完。 - 为什么不是实时:这是静态站。抓取发生在构建前,页面打开读的是同一份
/data/cve-digest.json;要更新得重跑scripts/cve/fetch-cve.py再重新构建发布。 所以「今日」指的是快照那一天(读不到),不是你刷新页面的此刻。 - KEV 口径:
kevNew=dateAdded等于快照目标日的条目;kevRecent7d= 目标日往前 7 天(含当天)、按dateAdded倒序、最多 40 条。 KEV 官方多在美东工作日更新,周末/节假日没有新增是正常的「没有」,与「抓取失败」是两件事。 - NVD 口径:
pubStartDate= 当天 00:00Z、pubEndDate= 抓取时刻, 只保留cvssV3Severity=HIGH的一页。它是当日新增且被打到 HIGH 的那部分, 不是「全网高危全量」,也不是 CVSS 排行榜。 - 字段口径:卡片与表格只照抄 JSON 里有的字段;
shortDescription在抓取时截到 240 字符,所以描述可能被截断 —— 要看全文,点 CVE 号去 NVD。
产物:static/data/cve-digest.json ← scripts/cve/fetch-cve.py
(Python 3 stdlib,无第三方依赖)· 抓取器支持
--dry-run / --date YYYY-MM-DD(补跑)/ --out / --timeout。
相关页面:主页 ·
这个站在干什么 ·
公开端点清单 ·
状态页