如何区分 Fortify SCA 扫描

How to diff Fortify SCA scans

我们有 Fortify SCA,我们正在设置定期自动扫描我们的源代码。我们的目的是在出现安全问题时发出警报。有没有办法,也许使用 FPRUtility(或其他一些方法)来完成这个?最终,我更喜欢可以从命令行轻松运行的东西,但如果这也可以使用 GUI 来完成,那么我也希望知道如何做到这一点。

如果您使用的是 Fortify SCA,您还应该有权访问 Fortify 软件安全中心 (SSC)。 SSC 可用于跨项目构建跟踪趋势数据。 SSC 内置了根据 SSC 内用户定义的事件发出警报的功能;我从来没有和那些人一起工作过,所以除了文档所说的以外,我无法提供任何想法。

Fortify SCA 生成的报告(.fpr 文件)是 zip 文件 XML 存储所有相关数据的文件;我怀疑这些文件中的某些数据与 SCA 和 SSC 实例中存在的 SCA 规则集有关。我怀疑如果没有规则集,您将能够确定引入了新问题,但没有关于它们是什么、优先级等的任何好数据。

(1) Fortify 报告生成命令 XML 格式: FORTIFY_INSTALL_DIR\bin\ReportGenerator.bat -format xml -f target_file_name.xml -source your_fpr_file_name.fpr -template 详细-DefaultReportDefinition.xml

(2) 您也可以使用 AWB 生成 .pdf/.rtf/.xml 报告,通过报告(顶部菜单栏)-> 保存报告 -> select 格式 ->保存

(3) 刚刚在此处添加了创建 excel sheet 的过程:Export HP Fortify SCA 4.10 results in EXCEL format

(4) 如果你有DB(oracle)权限,可以用脚本查询

  1. 使用审计 Workbench 来 运行 报告。选择 "developer workbook" 并禁用除一个部分以外的所有部分。 (您可以选择任何您想要的部分)。

  2. 在报告部分的附加属性中,将问题的过滤器设置为 [issue age]:new。这意味着该报告将仅显示 FPR 中上次扫描中不存在但在最新扫描中引入的问题。保存模板。

  3. 在您的扫描配置中,确保每个项目每次都扫描到相同的 FPR,以便 "new" 问题可以通过报告 运行ner 计算。

  4. 扫描完成后,使用@user1836982的回答运行报告。选择 XML 模板并以编程方式处理它。