Repolode
google

google/osv-scanner

一款用 Go 编写的命令行工具,基于 OSV 漏洞数据库检查项目依赖和容器镜像中的已知安全漏洞。

可替代:SnykDependabot

Star
11,432
Fork
845
未关闭 Issue
99
最近提交
17小时前

这是什么?

OSV-Scanner 将项目的依赖清单与 osv.dev 开放漏洞数据库中的已知漏洞进行比对。指定源码目录后,它会递归查找 package.json、go.mod、pom.xml 等受支持的包文件,并列出影响对应版本的漏洞。它也能扫描容器镜像,检查 Alpine、Debian、Ubuntu 的系统软件包,以及 Go、Java、Node、Python 等语言依赖。

除漏洞检测外,工具还可以按 SPDX 格式的许可证白名单检查依赖的许可证,并支持离线模式,使用本地下载的 OSV 数据库完成扫描。实验性的 fix 命令可为 npm 和 Maven 项目给出版本升级建议,并提供交互式界面。底层扫描能力基于 OSV-Scalibr 库实现。

核心功能

  • 01递归扫描源码目录,识别多种语言的锁文件和依赖清单。
  • 02扫描容器镜像中的系统软件包和语言依赖。
  • 03按 SPDX 许可证白名单检查依赖的许可证。
  • 04支持使用本地 OSV 数据库进行离线扫描。
  • 05通过实验性的 fix 命令为 npm 和 Maven 项目提供版本升级建议。

适用场景

  • 发布前检查项目依赖中是否存在已知漏洞。
  • 在 CI 流水线中扫描容器镜像,发现存在漏洞的基础镜像或软件包。
  • 按团队允许的许可证列表审核依赖许可证。
  • 在无法联网的环境中,使用本地存储的漏洞数据库进行扫描。

快速上手

  1. 1

    使用 Go 安装(从源码构建)

    go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest
  2. 2

    扫描源码目录以查找漏洞

    osv-scanner scan source -r /path/to/your/dir

使用前须知

  • README 称此版本为 V2 测试版,接口可能仍会变化。
  • 引导式修复(fix 命令)处于实验阶段,在不可信项目上运行时可能触发包管理器执行脚本。

收录于专题

标签

常见问题

osv-scanner 是什么?
一款用 Go 编写的命令行工具,基于 OSV 漏洞数据库检查项目依赖和容器镜像中的已知安全漏洞。 OSV-Scanner 将项目的依赖清单与 osv.dev 开放漏洞数据库中的已知漏洞进行比对。指定源码目录后,它会递归查找 package.json、go.mod、pom.xml 等受支持的包文件,并列出影响对应版本的漏洞。它也能扫描容器镜像,检查 Alpine、Debian、Ubuntu 的系统软件包,以及 Go、Java、Node、Python 等语言依赖。
osv-scanner 可以免费使用吗?用的什么许可证?
osv-scanner 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
osv-scanner 还在维护吗?
活跃维护中。osv-scanner 最近一次提交是在 2026年11月6日。
osv-scanner 适合用来做什么?
发布前检查项目依赖中是否存在已知漏洞。 在 CI 流水线中扫描容器镜像,发现存在漏洞的基础镜像或软件包。 按团队允许的许可证列表审核依赖许可证。 在无法联网的环境中,使用本地存储的漏洞数据库进行扫描。
osv-scanner 怎么安装和运行?
使用 Go 安装(从源码构建): go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest 扫描源码目录以查找漏洞: osv-scanner scan source -r /path/to/your/dir
在哪里获取 osv-scanner?
源代码和安装说明在 GitHub 上:https://github.com/google/osv-scanner

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目