Xygeni 安全术语表
软件开发和交付安全术语表

什么是基于风险的漏洞优先级排序?

基于风险的漏洞优先级排序是根据安全发现对应用程序的实际风险进行排序,而不是根据其严重性评分。这种区别至关重要,因为严重性是漏洞的抽象属性,而风险是漏洞在代码中的属性:例如,易受攻击的函数是否会被调用、是否有人在实际环境中利用它、受影响服务的暴露程度以及修复的难度。例如,应用程序从未调用的依赖项中的 CVSS 9.8 漏洞的优先级低于一个公开漏洞利用的面向互联网的端点上的 CVSS 6.1 漏洞。严重性评分无法提供这些信息。而基于风险的优先级排序正是通过一系列信号来体现这一点的。

什么是基于风险的漏洞优先级排序?一个工作定义 #

每次运行扫描程序,发现的问题都远超团队的处理能力。这并非工具故障,而是数学问题:覆盖范围逐年扩大,而人员配置却没有相应增加。很久以前,问题就不再是“我们发现了什么”,而是“我们周一该怎么办”。

基于严重程度的分类方法无法解决这个问题。它根据一个完全不了解你系统情况的数值进行排序,这意味着它会将理论上的灾难性事件排在实际发生的灾难性事件之前。团队很快就会意识到这一点,并忽略这个列表,而这恰恰是最糟糕的结果,因为三个真正重要的发现都包含在其中。

所以,工作定义如下: 基于风险的漏洞优先级排序是指根据可利用性、可达性、暴露程度和修复成本等上下文信号对发现的漏洞进行排序,以便队列顶部反映攻击者实际可以对该系统执行的操作,而不是评分机构通常认为可能发生的操作。

这种转变体现在漏洞本身的属性上,转变为漏洞及其应用程序的属性上。相同的 CVE 编号,优先级不同,具体取决于漏洞所在的位置。

基于风险的脆弱性优先级排序的含义,体现在四个方面 #

要清晰理解基于风险的漏洞优先级排序的含义,最直接的方法是观察哪些因素会添加到严重性指标中,因为严重性本身并不会消失。它只是众多输入因素之一。

  • 可达性. 你的代码中是否实际调用了存在漏洞的函数?存在漏洞的软件包并不等同于存在漏洞的应用程序。可达性分析会追踪并显示调用路径,从而将“我们发现了 400 个关键依赖项”简化为实际执行的依赖项列表。
  • 可利用性. 现实世界中有人利用这一点吗? 每股收益 估计未来30天内发生剥削的概率, CIS已知被利用漏洞目录 记录了哪些漏洞已经在实际应用中被使用,而公开的漏洞利用信息则告诉你攻击者需要做多少工作。这些是攻击者的视角,它们每天都在变化。 CVSS 分数自评定之日起保持不变。
  • 商业背景。 受影响资产的风险程度如何?具体表现是什么?面向互联网的支付服务和内部报告工具虽然得出相同的结论,但风险并不相同,只有贵公司才知道哪个是哪个。
  • 修复成本。 修复难度如何?应用修复后又会造成哪些问题?一个简单的补丁更新和导致编译失败的主版本升级是截然不同的。cis离子,以及忽略努力程度的优先级,会产生一个没有人能够围绕它来规划冲刺的队列。

综合来看,大多数团队最终都会认同基于风险的漏洞优先级排序方法: 不要再问这件事可能会有多糟糕,而应该问这件事现在有多糟糕,以及结束这一切需要付出多大的代价。

基于严重程度与基于风险:有哪些变化 #

在基于风险的模型中,严重性并不会消失。它只是众多输入参数之一,而其他输入参数则反映了你的应用程序的某些特性。

维度基于严重程度基于风险
主信号CVSS分数可达性、可利用性、暴露度、固定成本
它解答的问题这种漏洞总体上有多严重?攻击者可以对该系统做什么?
上下文使用情况没有你的代码,你的部署,你的业务
典型输出按数字排序的长列表按后果排序的简短列表
对开发人员的影响警报疲劳,列表被忽略罚单数量减少,但每张罚单都合理。
它缺少什么代码是否会被执行如果信号线连接正确,则不会有任何问题。

这种实际区别体现在安全部门和工程部门之间的沟通中。按严重程度排序的工单会说“这是个关键问题,必须修复”。而按风险排序的工单则会说“这个问题可以从你的结账控制器访问,存在公开的漏洞,修复方法只是打个补丁”。只有其中一种工单会在没有争议的情况下被立即执行。

这现在是官方立场,而不仅仅是良好做法。 #

基于风险的漏洞优先级排序曾经是比按严重程度打补丁更复杂的方法,现在正逐渐成为基准。

