漏洞报告

  • 漏洞解决活动图标引入于极狐GitLab 17.5,使用名为 vulnerability_report_vr_badge 的功能标志,默认禁用。
  • 在极狐GitLab 17.6 中默认启用。
漏洞解决方案活动图标功能受控于功能标志。更多详情,可查看历史。

漏洞报告提供有关默认分支扫描的漏洞信息。包含所有成功作业的累积结果,无论流水线是否成功。流水线中的扫描结果在流水线中的所有作业完成后或当流水线被手动作业阻塞时才会被提取。报告更新由默认分支上运行的最后一个扫描流水线完成。

项目和群组漏洞报告包含:

  • 每个严重等级的漏洞总数。
  • 常见漏洞属性的过滤器。
  • 每个漏洞的详细信息,以表格布局展示。对于一些漏洞,详细信息包括指向默认分支中相关文件的链接。

项目漏洞报告还包含:

  • 更新时间戳,包括指向最新流水线的链接。仅当流水线运行于默认分支时才会更新。
  • 最近流水线中发生的故障数。选择失败通知,查看流水线页面的 失败的作业 选项卡。

活动 列包含用于指示在该行所涉及的漏洞上所采取的活动(如果有的话):

  • 议题 :链接到为漏洞创建的问题。更多详情,可查阅为漏洞创建一个极狐GitLab 议题
  • 合并请求 :链接到为漏洞创建的合并请求。更多详情,可查阅使用合并请求解决漏洞
  • 修复周期 :表示漏洞已修复。
  • 假阳性 :表示扫描器确定此漏洞是假阳性。
  • 解决方案 tip :表示漏洞有可用的解决方案。

要为漏洞打开或创建一个议题,将鼠标悬停在 活动 选项卡上,然后选择链接。议题图标( )显示议题的状态。如果启用了Jira 议题支持,则会在 Jira 的 活动 选项卡中看到。和极狐GitLab 议题不一样,Jira 议题的状态不会展示在极狐GitLab UI 上。

Example project Vulnerability Report

当漏洞源自多项目流水线设置时,此页面显示源自所选项目的漏洞。

查看漏洞报告

查看漏洞报告以列出项目或群组中的所有漏洞。

先决条件:

  • 您必须至少具有项目或群组的开发员角色。

要查看漏洞报告:

  1. 在左侧边栏中,选择 搜索或转到,然后找到您的项目或组。
  2. 选择 安全 > 漏洞报告

过滤漏洞

您可以在漏洞报告中过滤漏洞以高效管理漏洞。

可用过滤器为:

  • 状态:已检测、已确认、已忽略、已解决。有关状态的详细信息,请参见漏洞状态值。忽略的漏洞可一起被过滤或根据忽略原因单独过滤。
  • 严重程度:Critical、High、Medium、Low、Info 和 Unknown。
  • 工具:获取更多信息,查看工具过滤器
  • 活动:获取更多信息,查看活动过滤器
  • 项目:过滤指定项目中的漏洞(仅群组可用)。

过滤漏洞

  • 改进的过滤引入于极狐GitLab 16.9,且使用名为 vulnerability_report_advanced_filtering 的功能标志,默认禁用。
  • 在极狐GitLab 17.1 中默认为 JihuLab.com 和私有化部署启用。
漏洞解决方案活动图标功能受控于功能标志。更多详情,可查看历史。

过滤漏洞报告以聚焦在一部分漏洞上。

要过滤漏洞列表:

  1. 在左侧边栏中,选择 搜索或转到,然后找到您的项目。
  2. 选择 安全 > 漏洞报告
  3. 可选。要移除默认过滤器,请选择 清除( )。
  4. 在漏洞列表上方,选择过滤栏。
  5. 在下拉列表中,选择您想要过滤的属性,然后从下拉列表中选择您想要过滤的值。
  6. 点击过滤字段外的任何位置。漏洞严重程度的总和和匹配漏洞列表会更新。
  7. 要按多个属性过滤,请重复前三步。多个属性是逻辑 AND 的组合。

工具过滤器

  • 对项目的支持引入于极狐GitLab 16.6。

您可以通过检测所用的工具进行漏洞过滤。默认情况下,漏洞报告会列出所有工具检测到的漏洞。对于每种可用工具的详情,可查看安全扫描工具

使用 手动添加 属性过滤手动添加的漏洞。

