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

Azure DevOps Pipeline中Trivy扫描结果无法可视化问题求助

解决Azure Pipeline中Trivy扫描结果上传失败及可视化问题

针对Trivy扩展v1的文件上传错误修复

错误提示显示无法找到/tmp下的结果文件,核心原因是Azure Pipeline代理的/tmp目录存在权限或路径访问限制,可通过手动指定结果输出路径到工作目录解决:

  1. 修改Trivy任务配置,添加outputFile参数将结果文件指定到工作目录:
- task: trivy@1
  inputs:
    version: '0.47.0' # 避免使用latest,指定稳定版本减少兼容性问题
    severities: 'CRITICAL,HIGH,MEDIUM'
    path: '$(System.DefaultWorkingDirectory)/test'
    exitCode: 0
    outputFile: '$(System.DefaultWorkingDirectory)/trivy-results.json' # 强制输出到工作目录
  displayName: 'Run Trivy Scan'
  1. 可选:在克隆仓库后添加验证步骤,确认目标路径及文件存在:
- script: |
    ls -la $(System.DefaultWorkingDirectory)/test
  displayName: 'Verify Cloned Repository'

Docker运行Trivy后的可视化解决方案

HTML文件无法直接在Azure仪表盘展示,需生成SARIF格式结果并通过官方任务上传:

  1. 修改Docker运行命令,生成SARIF格式扫描结果:
- script: |
    docker run --rm -v $(System.DefaultWorkingDirectory)/test:/app aquasec/trivy fs \
      --format sarif \
      --output /app/trivy-results.sarif \
      /app
  displayName: 'Run Trivy via Docker'
  1. 添加Publish SARIF Results任务上传结果,实现仪表盘可视化:
- task: PublishSarif@1
  inputs:
    sarifFile: '$(System.DefaultWorkingDirectory)/test/trivy-results.sarif'
    failOnErrors: false # 根据业务需求设置是否让Pipeline因漏洞失败
  displayName: 'Publish Trivy SARIF Results'

额外排查建议

  • 优先使用指定版本的Trivy(而非latest),避免版本迭代引发的兼容问题;
  • 检查Pipeline代理的工作目录权限,确保任务拥有读写权限;
  • 若问题仍存在,可在Trivy任务前添加环境变量TRIVY_DEBUG=true,输出详细日志定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 11:27:20