Google OSV-Scanner 版本迁移指南:从v1到v2的重要变更解析

Google OSV-Scanner 版本迁移指南:从v1到v2的重要变更解析

osv-scanner Vulnerability scanner written in Go which uses the data provided by https://osv.dev osv-scanner 项目地址: https://gitcode.com/gh_mirrors/os/osv-scanner

前言

Google OSV-Scanner 是一款开源的组件扫描工具,专门用于检测项目依赖中的潜在问题。随着项目从v1版本升级到v2版本,引入了一些重要的变更和改进。本文将详细解析这些变更,帮助开发者顺利完成迁移。

命令行接口(CLI)变更

实验性功能转为稳定功能

在v2版本中,许多实验性功能已经稳定,相关标志已移除"experimental"前缀:

  • 调用分析功能标志变更:

    • --experimental-call-analysis--call-analysis
    • --experimental-no-call-analysis--no-call-analysis
  • 包扫描范围标志变更:

    • --experimental-all-packages--all-packages
  • 许可证检查功能合并:

    • --experimental-licenses--experimental-license-summary合并为--licenses
    • 不带参数的--licenses等同于原来的--experimental-license-summary
    • 仍可指定允许的许可证列表:--licenses="MIT,Apache 2.0,..."
  • 离线模式相关标志变更:

    • --experimental-offline--offline
    • --experimental-offline-vulnerabilities--offline-vulnerabilities
    • --experimental-download-offline-databases--download-offline-databases
  • 解析控制标志变更:

    • --experimental-no-resolve--no-resolve

容器扫描功能重构

容器扫描功能已迁移为独立子命令:

# 旧方式
osv-scanner --docker <image-name>

# 新方式
osv-scanner scan image <image-name>

这种变更使命令结构更加清晰,符合现代CLI工具的设计规范。

引导修复模式变更

引导修复功能现在默认使用非交互模式。如需交互式体验,需显式指定--interactive标志。

日志级别简化

移除了verbose日志级别,现在仅支持:

  • info
  • warn
  • error

目录扫描快捷方式

现在osv-scanner <dir>osv-scanner scan source <dir>的快捷方式,简化了常用命令。

SBOM扫描规范变更

SBOM扫描现在要求文件名遵循相关规范,例如SPDX格式的文件应命名为*.spdx.json

Git根目录扫描行为变更

不再自动扫描.git根目录哈希。相关标志变更:

  • 移除--skip-git
  • 新增--include-git-root用于显式包含Git根目录扫描

已移除的废弃标志

以下标志已完全移除:

  • scan --json → 使用--format=json
  • fix --disallow-major-upgrades
  • fix --disallow-package-upgrades

JSON输出变更

许可证摘要信息现在仅在指定--license-summary时包含在JSON输出中,不再默认显示每个包的详细信息。这一变更减少了输出体积,提高了可读性。

迁移建议

  1. 逐步替换标志:检查现有脚本和CI/CD流程,逐步替换已变更的标志
  2. 测试新命令:特别是容器扫描和SBOM扫描的新用法
  3. 更新文档:确保团队内部文档反映这些变更
  4. 关注输出格式:特别是JSON输出的变更可能影响自动化处理流程

结语

v2版本的这些变更加强了工具的稳定性和一致性,虽然需要一定的迁移工作,但长期来看将提高使用体验和可靠性。建议开发者在测试环境中充分验证后,再在生产环境中应用这些变更。

osv-scanner Vulnerability scanner written in Go which uses the data provided by https://osv.dev osv-scanner 项目地址: https://gitcode.com/gh_mirrors/os/osv-scanner

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱恺才Grace

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值