顺风车由卡内基梅隆大学软件工程研究所开发并被采用 CISA,将分数替换为一个decis离子树根据开发状态、自动化程度、技术影响和任务普遍性,输出操作而非数字。2026年6月 CIS已发布 约束性操作指令 26-04该规定取代了 BOD 22-01,该规定指示联邦机构优先考虑使用资产风险敞口、KEV 状态、漏洞利用自动化和技术影响,而不是仅仅考虑严重性。

对其他机构而言,信号非常明确。负责维护权威漏洞利用目录的机构不再要求其下属机构按 CVSS 评分进行排序。如果您仍在这样做,那么您使用的方法已被其自身机构弃用。

优先级排序漏斗是如何运作的? #

单个信号本身并不区分优先级。它们必须环环相扣,每个信号才能缩小下一个信号需要考虑的范围。这个环环相扣的链条就是…… 西吉尼 称之为优先级排序漏斗。

漏斗模型会将发现结果依次经过最多八个有序阶段。预设阶段包括:可达性、可利用性、可修复性、AI 分类结果和补救紧迫性,您还可以添加自定义属性,例如业务关键性或风险暴露程度。开箱即用的漏斗模型涵盖所有风险类别,您可以按漏斗阶段筛选任何表格,查看每个阶段的最终结果。数百条发现结果最终会筛选出少数真正有效、可达、可利用且值得本次迭代处理的发现结果。

其中两个阶段来自 人工智能分类对于您自身代码中的发现,AI Triage 会结合上下文解读发现结果,静态分析会分析代码流程,DAST 则会分析 HTTP 证据,并返回真阳性、假阳性或需要审查的判定结果,以及从“立即”到“待办”的修复紧急程度和从“简单”到“困难”的修复复杂度。每个结果都附带相应的推理,所有输出都会被标记为 AI 生成,您的团队可以推翻任何判定结果。对于开源代码的发现,其设计则有所不同:没有 AI 判定结果,因为 可达性 它在这方面做得更好。人工智能分诊反而增加了紧迫性和复杂性。

对于已有技术栈的团队而言,最重要的一点是:同样的流程和分级处理方法不仅适用于 Xygeni 自身的扫描器,也适用于其他扫描器导入的扫描结果。来自 40 种或更多工具和格式的扫描结果(包括任何 SARIF 输出)都会被去重并在同一队列中排序。您现有的工具将继续运行。优先级不再是针对单个工具的。

用一句话来形容,可衡量的影响是: 这样做的顾客在 Banco Serfinanza,针对 100 多个持续分析的存储库,识别、确定优先级和分配安全发现的时间减少了约 90%;在 Fintonic,漏洞优先级确定时间减少了 90%。

预约演示 并带上你自己的待办事项。

常见问题解答:基于风险的漏洞优先级排序(简答) #

简单来说,什么是基于风险的漏洞优先级排序?

对安全发现进行排序时,应根据攻击者可能对系统造成的实际影响,而不是根据漏洞的严重性评分。同一个 CVE 编号在一个应用程序中可能非常紧急,而在另一个应用程序中则可能无关紧要,而基于风险的优先级排序正是区分这两种情况的关键。

那么 CVSS 就没用了吗?

不,它并不完整。CVSS描述的是漏洞本身,而不是你面临的风险。基于风险的优先级排序保留了漏洞严重性这一指标,并添加了取决于你环境的指标:代码是否可访问、漏洞是否已被利用、资产的暴露程度以及修复成本。

基于风险的漏洞优先级排序中,可达性意味着什么?

判断依赖项中的漏洞函数是否真的被应用程序调用。如果未被调用,则该漏洞确实存在,但无法通过您的代码利用,因此它会被移除出待处理队列,而不是消失。这是开源漏洞检测中最具影响力的筛选条件,因为大多数依赖项漏洞都存在于从未被调用的代码中。

这是否适用于我们现有扫描仪的扫描结果?

它应该如此,这也是检验任何声称能做到这一点的平台都应该采用的标准。如果优先级排序仅仅针对自身的结果进行排名,那么最终只会得到一个已排名的队列和多个未排名的队列,这根本算不上优先级排序。Xygeni 对从其他工具导入的结果应用了相同的筛选流程和 AI 分诊机制。

我们应该衡量什么来判断它是否有效?

不是未解决的关键问题数量,而是从问题提出到开发人员能够处理的时间、已分配问题中实际得到解决而非被推迟的比例,以及开发人员拒绝处理的问题数量。当拒绝处理的情况不再出现时,基于风险的优先级排序就有效了。

开始免费

免费开始使用。
不需要信用卡。

一键开始:

这些信息将按照 服务条款 和 隐私政策

应用截图