返回文章列表

如何将极狐 GitLab 漏洞报告导出为 HTML 或 PDF 格式或导出到 Jira

武让
极狐(GitLab) 资深解决方案架构师

极狐 GitLab 的漏洞报告功能可以让开发人员在统一的平台上面管理代码,对其进行安全扫描、管理漏洞报告并修复漏洞。但有些团队更喜欢使用类似 Jira 的单独工具来管理他们的安全漏洞。他们也可能需要以易于理解的格式向领导层展示漏洞报告。

 

极狐 GitLab 的漏洞报告可以通过一键点击的方式导出为 CSV,方便在其他工具中进行分析。但在某些情况下,一个简单的 PDF 报告就足够了。

 

使用极狐 GitLab 的 API,可以轻松查询漏洞信息并将报告详细信息发送到其他地方,比如 PDF 文件或 Jira 项目。在本博客中,我们将向您展示如何将 GitLab 的漏洞报告导出 HTML/PDF 格式,或直接导出到 Jira。

 

请注意,本教程中使用的脚本仅供参考,并不受极狐 GitLab 支持。

 

导出为 HTML/PDF

 

要将漏洞报告导出为 HTML 或 PDF,可参考 custom-vulnerability-reporting 项目

 

 

该项目包含一个脚本,用于查询项目的漏洞报告,然后基于漏洞报告的数据生成 HTML 文件。项目中配置的流水线会运行此脚本,并将 HTML 文件转换为 PDF 格式。

 

要使用导出工具,首先需要对该项目进行 Fork(派生)或导入到新项目(选择“通过 URL 导入存储库”,并粘贴原始项目的 git URL)。

 

 

按照自述文件 README.MD 的说明设置 CI/CD 变量。您需要以下极狐 GitLab 信息:

 

  • 具有访问漏洞信息权限的 GitLab 项目/个人访问令牌(具有 read_api 范围);
  • 极狐 GitLab GraphQL API URL(对于 SaaS,为https://jihulab.com/api/graphql);
  • 极狐 GitLab 项目路径(例如 smathur/custom-vulnerability-reporting)。

 

在设置必需的 CI/CD 变量之后,从项目的流水线页面手动运行一个流水线。完成流水线后,可以访问 build_report(用于 HTML)或 pdf_conversion 作业,在侧边栏的“任务制品”下选择“下载”或“浏览”来查看您的文件导出。至此,您就获得了一个可共享且易于阅读的项目漏洞的 pdf 报告。

 

 

将漏洞信息导出到 Jira

 

极狐 GitLab 允许您通过 UI 使用我们的 Jira 集成功能从漏洞中创建 Jira 工单。尽管您可以为需要处理的漏洞单独执行此操作,但有时团队需要批量创建 Jira 工单来处理所有的漏洞。我们可以利用极狐 GitLab 和 Jira 的 API 来实现这一点。

 

开始操作之前,请参考 external-vulnerability-tracking 项目。此脚本与上面的脚本以相同的方式获取漏洞,但它使用 Jira API 为每个漏洞创建一个工单。每个工单的描述也包含了来自 GitLab 漏洞报告的详细信息。

 

要使用导出工具,只需 Fork(派生)该项目或导入到新项目(选择“通过 URL 导入存储库”,并粘贴原始项目的 git URL),并按照自述文件的说明设置 CI/CD 变量。

 

您需要准备以下 GitLab 信息:

 

  • 具有访问漏洞信息权限的 GitLab 项目/个人访问令牌(具有 read_api 范围);
  • 极狐 GitLab GraphQL API URL(对于 SaaS,为 https://jihulab.com/api/graphql);
  • 极狐 GitLab 项目路径(例如 smathur/external-vulnerability-tracking)。

 

您还将需要以下 Jira 信息:

 

  • Jira 个人访问令牌
  • Jira API 问题端点 URL;
  • Jira 用户电子邮件 ID;
  • Jira 项目 Key,您希望在其中创建漏洞工单(例如 ABC)。

 

在根据项目自述文件中的说明设置 CI/CD 变量后,只需从该项目的流水线页面运行一个流水线,然后就可以看到所有的漏洞信息将会在 Jira 中自动创建工单。如果将来再次运行流水线,脚本将对 Jira 项目运行搜索查询,防止创建重复的工单。它只会为没有记录在 Jira 中的新漏洞创建工单。

 

 

参考资料

 

极狐GitLab 一体化DevOps平台 专为中国用户研发,免费试用60天专业版高级功能
售前咨询
联系电话
在线支持
预约演示