
📋 项目概览
- 🌟 项目名称:osv-scanner
- 🏢 出品方:Google
- 🔗 项目地址:https://github.com/google/osv-scanner
- 📊 Star数:(20260106)8.3k
- 📝 开源协议:Apache License 2.0
- 🔧 核心技术:Go语言,基于OSV-Scalibr库、OSV.dev数据库
一句话介绍:Google 开源的 OSV-Scanner 是一款轻量级CLI工具,可扫描项目依赖、容器镜像等,精准匹配 OSV.dev 数据库中的已知漏洞,提供可操作的修复建议。
可靠性评估:
- 维护状态:活跃维护,v2版本持续迭代(如v2.2.0新增特性),近期仍有功能更新和bug修复;
- 背书情况:由Google官方出品,基于开源且权威的OSV.dev数据库,OpenSSF等社区认可;
- 生产环境采用:支持多语言/多容器环境,具备离线扫描、容器分层分析等生产级特性,可用于企业级漏洞检测。
🎯 核心能力
解决什么问题
场景1:项目依赖漏洞检测
- 痛点:传统漏洞扫描工具易产生大量误报,且对多语言生态支持不全;
- 解法:基于OSV.dev精准的版本匹配规则,结合调用分析减少误报,支持11+语言/19+锁文件类型;
- 效果:精准定位受影响依赖版本,明确修复版本,误报率显著降低。
场景2:容器镜像漏洞扫描
- 痛点:容器镜像漏洞扫描难以区分基础镜像/新增层漏洞,修复无针对性;
- 解法:分层感知扫描,识别漏洞引入的容器层、基础镜像信息,区分OS包和语言依赖漏洞;
- 效果:可精准定位漏洞来源层,减少无效修复,覆盖Alpine/Debian/Ubuntu主流发行版。
场景3:无网络环境下的漏洞检测
- 痛点:内网/隔离环境无法访问外部漏洞数据库,无法开展扫描;
- 解法:支持离线模式,预下载OSV数据库后本地扫描,无需网络连接;
- 效果:内网环境也能完成合规性漏洞检测,无网络依赖。
核心特性
- 🔍 多场景扫描:支持源码目录、容器镜像、离线环境扫描,覆盖开发/部署全流程;
- 📜 灵活输出:支持表格/Markdown/JSON/SPDX等多格式输出,适配报告/自动化集成;
- 🛠️ 引导式修复:实验性引导修复功能,基于依赖深度/严重度推荐最小化版本升级方案;
- 📄 许可证扫描:基于deps.dev数据检测依赖许可证,支持自定义许可白名单;
- ⚡ 高性能:递归扫描效率高,支持.gitignore忽略规则,减少不必要扫描;
- 🌐 生态兼容:支持npm/pip/maven/cargo等主流包管理器,覆盖C/C++/Go/Java/Python等语言。
不适用场景:
- ❌ 非开源依赖漏洞检测:仅覆盖OSV.dev收录的开源生态漏洞,闭源商业软件依赖无法扫描;
- ❌ 实时漏洞监控:工具为离线/按需扫描模式,无主动推送实时漏洞告警的能力;
- ❌ 代码级漏洞检测:仅检测依赖漏洞,不分析项目自研代码的安全缺陷(如SQL注入)。
🔄 横向对比
主要竞品对比
| 对比项 | osv-scanner | Trivy | Grype |
|---|---|---|---|
| 性能 | 轻量(CLI工具,秒级扫描小型项目) | 轻量(容器扫描速度快) | 偏重型(规则加载耗时较长) |
| Star数(20260106) | 8.3k | 30.8k | 11.3k |
| 学习成本 | 低(CLI命令简洁,文档完善) | 中(配置项多,规则自定义复杂) | 中(需理解Syft数据源) |
| 核心优势 | 基于OSV.dev精准版本匹配,误报率低,多语言支持友好 | 容器/云原生生态集成度高,规则更新快 | 与Anchore生态联动,企业级策略支持 |
| 适用场景 | 开发者本地扫描、小型团队/项目的依赖/容器漏洞检测 | 云原生环境(K8s/容器)批量扫描 | 企业级合规审计、复杂策略管控 |
选型建议
✅ 推荐使用:
- 开发者本地/CI流程中的依赖漏洞扫描 - 轻量无依赖,多语言支持,误报率低;
- 容器镜像分层漏洞分析 - 精准定位漏洞引入层,修复更有针对性;
- 内网/离线环境的漏洞检测 - 离线模式适配隔离环境,无需外网访问。
⚠️ 谨慎评估:
- 企业级大规模漏洞管理 - 缺乏集中化管理/告警功能,需自行集成到现有安全平台;
- 实验性功能依赖(如引导式修复) - 部分功能仍为实验性,生产环境需验证稳定性。
❌ 不推荐:
- 代码自研漏洞检测 - 仅检测依赖,无代码分析能力,建议替代方案:Semgrep/SAST工具;
- 闭源商业软件漏洞扫描 - 仅覆盖开源生态,建议替代方案:商业漏洞扫描工具(如Snyk)。
其他可选方案:
- Trivy:轻量级容器/代码漏洞扫描工具 - https://github.com/aquasecurity/trivy;
- Grype:企业级容器漏洞扫描工具 - https://github.com/anchore/grype;
- Snyk:商业级开源依赖漏洞管理(含免费版) - https://github.com/snyk/snyk。