Fortify中文网站 > 新手入门 > Fortify FPR文件怎么合并 Fortify FPR合并后结果重复怎么办
教程中心分类
Fortify FPR文件怎么合并 Fortify FPR合并后结果重复怎么办
发布时间:2026/07/31 16:58:50

  FPR文件里不只有漏洞结果,还可能包含源码片段、审计状态、注释和扫描信息。处理Fortify FPR文件怎么合并Fortify FPR合并后结果重复怎么办,先要明确目的:是把旧审计结果带到新扫描,还是把多个独立项目拼到一起。两种需求看着相近,处理方法却不一样。

  一、Fortify FPR文件怎么合并

 

  Fortify常见的合并用途,是将同一项目的新旧扫描进行关联。新扫描保留当前问题,旧FPR中的审计状态、标签和评论则迁移到对应问题上。

 

  1、使用Audit Workbench合并

 

  图形界面适合偶尔操作,步骤不算复杂。建议先打开本次新扫描生成的FPR,再选择以前已经审计过的文件。

 

  ①使用Audit Workbench打开新扫描FPR。

 

  ②进入【Tools】→【Merge Audit Projects】。

 

  ③选择旧的已审计FPR文件。

 

  ④出现模板选择提示时,确认使用的Issue Template。

 

  ⑤查看新增和移除问题数量,再确认合并。

 

  官方说明中,合并后的当前结果以较新的扫描为基础。旧扫描中存在、新扫描中没有的问题会标记为Removed,默认不会显示;评论和自定义标签则会按照问题匹配结果继续保留。

 

  2、使用FPRUtility命令合并

 

  自动化流水线或批量处理时,可以直接使用FPRUtility。该工具通常位于Fortify工具安装目录的bin文件夹中。

  ①将新扫描结果放在-project后。

 

  ②将旧审计文件放在-source后。

 

  ③使用-f指定新的输出文件。

 

  ④执行完成后,用Audit Workbench打开结果。

 

  -project是主FPR,字段发生冲突时会采用它的数据。使用-f后,原来的两个文件不会被改写;省略该参数,则可能直接覆盖主FPR,所以别图省事把它漏掉。

 

  3、确认合并文件属于同一项目

 

  新旧FPR最好来自同一套代码和相近的扫描环境。

 

  ①核对项目名称与代码分支。

 

  ②确认扫描文件范围基本一致。

 

  ③检查SCA版本和扫描参数。

 

  ④对比使用的安全规则内容。

 

  ⑤确认源码路径没有整体变化。

 

  Fortify要求参与审计合并的扫描具有相同或接近的分析信息,包括源码范围、库文件、扫描设置和安全内容。差异太大时,工具可能无法把同一问题识别成前后两次扫描中的同一个实例。

 

  4、需要汇总模块时谨慎使用追加

 

  多个模块无法一次完成扫描时,可以在生成结果阶段使用-append,将当前扫描问题追加到已有FPR中。

  -append会把前后两次扫描的问题放进同一文件,但不会合并完整的引擎数据,因此官方建议只在无法一次分析整个应用时使用,生成的结果也不支持结果认证。普通的新旧扫描审计迁移,还是优先使用合并。

 

  二、Fortify FPR合并后结果重复怎么办

 

  合并后看到两条名称、文件位置都很接近的问题,不一定真是重复。先看问题状态和Instance ID,再判断是历史结果显示出来了,还是匹配确实失败。

  1、检查是否显示了Removed问题

 

  合并文件会同时保存主扫描和次扫描的信息,用于判断新增与移除问题。打开全部状态后,同一位置可能同时看到当前问题和历史记录。

 

  ①检查问题的【Analysis】或状态字段。

 

  ②区分New、Existing与Removed。

 

  ③关闭Removed或Previous结果显示。

 

  ④重新统计当前活动问题数量。

 

  如果关闭历史状态后“重复项”消失,说明合并本身没有出错,只是筛选范围放得太宽。

 

  2、对比Instance ID和代码位置

 

  Fortify主要通过问题实例信息判断前后两次扫描是否对应。同一漏洞因文件路径、代码结构或扫描环境变化生成了不同Instance ID,就可能被当成两条问题。

 

  ①打开两条疑似重复结果。

 

  ②对比【Instance ID】。

 

  ③检查文件路径、函数名和问题类别。

 

  ④查看源代码行是否发生明显移动。

 

  ⑤确认工作目录大小写和层级是否变化。

 

  路径整体迁移、文件重命名或代码大幅重构后,问题匹配更容易出现偏差。此时别直接删除其中一条,先确认哪条属于当前扫描。

 

  3、统一扫描条件后重新合并

 

  新旧FPR缺少的文件不同,或者一份用了新Rulepack、另一份用了旧Rulepack,同一段代码可能产生不同结果。

 

  ①统一SCA与安全内容版本。

 

  ②使用相同的源码根目录。

 

  ③核对翻译与扫描参数。

 

  ④重新生成干净的新FPR。

 

  ⑤再与旧审计FPR合并一次。

 

  这一步看着有点折腾,但比在结果列表里手工删几十条靠谱。扫描基础不一致,后面怎么调筛选都治不了根本问题。

 

  4、必要时调整实例匹配

 

  FPRUtility支持通过-iidmigratorOptions调整实例ID迁移,也可以使用映射文件人工指定对应关系。

  其中-i会启用区分大小写的文件名比较;还可以通过匹配方案或Instance ID映射文件处理特殊迁移。该功能更适合路径规则明确的项目,参数没弄清楚前不要随便套,不然可能把不同问题误认为同一条。

 

  三、FPR合并结果怎么进一步整理

 

  重复原因处理完以后,还要确认审计信息是否保留。别只看问题总数下降了,结果标签和评论全丢了也不算成功。

 

  1、用固定样本验证合并结果

 

  ①挑选几条已经审计的问题。

 

  ②记录其Instance ID、标签和评论。

 

  ③完成合并后重新查找这些问题。

 

  ④确认审计状态和历史内容仍然存在。

 

  ⑤再核对New与Removed问题数量。

 

  小范围验证没问题,再把命令放进持续集成流程。直接拿整套项目反复试,出了问题很难看出是哪一步造成的。

 

  2、确认无须保留历史后精简FPR

 

  合并文件确认无误,且不再需要旧扫描数据时,可以使用-trimToLastScan移除上一轮扫描结果。

  该命令主要用于减小合并FPR体积和缩短打开时间,并不是自动去重工具。执行前要先确认审计迁移已经完成,否则历史对比信息会一起被清掉。

  总结

 

  处理Fortify FPR文件怎么合并Fortify FPR合并后结果重复怎么办,重点是把新扫描作为主FPR,把旧审计文件作为数据来源,并保持扫描范围、路径和安全内容一致。出现重复时,先排除Removed历史结果,再查Instance ID和扫描条件,别急着手工删问题。希望本文能为大家合并和整理Fortify FPR结果提供参考,如需进一步了解相关内容,可联系咨询。

135 2431 0251