跳至主要内容

使用指标对 Dependabot 警报进行优先级排序

您可以通过分析提供的指标,对组织中的 Dependabot 警报进行优先级排序。采用此方法,您可以告诉开发人员先关注最重要的漏洞。

谁可以使用此功能?

组织所有者、安全管理员以及拥有 admin 角色的组织成员

由具有 GitHub 代码安全的 GitHub 团队账户拥有的组织,或由具有 GitHub 代码安全的 GitHub 企业账户拥有的组织

使用指标对 Dependabot 警报进行优先级排序

应用安全(AppSec)经理经常面临大量 Dependabot 警报,难以判断应首先处理哪些漏洞。Dependabot 指标提供有价值的洞察,帮助高效地对警报进行优先级排序,确保关键安全问题得到及时解决。用户可以做出明智的决策,将资源集中在最具影响力的漏洞上。这种方法提升组织的安全姿态并简化漏洞管理。

了解 Dependabot 指标

Dependabot 指标提供有关您依赖项中检测到的漏洞的详细信息。关键指标包括

  • 严重性:指示漏洞的潜在影响(例如,低、中、高、关键)。
  • 可利用性:评估漏洞被利用的难易程度。
  • 依赖关系:区分直接依赖和传递依赖。
  • 依赖范围:区分运行时依赖和开发依赖。确定易受漏洞影响的代码是否实际在您的应用中使用。
  • 最近 30 天内关闭的警报数量,包括由 Dependabot 修复、手动忽略和自动忽略的警报数:跟踪警报解决进度。说明 GitHub 代码安全如何帮助您提前发现漏洞。
  • 显示每个仓库的未解决警报总数以及严重性和可利用性数据的表格:允许您在仓库层面进行更深入的分析。

有关这些指标的更多信息,请参阅 有关 Dependabot 警报的指标

此外,您还可以指定复杂过滤器,即现有各个过滤器的组合。有关过滤器的更多信息,请参阅 Dependabot 仪表板视图过滤器

优先排序警报的步骤

以下初始步骤帮助您识别对组织风险最高的 Dependabot 警报,以便您告诉开发人员哪些警报应优先进行修复。

1. 根据组织需求定制漏斗顺序

您可以在 “Alert prioritization”(警报优先级)图表上自定义默认漏斗顺序,以确保其反映组织的独特风险概况、业务优先级和合规要求。请参阅 查看 Dependabot 警报的指标

2. 关注关键和高严重性警报

首先使用 severity-criticalseverity-high 过滤器识别最高严重性的警报。这些漏洞风险最大,通常也在合规标准中被优先处理。

3. 评估可利用性和可达性

优先处理代码库中最可能被利用的漏洞。要找出最可能被利用的警报,可使用 epss_percentage 过滤器并指定数值(例如 epss_percentage>=0.10)。

4. 审核依赖范围和关系

直接依赖通常更易更新,并且对应用安全的影响更大。建议在可能的情况下先处理直接依赖,而后再处理传递依赖。使用 relationship:direct 过滤器可查看受支持生态系统(如 npm)中直接依赖的漏洞。

运行时依赖在生产环境中由应用使用。更新此类依赖可修复安全漏洞、错误以及影响最终用户或系统的性能问题。相反,开发依赖仅在开发、测试或构建过程中使用。虽然同样重要,但这些依赖中的问题通常不会直接影响正在运行的应用或其用户。

您可以使用 scope:runtimescope:development 过滤器,分别仅显示运行时或开发依赖的警报。

5. 考虑警报的年龄

较久的警报可能表明长期存在的风险。请定期审查并处理老旧警报,以防止安全债务累积。例如,一旦确定某个仓库的警报数量比其他仓库更多,需要更高的优先级,您可以

  1. 点击每个仓库表格中的仓库名称,仅显示该仓库的警报。
  2. Sort(排序)下拉列表中使用 “Older”(更旧)过滤器,以及其他排序条件,细化可视化结果,按年龄筛选符合您标准的警报。

6. 利用自动化

使用 Dependabot 自动创建的拉取请求快速修复漏洞。将这些更新集成到 CI/CD 流水线中,可实现更快的解决速度和更高的效率。

最佳实践

  • 建立服务水平协议(SLA),根据漏洞严重性规定解决时限。
  • 定期监控指标,以识别趋势和重复出现的问题。
  • 与开发人员协作,确保及时更新并将中断降至最低。
  • 记录决策,提供透明度并支持未来的优先级排序。
© . This site is unofficial and not affiliated with GitHub, Inc.