You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fortify CI集成:Jenkins构建中如何审核FPR文件并遇错终止构建?

审核FPR文件并终止Jenkins构建的最优方案

作为经常处理Jenkins+Fortify集成的开发者,我来分享几个经过实践验证的最优方法,帮你在构建流程里自动审核FPR文件,一旦检测到不符合要求的漏洞就终止构建:

方法一:使用Fortify官方Jenkins插件(首推)

这是最省心的方案,官方插件已经封装了和SSC的交互逻辑,不用自己写复杂脚本:

  • 先在Jenkins的「插件管理」里安装Fortify Jenkins Plugin。
  • 配置流程:
    1. 进入Jenkins全局配置,添加你的SSC服务器连接信息(地址、用户名密码凭据)。
    2. 在你的Job构建流程中,在sourceanalyzer生成FPR并上传到SSC的步骤之后,添加Fortify SSC Assessment步骤。
    3. 在该步骤的配置里,设置构建失败阈值:比如你可以指定「高危漏洞数量>0」「总漏洞数≥5」或者「存在特定类型的漏洞」时,让构建直接失败。
    4. 插件会自动从SSC拉取最新的扫描结果,对照你设置的阈值判断,完全不用手动解析FPR文件,非常高效。

方法二:用fprutility命令行自定义审核逻辑

如果需要更灵活的规则(比如结合漏洞类型、自定义风险等级),可以用Fortify自带的fprutility工具本地解析FPR:

  • 在Jenkins构建的「Post-build Actions」或者「Pipeline脚本」里添加以下命令:
    # 导出FPR文件的漏洞统计信息到临时文件
    fprutility -info -project ./your-project.fpr -output fpr-results.txt
    
    # 统计高危漏洞数量(根据实际输出格式调整grep/awk逻辑)
    HIGH_RISK_NUM=$(grep "High Severity" fpr-results.txt | awk '{print $NF}')
    
    # 判断如果高危漏洞数超过阈值,终止构建
    if [ "$HIGH_RISK_NUM" -gt 0 ]; then
        echo "⚠️ 检测到${HIGH_RISK_NUM}个高危漏洞,终止构建"
        exit 1
    fi
    
  • 这种方式适合需要定制化判断规则的场景,比如只针对特定漏洞类型(如注入类)来终止构建。

方法三:调用SSC REST API获取扫描结果

如果FPR已经上传到SSC,也可以直接调用SSC的API来查询结果,复用SSC上配置的质量门规则:

  • 在Jenkins脚本里用curl+jq来处理(需要提前在Jenkins节点安装jq):
    # 替换为你的SSC地址、凭据和项目版本ID
    SSC_URL="http://your-ssc-server:8080/ssc"
    SSC_CREDS="${SSC_USER}:${SSC_PASS}"
    PROJECT_VERSION_ID="12345"
    
    # 调用API获取漏洞摘要
    ISSUE_SUMMARY=$(curl -s -u "$SSC_CREDS" "${SSC_URL}/api/v1/projectVersions/${PROJECT_VERSION_ID}/issues/summary")
    
    # 提取高危漏洞数量
    HIGH_RISK_COUNT=$(echo "$ISSUE_SUMMARY" | jq '.counts.HIGH')
    
    # 触发构建失败
    if [ "$HIGH_RISK_COUNT" -gt 0 ]; then
        echo "❌ SSC检测到${HIGH_RISK_COUNT}个高危漏洞,构建终止"
        exit 1
    fi
    
  • 这种方式适合已经在SSC里配置了完善的质量门规则,想直接复用这些规则来管控Jenkins构建的场景。

额外注意事项

  • 确保Jenkins节点上已经安装了对应的工具:Fortify工具集(sourceanalyzer、fprutility)、jq(如果用API方案)。
  • 不要在脚本里明文写SSC的用户名密码,存在Jenkins的「凭据管理」里,通过环境变量引用更安全。

内容的提问来源于stack exchange,提问作者Faizal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:09:10