Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
osv-scanner — 用 Go 编写的漏洞扫描器,使用 https://osv.dev 提供的数据 | Kitploit
工具/GitHubGitHub/google/osv-scanner
漏洞扫描器容器安全漏洞分析代码分析DevSecOps秘密检测供应链安全DevSecOps 分类第 10 名供应链安全 分类第 1 名
GitHub
10.8k7517014小时40分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
google/osv-scanner

osv-scanner

用 Go 编写的漏洞扫描器,使用 https://osv.dev 提供的数据

查看仓库网站
分享

OpenSSF Scorecard Checks codecov SLSA 3 GitHub Release

使用 OSV-Scanner 查找影响项目依赖项的现有漏洞。 OSV-Scanner 为 OSV 数据库提供官方支持的前端,并为 OSV-Scalibr 提供 CLI 接口,可将项目的依赖项列表与影响它们的漏洞关联起来。

OSV-Scanner 支持多种项目类型、包管理器和功能,包括但不限于:

  • 语言: C/C++, Dart, Elixir, Go, Java, Javascript, PHP, Python, R, Ruby, Rust。
  • 包管理器: npm, pip, yarn, maven, go modules, cargo, gem, composer, nuget 等。
  • 操作系统: 检测 Linux 系统上操作系统软件包中的漏洞。
  • 容器: 扫描容器镜像中基础镜像及所含软件包的漏洞。
  • 引导式修复: 根据依赖深度、最低严重性、修复策略和投资回报率等条件提供软件包版本升级建议。

OSV-Scanner 在底层使用可扩展的 OSV-Scalibr 库来提供此功能。如果当前不支持某种语言或包管理器,请提交功能请求。

底层数据库

底层数据库 OSV.dev 与闭源安全公告数据库和扫描器相比,具有以下几项优势:

  • 覆盖大多数开源语言和操作系统生态系统(包括 Git),非常全面。
  • 每条安全公告均来自开放且权威的来源(例如 GitHub Security Advisories、RustSec Advisory Database、Ubuntu security notices)。
  • 任何人都可以提出对安全公告的改进建议,从而形成高质量数据库。
  • OSV 格式以机器可读的格式明确存储受影响版本的信息,并精确映射到开发者的软件包列表上。

以上所有特性都会带来准确且可操作的漏洞通知,从而缩短解决漏洞所需的时间。请访问 OSV.dev 了解更多详情!

基本安装

如需安装 OSV-Scanner,请参阅我们文档中的安装部分。OSV-Scanner 的发布版本可在 GitHub 仓库的发布页面找到。推荐的方法是下载适用于您平台的预构建二进制文件。或者,您也可以使用 go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest 从源码构建。

主要功能

如需了解更多信息,请阅读我们的详细文档以了解如何使用 OSV-Scanner。有关每个功能的详细信息,请点击本 README 中的标题。

请注意:这些是最新 OSV-Scanner V2 beta 版的说明。如果您在使用 V1,请改看 V1 的 README 和文档。

扫描源目录

root@kitploit:~
$ osv-scanner scan source -r /path/to/your/dir

该命令将递归扫描指定目录中所有受支持的软件包文件,例如 package.json、go.mod、pom.xml 等,并输出发现的任何漏洞。

OSV-Scanner 可选择使用调用分析来确定项目中是否实际使用了易受攻击的函数,从而减少误报并提供可操作的警报。

OSV-Scanner 还可以检测 vendored 的 C/C++ 代码以进行漏洞扫描。详情请参见此处。

支持的锁定文件

OSV-Scanner 支持 11 种以上语言生态系统和 19 种以上锁定文件类型。如需确认您的生态系统是否受支持,请查看我们的详细文档。

容器扫描

OSV-Scanner 还支持对容器镜像进行全面、分层感知的扫描,以检测以下操作系统软件包和语言特定依赖项中的漏洞。

发行版支持语言工件支持
Alpine OSGo
DebianJava
UbuntuNode
Python

有关支持的详细信息,请参阅完整文档。

用法:

root@kitploit:~
$ osv-scanner scan image my-image-name:tag

容器扫描 HTML 输出的屏幕录像

许可证扫描

使用 deps.dev 数据检查依赖项的许可证。如需摘要:

root@kitploit:~
osv-scanner --licenses path/to/repository

要对照允许的许可证列表(SPDX 格式)进行检查:

root@kitploit:~
osv-scanner --licenses="MIT,Apache-2.0" path/to/directory

离线扫描

使用本地 OSV 数据库扫描您的项目。首次下载数据库后无需网络连接。该数据库也可以手动下载。

root@kitploit:~
osv-scanner --offline --download-offline-databases ./path/to/your/dir

引导式修复(实验性)

[!WARNING] 在不受信任的项目上运行引导式修复(fix 命令)可能存在风险。它可能会触发包管理器执行脚本或访问项目指定的外部注册表。请确保在继续之前信任源代码和工件。

OSV-Scanner 提供引导式修复功能,可根据依赖深度、最低严重性、修复策略和投资回报率等条件建议软件包版本升级。我们目前支持修复以下文件中的漏洞:

该功能既可以作为无头 CLI 命令使用,也可以作为交互模式使用。

示例(npm)

root@kitploit:~
$ osv-scanner fix \
    --max-depth=3 \
    --min-severity=5 \
    --ignore-dev  \
    --strategy=in-place \
    -L path/to/package-lock.json

交互模式(npm)

root@kitploit:~
$ osv-scanner fix \
    -M path/to/package.json \
    -L path/to/package-lock.json
交互式 relock 结果界面截图,其中选中了一些放宽补丁

数据来源与隐私

OSV-Scanner 在运行期间会与以下外部服务通信:

OSV.dev API

这是漏洞信息的主要数据来源。OSV-Scanner 会查询此 API 以检查软件包是否存在已知漏洞,并识别 vendored 的 C/C++ 依赖项。发送的数据包括软件包名称、版本、生态系统和文件哈希。使用 --offline 模式可禁用网络请求,改为针对本地数据库进行扫描。

deps.dev API

用于补充软件包信息:

  • 依赖解析:解析依赖关系图,用于漏洞扫描和修复。
  • 容器镜像扫描:查询容器镜像元数据以检测漏洞。
  • 许可证扫描(--licenses 标志):检索软件包的许可证信息。
  • 软件包弃用检查:检查软件包是否已被弃用。

发送的数据包括软件包名称、版本和生态系统。不会传输源代码。

软件包注册表

当使用原生注册表进行依赖解析(而非 deps.dev)时,OSV-Scanner 可能会查询:

注册表URL用途
Maven Centralrepo.maven.apache.org/maven2Maven 软件包元数据和 POM 文件

贡献

报告问题

如果您认为遇到了 bug,请使用 GitHub 问题跟踪系统。在提交问题之前,请先搜索现有问题,确认您的问题是否已被覆盖。

为 osv-scanner 贡献代码

有关如何贡献代码的文档,请参阅 CONTRIBUTING.md。

Star 历史

Star History Chart

下载工具
生态系统文件格式(类型)支持的修复策略
npmpackage-lock.json(锁定文件)in-place
npmpackage.json(清单文件)relock
Mavenpom.xml(清单文件)override
npm Registryregistry.npmjs.orgnpm 软件包元数据
PyPIpypi.orgPython 软件包元数据