Fortify完成静态分析后,通常会生成FPR文件,用于在Audit Workbench中审计结果,或上传到Fortify Software Security Center统一管理。处理“Fortify怎么导入分析结果,Fortify导入FPR文件失败如何处理”时,需要先区分是本地打开FPR失败,还是上传到Software Security Center后处理失败。两种场景虽然都表现为文件无法正常使用,但排查方向并不一样。
一、Fortify怎么导入分析结果
FPR是Fortify保存扫描结果、漏洞信息和审计数据的主要文件格式。已有FPR时,可以直接在Audit Workbench打开,也可以上传到Software Security Center对应的应用版本中继续管理。
1、在Audit Workbench中打开FPR
①启动Fortify Audit Workbench。
②进入【File】→【Open Project】。
③选择需要查看的FPR文件。
④单击【Open】,等待项目加载完成。
⑤进入漏洞列表,检查Issue数量、严重级别和源码定位是否正常。
如果只是需要本地查看或继续审计扫描结果,这种方式最直接。Audit Workbench能够直接把FPR作为Audit Project打开。
2、把FPR上传到Software Security Center
上传前,Software Security Center中必须已经存在对应的应用和应用版本,否则结果没有明确的归属位置。
①进入目标应用版本。
②打开【ARTIFACTS】。
③选择【ARTIFACT】并添加需要导入的FPR文件。
④确认文件对应当前应用版本后开始上传。
⑤上传完成后查看【ARTIFACT HISTORY】中的处理状态。
⑥状态正常后进入漏洞页面检查本次结果。
Software Security Center支持上传FPR等扫描产物,并会在后台进一步处理和合并结果。
3、自动化环境使用命令行上传
需要在CI/CD中自动上传时,可以使用fortifyclient:
fortifyclient uploadFPR-url
也可以通过应用名称和版本指定目标:
fortifyclient uploadFPR-url
①确认【authtoken】仍然有效。
②确认【applicationVersionID】或应用名称、版本名称填写正确。
③使用FPR文件的完整路径,避免构建工作目录变化后找不到文件。
④命令执行结束后继续到Software Security Center查看实际处理状态,而不是只判断上传命令是否返回成功。
二、Fortify导入FPR文件失败如何处理
FPR失败最好先看具体发生在哪个阶段。如果Audit Workbench直接打不开,优先检查文件本身和版本;如果Software Security Center已经接收文件,但显示处理错误,则要继续检查应用版本、处理规则和服务器限制。
1、先确认FPR本身是否有效
①确认FPR文件实际存在,而且文件大小不是0 KB。
②不要直接使用扫描过程尚未结束时产生的临时文件。
③使用【FPRUtility】读取FPR中的分析信息。
④需要检查扫描内部错误时执行:
FPRUtility-information-errors-project MyScan.fpr-f errors.txt
⑤打开生成的errors.txt,检查是否存在扫描未完成、分析器异常等问题。
FPRUtility可以读取FPR中的分析错误、版本、漏洞数量以及签名等信息,因此在怀疑文件损坏或扫描结果不完整时,比反复导入更容易找到问题。
2、检查FPR与Fortify版本是否兼容
版本差距过大是FPR打不开或上传失败时很容易忽略的问题。OpenText当前说明,Fortify产品可以处理同版本、受支持的旧版本以及相邻的较新版本FPR,但不支持比当前产品新两个以上版本的FPR。
①查看生成FPR时使用的Fortify SAST版本。
②再确认当前Audit Workbench或Software Security Center版本。
③如果FPR来自明显更高版本的分析器,优先升级接收端Fortify组件。
④多个团队交换FPR时,尽量统一Fortify版本。
⑤FPR经过较新版本工具重新审计或合并后,也要重新确认它的文件版本。
这类问题不适合通过重新扫描参数去解决,根本原因在于FPR格式版本与当前工具能力不匹配。
3、检查目标应用版本和上传权限
①确认FPR准备上传到正确的【Application Version】。
②检查当前账号是否具有【Upload analysis results】权限。
③命令行上传时重新确认Token没有过期。
④使用应用名称上传时,检查名称和版本是否完全匹配。
⑤不确定目标ID时,先查询正确的应用版本标识,再重新上传。
如果文件可以在Audit Workbench正常打开,但上传Software Security Center直接失败,这一类配置问题应优先排查。
4、检查处理规则和文件限制
FPR成功上传后仍可能显示【Error Processing】或等待审批,这说明文件已经到达服务器,但没有完成正常处理。
①进入【ARTIFACT HISTORY】查看本次FPR状态。
②出现【Error Processing】时,打开对应的处理消息。
③检查是否触发【Processing Rules】。
④如果扫描采用Quick Scan,确认当前应用版本是否允许处理这类结果。
⑤检查是否存在前一个扫描仍处于待审批状态。
⑥同时确认上传文件没有超过服务器允许的大小。
Software Security Center的处理规则可以针对Build Project变化、文件数量差异、Rulepack变化、Quick Scan结果和审计权限等情况要求审批或阻止处理;官方文档还规定上传到SSC的文件不得超过2 GB。
三、怎样确认导入后的分析结果没有问题
FPR能够打开或显示上传成功,只说明文件已经进入系统,还需要确认漏洞数量和分析范围没有发生异常变化。
1、核对FPR中的基础数据
①使用【FPRUtility】查看漏洞分类和分析器统计。
②记录本地FPR中的Issue数量。
③导入Software Security Center后,再查看对应应用版本中的结果数量。
④差异较大时,检查过滤条件、处理规则以及结果合并情况。
⑤必要时查看FPR中记录的分析文件和代码行数,确认扫描范围正确。
2、连续扫描要注意结果合并
Software Security Center会把新上传的FPR与应用版本现有结果合并,因此后续看到的结果不一定只来自最新一次扫描。版本、Rulepack或扫描范围发生明显变化时,应先理解这些变化,再解释漏洞数量的增减。
总结
“Fortify怎么导入分析结果,Fortify导入FPR文件失败如何处理”的关键,是保证分析文件、Fortify版本和目标应用环境之间保持一致。FPR不仅是一个结果文件,还承载了扫描版本、审计信息和分析上下文,因此导入异常不能只从上传动作本身判断。把文件完整性、版本兼容性和服务器处理状态区分清楚,通常更容易定位真正原因。希望本文对大家管理Fortify分析结果有所帮助,如果在FPR文件兼容、结果导入或Software Security Center处理异常方面还有疑问,欢迎联系咨询。