近日,谷歌本发布了开源漏洞扫描器 OSV-Scanner 。OSV-Scanner 是为 OSV 数据库提供官方支持的前端,用 Go 编写,旨在扫描开源应用程序以评估任何合并依赖项的安全性。
谷歌在去年发布了开源漏洞(Open Source Vulnerability)架构并且启动 OSV.dev 服务,而 OSV-Scanner 则是 OSV 数据库的下一步。开源分布式数据库 OSV.dev 拥有 3.8 万个共建者,支持 16 个生态系统,包括所有主要语言、Linux 发行版(Debian 和 Alpine)、安卓、Linux 内核和 OSS-Fuzz。
扫描仪的原理是利用从 OSV.dev 数据库中提取的数据,来识别一个项目的所有横向依赖关系同时突出相关的漏洞。用户在项目中运行 OSV-Scanner 时,OSV-Scanner 将首先通过分析清单、SBOM 和提交哈希找到所有正在使用的传递依赖项。然后,扫描器将此信息与 OSV 数据库连接起来,并显示与用户项目相关的漏洞。
“审查数以千计的依赖关系不是开发人员可以自己完成的。” 谷歌开源安全团队软件工程师Rex Pan 在发布的博文中说道。根据官方介绍,与闭源漏洞数据库和扫描器相比,OSV-Scanner 主要有以下优势:
Pan 介绍道,团队首先是通过提供独立的 CI 操作进一步与开发人员工作流集成,允许轻松设置和安排以跟踪新漏洞。团队还将持续改进 C/C++ 漏洞(由于缺乏标准包管理器而面临的挑战)、为 OSV-Scanner 添加独特的功能、提供 VEX 支持等。