在极狐GitLab 17.1 及以后版本,工具过滤器的内容在群组和项目之间有所不同:

  • 针对群组,工具过滤器列出单独的工具。
  • 针对项目,工具过滤器按扫描类别分组工具。

在极狐GitLab 16.6 到 17.0 中,工具过滤器的内容在群组和项目之间有所不同:

  • 针对群组,工具过滤器列出单独的工具。
  • 针对项目,如果未启用第三方工具,则工具过滤器列出单独的工具。如果有第三方工具,则工具过滤器按扫描类别分组工具。

在极狐GitLab 16.5 及更早版本中,工具过滤器按供应商分组工具。如果仅启用了极狐GitLab 分析器,则近列出这些分析器。

项目过滤器

项目过滤器的内容取决于当前级别:

  • 安全中心:仅限您添加到个人安全中心的项目。
  • 群组级别:群组中的所有项目。
  • 项目级别:不适用。

活动过滤器

  • 引入于极狐GitLab 16.7,使用名为 activity_filter_has_remediations 的功能标志,默认禁用。
  • 在极狐GitLab 16.9 中 GA,功能标志 activity_filter_has_remediations 被移除。
  • 在极狐GitLab 17.6 中默认启用。

活动过滤器的行为和其他过滤器不同。在每个类别中,您可以选择一个值。要删除过滤器,请从活动过滤器下拉列表中选择您想要删除的过滤器。

当使用活动过滤器时,选择行为如下:

  • 活动
    • 所有活动:具有任何活动状态的漏洞(与忽略此过滤器相同)。选择此项会取消选择所有其他的活动筛选器选项。
  • 检测
    • 仍然检测(默认):在 default 分支的最新流水线扫描中仍然检测到的漏洞。
    • 不再检测:在 default 分支的最新流水线扫描中不再检测到的漏洞。
  • 议题
    • 有议题:具有一个或多个关联议题的漏洞。
    • 没有议题:没有关联议题的漏洞。
  • 合并请求
    • 有合并请求:具有一个或多个关联合并请求的漏洞。
    • 没有合并请求:没有关联合并请求的漏洞。
  • 解决方案可用
    • 有解决方案:具有可用解决方案的漏洞。
    • 没有解决方案:没有可用解决方案的漏洞。

分组漏洞

  • 为每个项目分组漏洞引入于极狐GitLab 16.4,使用名为 vulnerability_report_grouping 的功能标志。默认禁用。
  • 为每个项目分组漏洞在极狐GitLab 16.5 中为私有化部署启用。
  • 为每个项目分组漏洞在极狐GitLab 16.6 中 GA。功能标志 vulnerability_report_grouping 被移除。
  • 为每个群组分组漏洞引入于极狐GitLab 16.7,使用名为 group_level_vulnerability_report_grouping 的功能标志。默认禁用。
  • 为每个群组分组漏洞在极狐GitLab 17.2 中为私有化部署启用。
  • 为每个群组分组漏洞在极狐GitLab 17.3 中 GA。功能标志 group_level_vulnerability_report_grouping 被移除。
  • 为每个群组的漏洞进行 OWASP top 10 划分引入于极狐GitLab 16.8,使用名为 vulnerability_owasp_top_10_group 的功能标志。默认禁用。
  • 为每个群组的漏洞进行 OWASP top 10 划分在极狐GitLab 17.4 中为私有化部署启用。
  • 为每个群组的漏洞进行 OWASP top 10 划分在极狐GitLab 17.5 中 GA。功能标志 vulnerability_owasp_top_10_group 被移除。
  • OWASP top 10 分组中的非 OWASP 策略引入于极狐GitLab 17.1,使用名为 owasp_top_10_null_filtering 的功能标志。默认禁用。
  • OWASP top 10 分组中的非 OWASP 策略在极狐GitLab 17.5 中为私有化部署启用。
  • OWASP top 10 分组中的非 OWASP 策略在极狐GitLab 17.6 中 GA。功能标志 owasp_top_10_null_filtering 被移除。

您可以在漏洞报告页面对漏洞进行分组来更高效地管理它们。

您可以通过如下方式来过滤

  • 状态
  • 严重性
  • 工具
  • OWASP top 10 2017

分组漏洞

要分组漏洞:

  1. 在左侧边栏中,选择 搜索或转到,然后找到您的项目或群组。
  2. 选择 安全 > 漏洞报告
  3. 根据分组 下拉菜单中,选择群组。

