谷歌发布开源漏洞扫描工具

Google 发布 OSV-Scanner:开源漏洞扫描工具

Google 发布了 OSV-Scanner,这是一个开源的前端界面工具,用于与 Open Source Vulnerability (OSV) 数据库 进行交互。OSV 数据库是一个分布式的开源数据库,以 OSV 格式存储漏洞信息。OSV-Scanner 通过分析项目的依赖关系,并与 OSV 数据库进行比对,展示与项目相关的所有漏洞。

主要功能与工作原理

  • 依赖分析:OSV-Scanner 通过分析项目的清单文件(manifests)、软件物料清单(SBOMs)和提交哈希(commit hashes),确定项目使用的所有依赖项。
  • 漏洞查询:基于依赖信息,OSV-Scanner 查询 OSV 数据库,并报告与项目相关的漏洞。漏洞信息可以以表格形式或基于 JSON 的 OSV 格式呈现。
  • OSV 格式:OSV 格式是一种机器可读的 JSON 模式,用于呈现漏洞信息。该格式旨在与开源包中使用的命名和版本规范保持一致。

使用示例

  • 扫描目录:通过命令 osv-scanner -r /path/to/your/dir 可以递归扫描目录中的锁文件、SBOMs 和 git 目录。目前支持 SPDX 和 CycloneDX SBOMs,以及多种锁文件(如 yarn.lock、composer.lock、go.mod 等)。
  • 扫描 Docker 镜像:通过命令 osv-scanner --docker image_name:latest 可以扫描 Debian 镜像中安装的包,并提取相关漏洞信息。此功能需要安装 Docker,且目前不支持扫描 Docker 容器的文件系统。

配置与扩展功能

  • 忽略漏洞:OSV-Scanner 支持通过漏洞 ID 忽略特定漏洞,并可选择设置忽略的过期日期和原因。忽略的漏洞在配置文件中通过 IgnoreVulns 键指定。
  • 与 OpenSSF Scorecard 集成:OSV-Scanner 已集成到 OpenSSF Scorecard 的漏洞检查中,扩展了 Scorecard 的分析范围,不仅包括项目的直接漏洞,还包括项目依赖的漏洞。

未来计划

Google 软件工程师 Rex Pan 透露了 OSV-Scanner 的未来发展方向:

  • 独立 CI 操作:团队计划提供一个独立的 CI 操作,以便进一步集成到工作流程中。
  • 改进 C/C++ 支持:团队计划通过为 CVE 添加精确的提交级别元数据,构建高质量的 C/C++ 漏洞数据库。

获取与许可

OSV-Scanner 已在 GitHub 上发布,采用 Apache License 2.0 许可。更多详细信息可参考 Google 的 发布博客文章

阅读 50
0 条评论