Import/Export 的 HP Fortify 审计结果

Import/Export of HP Fortify Audited Results

Setup/Background:

我工作的产品主要包含 500k+ LOC(Java 和 Java 脚本)。自 Fortify 3.x/4.x 以来的过去十年里,我们一直在 运行 进行 Fortify 静态分析。我们使用 SSC 查看和审核分析结果。这样,除了安全主管之外,团队中其他可能感兴趣的人也可以使用结果。

随着代码的发布,Fortify 版本也会定期升级,指标也会迁移到更新的版本。 Fortify 平台和升级由单独的团队管理。我们只是 运行 扫描,上传 fpr。结果自动合并到 SSC 中。随后,我们审核新发现的违规行为并对其进行适当的补救。通常对于每个版本,都有数百个误报被审计为 "Not an issue".

问题:

我们正在迁移到一个新平台 - 将由一个完全不同的团队管理全新安装的 Fortify SSC。如果我们执行分析并将 fpr 上传到新的 SSC 实例,它可能会报告超过一百万次违规。实际上,在我们现有的实例中,这些违规行为已经被审核为 'Not an issue'。我们需要一种方法来 "seed" 新实例与旧实例的审计结果。

因此,我们需要一些方法来导出现有 Fortify SSC 实例的结果并导入在较新的 Fortify SSC 实例中也是如此。

根据现有实例,我知道我可以从 'Application Artifacts' "Download Application File" fpr 包含所有经审核的结果。我想知道在较新的 SSC 实例中,通过使用 'Upload Artifact' 导入,是否会播种审计数据?这样,从下一次扫描开始,我们就可以简单地继续上传 fpr 文件,并且只会报告增量违规。

现有的 Fortify SSC 版本 17.20。较新的平台 Fortify 实例很可能是 版本 18.10 或 17.20,但希望不会低于该版本。

应该可以,试一试。如果这不起作用,我认为您可以直接从旧实例中导出数据库,然后将其导入到新数据库中。如果两个 SSC 版本相距很远,则数据库架构可能发生了很大变化,数据传输可能具有挑战性。如果您遇到问题,我会直接联系 Fortify 支持部门寻求帮助。他们通常反应迅速。

TL;DR:

有效。

长答案:

  1. 我有来自现有 Fortify SSC 17.20 实例的 "Downloaded the Application File"。这通常采用以下格式 - .fpr
  2. 我已经安装了另一个 Fortify SSC 17.20 实例。
  3. 后来,我为项目创建了一个虚拟应用程序和一个版本。
  4. 我使用 "Upload Artifact" 导入了之前从步骤 1 下载的 fpr。现在,SSC 的新实例需要 3 天才能完全导入并提供 audit/metrics etc
  5. 确保 audit/metrics 与源 SSC 实例相同
  6. 随后,执行了新的扫描并上传了新的 fpr。

Fortify SSC 成功合并和工件。在后续上传时,现有审核将继续进行,不会丢失任何信息。