漏洞会根据您所选择的群组进行分组。每个群组都会被折叠,但是会显示每个群组的漏洞总数。要查看每个群组中的漏洞,请选择群组名称。

查看漏洞详情

要查看漏洞详情,请选择漏洞的 描述漏洞详情页面会被打开。

更改漏洞状态

  • 提供评论和拒绝原因引入于极狐GitLab 16.0。

当您处理漏洞时,可以更改它们的状态,包括拒绝漏洞。

当一个漏洞被拒绝时,审计日志中会包含谁拒绝了它、何时拒绝以及拒绝的原因。您不能删除漏洞记录,因此永久记录始终存在。

先决条件:

  • 您必须至少具有项目维护者角色。在极狐GitLab 17.0 中,从开发人员角色中移除了 admin_vulnerability 权限。

要更改漏洞状态:

  1. 在左侧边栏中,选择 搜索或转到,然后找到您的项目。
  2. 选择 安全 > 漏洞报告
  3. 选择:
    • 一个或多个漏洞,选择每个漏洞旁边的复选框。
    • 页面上的所有漏洞,选择表头中的复选框。
  4. 设置状态 下拉列表中,选择所需的状态。
  5. 如果选择了 忽略,在 设置忽略原因 下拉列表中选择原因。
  6. 添加注释 输入框中,可以提供注释。对于 忽略 状态,注释是必需的。
  7. 选择 更改状态

选中的漏洞状态将更新,漏洞报告内容将刷新。

Project Vulnerability Report

更新已解决的漏洞

当一个漏洞通过合并请求解决时,它仍然会显示在漏洞报告中。

要更新漏洞:

  1. 确认已解决的漏洞状态为 不再检测。漏洞状态在 活动过滤器 和漏洞记录中显示。
  2. 将漏洞的状态更新为 已解决

按检测日期排序漏洞

默认情况下,漏洞按严重性级别排序,严重性最高的漏洞会显示在最前面。

要按检测日期排序漏洞,请选择 检测 列标题。

导出漏洞详情

  • 在极狐GitLab 16.8 中添加了 “忽略的原因” 列。

您可以导出漏洞报告中的漏洞详情。导出的格式是 CSV(逗号分隔值)。所有的漏洞都会包含在内,因为过滤器不会应用于导出。

导出的字段包括:

  • 状态(状态值如何导出的详情可以看下表)
  • 群组名称
  • 项目名称
  • 工具
  • 扫描器名称
  • 漏洞
  • 基本详情
  • 额外信息
  • 严重性
  • CVE (Common Vulnerabilities and Exposures)
  • CWE (Common Weakness Enumeration)
  • 其他标识符
  • 检测时间
  • 位置
  • 活动:返回 true 如果漏洞在默认分支上已解决,否则返回 false
  • 评论
  • 完整路径
  • CVSS 向量
  • 忽略的原因
note 完整详情可以通过作业产物 API获取。使用 gl-*-report.json 来替代 *artifact_path 来获取文件路径。

在漏洞报告中显示的状态值与导出的值不同。使用以下参考表来匹配它们。

漏洞报告 导出
需要管理 已检测
已忽略 已忽略
已解决 已解决
已确认 已确认

导出 CSV 格式

要导出漏洞报告中的所有漏洞详情,选择 导出

详情从数据库检索,然后 CSV 文件下载到您的本地计算机。

note 如果项目包含上千个漏洞,它可能需要好几分钟来下载。不要关闭页面直到下载完成。有一些 CSV 阅读器有行数或列数的限制,这可能使它们与较大的导出不兼容。漏洞报告不会考虑单个项目的限制。

手动添加漏洞

  • 功能标志 new_vulnerability_form 在极狐GitLab 15.0 中被移除。

当漏洞在极狐GitLab 漏洞数据库中不可用时,您可以手动添加漏洞。您只能在项目漏洞报告中添加漏洞。

要手动添加漏洞:

  1. 在左侧边栏中,选择 搜索或转到,然后找到您的项目。
  2. 选择 安全 > 漏洞报告
  3. 选择 提交漏洞
  4. 完成字段并提交表单。

新创建的漏洞的详细信息页面将打开。

操作性漏洞

操作性漏洞 选项卡列出了由 操作容器扫描 发现的漏洞。此选项卡在项目、组和安全中心漏洞报告中显示。

Operational Vulnerability Tab