跳到正文
>_ITDITDWeb 安全平台

术语表

什么是 CVE — 给漏洞编上“统一编号”的机制

CVE(Common Vulnerabilities and Exposures,通用漏洞披露)是为全球发现的漏洞分配唯一编号(例如 CVE-2025-12345)的通用台账。它让所有人都能用同一个名字称呼同一个漏洞,是采取对策的起点。本文用图表通俗讲解:编号怎么读、CVE 与 CVSS 与 KEV 在职责上的区别、从分配编号到修复的流程,以及个人开发者现实可行的追踪方法(机器监控)。

发布于 2026-06-07 更新于 2026-06-07 2 分钟阅读

「CVE-2021-44228」「CVE-2017-5638」——这正是重大事故新闻里必定出现的那串编号的真面目。从机制讲起,一直讲到个人开发者现实可行的追踪方法,从零开始解说。

编号怎么读

CVE 编号由 3 个部分构成。编号本身不含严重程度的含义(严重程度是另外一回事)。

CVE通用前缀
2025分配编号的年份
12345该年份内的序号
CVE 标识符的结构。序号并非固定 4 位,会根据需要增加位数。

为什么需要它

漏洞每天都被大量发现。如果叫法各不相同,「你说的那个洞」和「我修好的这个洞」是不是同一个就分不清了。有了 CVE 这个通用 ID,新闻、修复补丁、扫描器、数据库就能可靠地指向同一个漏洞。这就是对策的起点。

CVE、CVSS、KEV — 别把职责混为一谈

这三者常常一起出现,但它们回答的是不同的问题。确定优先级时三者都要用上。

术语回答的问题例子
CVE是哪个漏洞(名字)CVE-2021-44228(Log4Shell)
CVSS有多严重(0~10)10.0(最高一档)
KEV是否已被实际利用列入被利用观测清单=最高优先

CVSS 高≠最高优先,未必如此

分数是「最坏条件下的理论值」。在实务中要结合 KEV(是否正被实际利用)你自己是否在用那个功能 一起判断。CVSS 10.0 但没在用,影响就很小;分数中等但正被利用,则是最高优先。

从分配编号到修复的流程

CVE 不是「一发现就立刻公开」,而是经过协调后才公开。大致是这样的流程。

1

发现与上报

研究者或厂商发现漏洞,向编号分配机构(CNA)上报。
2

预留(Reserved)

先把 CVE 编号占下来。细节仍处于保密状态。
3

修复与公开(Published)

配合补丁发布同时披露细节。多数会「与修复同时」公之于众。
4

被利用观测(列入 KEV)

一旦观测到实际攻击便被列为最高优先。此时还放任不管就会被攻破。

个人开发者现实可行的追踪方法

靠人力把所有 CVE 都追一遍是不可能的,而那个漏掉的疏忽会直接变成事故。→ 放任已知 CVE(CVSS 10.0)导致 1.47 亿人信息泄露的故事

所以要让机器来盯。

常犯的错误

  • 看了新闻就凭人力判断「我们应该没事」
  • 只看 package.json 里的写法来估危险程度
  • 用「以后再更新」搪塞,不定截止期限

让机器来盯

  • Dependabot(GitHub):对依赖中相关的 CVE 自动发 PR 通知
  • osv-scanner(Google):检查锁文件,在 CI 中只需一步
  • 实际运行的版本来判定(不要轻信下限写法)

要点在于以「实际运行的版本」来判定。package.json 里的下限写法是会骗人的(RCE 的事故中,这也曾是误判的原因)。

接下来读什么

FAQ

QCVE 编号怎么读?
A

它的形式是“CVE-公元年份-序号”。例如 CVE-2025-12345 就是 2025 年分配的漏洞。编号本身不含严重程度的含义,严重程度另由 CVSS 表示。序号并非固定 4 位,会根据需要增加位数。

QCVE、CVSS、KEV 有什么区别?
A

CVE 是表示“是哪个漏洞”的名字,CVSS 是表示“有多严重”的 0~10 分数,KEV 是“是否已观测到实际被利用”的清单。在确定优先级时,不应只看 CVSS 的高低,把 KEV(是否正在被攻击)看得更重才更贴近实务。

Q个人开发者要把所有 CVE 都追一遍是不是不可能?
A

靠人力确实不可能,漏掉就会变成事故。所以要让机器来盯。用 Dependabot(GitHub)或 osv-scanner,让它只对你自己依赖中相关的 CVE 自动通知,这才现实。