谷歌发起OSV项目 致力于更好的开源软件漏洞分类
(来自:Google Security Blog)
项目启动初期,OSV 主要涵盖了 OSS-Fuzz 服务发现的模糊漏洞数据集。可知在“了解、预防、修复”的框架下,该公司的漏洞管理工作也迎来了相当大的改进。
谷歌表示,对于开源软件的使用者和维护者来说,漏洞管理都是一件相当痛苦的事情 —— 比如难以快速分辨“常见漏洞披露”(CVE)条目是否与当前使用的版本有关,且大多都涉及繁琐的劳动。
主要原因是,现有漏洞管理标准中的“版本控制方案”(CPE)无法与实际的开源版本方案实现完美映射(版本 / 标签 / 哈希值等),结果导致下游消费者也受累于此。
OSV 流程示意
对于开源软件的维护人员来说,除了发布所需的遵循的标准流程,仍需费心费力地确定所有受影响的在用版本、或跨各种分支的准确提交列表。
遗憾的是,对于大多数“用爱发电”的开源项目来说,维护者不仅缺乏至关重要的现代基础设施等资源,也难以在有心无力的情况下付出足够多的精力去洞察详情。
好消息是,谷歌发起的 OSV 项目,就旨在帮助开源软件使用者和维护者及时整合重要的安全修复程序。
(OSV 官网:传送门)
由谷歌分享的流程图和实例代码可知,OSV 不仅借助了自动化流程来减轻开源软件维护者的漏洞修复工作,还致力于通过易于使用的数据库,来提升下游使用者的漏洞查询精确性。
在确定了受影响的软件版本之后,OSV 将要求维护者在提交修复时,附上援引的相关内容。若该信息不可能,OSV 也会要求提供提供再现测试用例和步骤,然后智能地帮助分析和查找受影响的范围。
目前 OSV 已经提供了与 OSS-Fuzz 的紧密集成,涵盖了 380 多款重要开源软件项目的漏洞详情。之后还将与开源社区展开更深入的合作,以囊括跨各种语言的生态系统数据(比如 NPM 和 PyPI)。