GitLab生成的Trivy扫描报告转HTML报错求解决方案
解决Trivy转换GitLab容器扫描JSON报告为HTML的问题
错误原因
GitLab生成的gl-container-scanning-report.json遵循GitLab自身的安全报告格式,并非Trivy原生的扫描输出结构。Trivy的convert命令仅支持转换Trivy自己生成的扫描报告,因此会误判格式并抛出「AWS and Kubernetes scanning reports are not yet supported」的错误。
可行解决方案
直接用Trivy生成HTML报告
跳过GitLab的JSON报告生成步骤,直接调用Trivy扫描容器并输出HTML:trivy image --format template --template "@contrib/html.tpl" -o /tmp/report.html <你的镜像名称>此方法直接生成符合预期的HTML报告,完全规避格式兼容问题。
自定义脚本转换GitLab格式JSON
基于GitLab容器扫描报告的固定结构,用脚本解析并生成HTML:- 用
jq提取核心漏洞信息:jq '.vulnerabilities[] | {名称: .name, 风险等级: .severity, 描述: .description, 修复方案: .solution}' gl-container-scanning-report.json - 结合Jinja2等模板引擎编写HTML模板,将提取的数据填充后生成最终报告。
- 用
使用GitLab内置查看功能
GitLab项目的「安全」>「容器扫描」页面支持直接查看扫描结果,可按风险等级筛选,还能导出CSV格式报告,无需额外转换。
内容的提问来源于stack exchange,提问作者Justin Blazejewski
相关产品推荐
相关产品推荐

