极狐 GitLab 的漏洞报告功能可以让开发人员在统一的平台上面管理代码,对其进行安全扫描、管理漏洞报告并修复漏洞。但有些团队更喜欢使用类似 Jira 的单独工具来管理他们的安全漏洞。他们也可能需要以易于理解的格式向领导层展示漏洞报告。
极狐 GitLab 的漏洞报告可以通过一键点击的方式导出为 CSV,方便在其他工具中进行分析。但在某些情况下,一个简单的 PDF 报告就足够了。
使用极狐 GitLab 的 API,可以轻松查询漏洞信息并将报告详细信息发送到其他地方,比如 PDF 文件或 Jira 项目。在本博客中,我们将向您展示如何将 GitLab 的漏洞报告导出 HTML/PDF 格式,或直接导出到 Jira。
请注意,本教程中使用的脚本仅供参考,并不受极狐 GitLab 支持。
要将漏洞报告导出为 HTML 或 PDF,可参考 custom-vulnerability-reporting 项目。
该项目包含一个脚本,用于查询项目的漏洞报告,然后基于漏洞报告的数据生成 HTML 文件。项目中配置的流水线会运行此脚本,并将 HTML 文件转换为 PDF 格式。
要使用导出工具,首先需要对该项目进行 Fork(派生)或导入到新项目(选择“通过 URL 导入存储库”,并粘贴原始项目的 git URL)。
按照自述文件 README.MD
的说明设置 CI/CD 变量。您需要以下极狐 GitLab 信息:
在设置必需的 CI/CD 变量之后,从项目的流水线页面手动运行一个流水线。完成流水线后,可以访问 build_report
(用于 HTML)或 pdf_conversion
作业,在侧边栏的“任务制品”下选择“下载”或“浏览”来查看您的文件导出。至此,您就获得了一个可共享且易于阅读的项目漏洞的 pdf 报告。
极狐 GitLab 允许您通过 UI 使用我们的 Jira 集成功能从漏洞中创建 Jira 工单。尽管您可以为需要处理的漏洞单独执行此操作,但有时团队需要批量创建 Jira 工单来处理所有的漏洞。我们可以利用极狐 GitLab 和 Jira 的 API 来实现这一点。
开始操作之前,请参考 external-vulnerability-tracking 项目。此脚本与上面的脚本以相同的方式获取漏洞,但它使用 Jira API 为每个漏洞创建一个工单。每个工单的描述也包含了来自 GitLab 漏洞报告的详细信息。
要使用导出工具,只需 Fork(派生)该项目或导入到新项目(选择“通过 URL 导入存储库”,并粘贴原始项目的 git URL),并按照自述文件的说明设置 CI/CD 变量。
您需要准备以下 GitLab 信息:
您还将需要以下 Jira 信息:
在根据项目自述文件中的说明设置 CI/CD 变量后,只需从该项目的流水线页面运行一个流水线,然后就可以看到所有的漏洞信息将会在 Jira 中自动创建工单。如果将来再次运行流水线,脚本将对 Jira 项目运行搜索查询,防止创建重复的工单。它只会为没有记录在 Jira 中的新漏洞创建工单。