WhiteSource通过对650多个开发人员进行了调查,并从NVD(Nartional Vulnerability Database)、安全公告、经过同行评审的漏洞数据库、问题跟踪程序等渠道收集了数据之后,整理发布了一份研究报告。该报告显示,2019年公开的开源软件漏洞数已激增至6000多个,同比增长了近50%。
值得庆幸的是,其中有85% 的漏洞已被披露,并提供了相应的修复程序。
不过报告也指出,遗憾的是,最终只有84% 的已知开源漏洞出现在 NVD 中。且有关漏洞的信息并没有集中在一个位置发布,而是分散在数百种资源中。因此,一旦出现索引编制不正确的状况时,就会使得搜索特定数据变得愈发艰难。
而报告的开源漏洞也中有45% 并未是最初就报告给 NVD 的,许多漏洞是在其他渠道中被报告数月后才在 NVD 中发布。在 NVD 之外报告的所有开源漏洞中,也只有29% 最终被登记在册。
此外,研究人员还对2019年漏洞排名前七的编程语言进行了比较,并将其与过去十年的数量进行了比较。结果发现,在这几种语言中,历史基础最好的C 语言占有最高的漏洞百分比。PHP 的相对漏洞数量也在大幅增加,但没有迹象表明其流行度有同样的提升。而 Python 方面,尽管该语言在开源社区中的普及率在持续上升,但其漏洞百分比仍相对较低。
另一方面, 该报告还考虑了通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)的数据是否是衡量补漏优先级的最佳标准。CVSS 在过去的几年中已进行了多次更新,以期达到为可对所有组织和行业提供支持的客观可衡量标准。然而在此过程中,它也改变了高严重性漏洞的定义。举例来说就是,此举意味着此前在 CVSS v2下被定为7.6的漏洞,在 CVSS v3.0标准下就可能被定为9.8,这也意味着团队会面临着更多的高严重性问题。现在,已有超过55% 的用户具有高严重性或严重性问题。
报告预测,在2020年,开源软件漏洞的数量还会持续增长。不过与此同时,一些针对开源安全系统的计划也在不断推进。
最后,报告作者也总结称,“最重要的一点是,列表中提及的开源项目具有漏洞并不意味着它们就不安全。这仅意味着作为开源项目的用户,您需要了解安全风险,并确保保持开源依赖关系的最新状态。”