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

翻译:RangWu
原文:《How to export vulnerability reports to HTML/PDF and Jira — Siddharth Mathur》

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://gitlab.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://gitlab.com/api/graphql)
  • GitLab项目路径(例如smathur/external-vulnerability-tracking)

您还将需要以下Jira信息:

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

参考资料

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

https://wurang.net/gitlab-exporting-vulnerability-reports-to-html-pdf-jira/

作者

Wu Rang

发布于

2023-09-19

更新于

2023-09-19

许可协议

评论