Synopsys 公司发布了 2020 年开源安全和风险分析(OSSRA)报告,该报告由 Synopsys 网络安全研究中心(CyRC)制作,研究了由黑鸭审计服务团队进行的 1,250 多次商业代码库审计的结果。重点介绍了商业应用程序中开源使用的趋势和模式,并提供了见解和建议,以帮助组织从安全性,许可证合规性和运营角度更好地管理开源风险。



  该报告重申了开源在当今软件生态系统中的关键作用,揭示了过去一年中几乎所有(99%)的经审核代码库均至少包含一个开源组件,其中开源代码占总体代码的70%。然而更值得注意的是,老化或废弃的开源组件的继续广泛使用,其中 91% 的代码库包含的组件已经过时四年以上,或者在过去两年中没有开发活动。

  此外,更令人担忧的则是不受管理的开放源代码带来的日益严重的安全风险的趋势。经过审计的代码库中有 75% 包含具有已知安全漏洞的开源组件;同时,几乎一半(49%)的代码库包含高风险漏洞;两者比例都实现了同比增长。

  Synopsys 网络安全研究中心首席安全策略师 Tim Mackey 表示:“很难否认开源软件在现代软件开发和部署中扮演的重要角色,但是很容易从安全和许可证合规性的角度忽略开源软件如何影响您的应用程序风险态势。”2020 OSSRA 报告强调了组织如何继续努力有效地跟踪和管理其开源风险。维护包括开放源代码依赖项在内的第三方软件组件的准确清单,并使其保持最新状态,是从多个层面解决应用程序风险的关键起点。”

  2020 OSSRA 报告中一些值得关注的开源风险趋势总结如下:

  开源的采用率继续飙升。99% 的代码库至少包含一些开源,每个代码库平均有 445 个开源组件,比 2018 年的 298 个有了显着增加。经过审核的代码中有 70 % 被确定为开源,这一数字从 2018 年的 60% 增长到 2015 年(36%)以来的近两倍。

  过时的和“废弃的”开源组件无处不在。 91% 的代码库包含的组件或者已经过时四年以上,或者在过去两年中没有开发活动。除了存在安全漏洞的可能性增加之外,使用过时的开源组件的风险还在于更新它们还会带来不必要的功能或兼容性问题。

  易受攻击的开源组件的使用再次呈上升趋势。在 2017 年至 2018 年期间,包含易受攻击的开源组件的代码库所占比例从 78% 下降至 60% 之后,在 2019 年上升至 75%。同样,包含高风险漏洞的代码库的百分比从 2018 年的 40% 上升到 2019 年的 49%。幸运的是,2019 年审核的代码库均未受到臭名昭著的 Heartbleed 错误或 2017 年困扰 Equifax 的 Apache Struts 漏洞的影响。

  开源许可证冲突继续使知识产权面临风险。 68% 的代码库包含某种形式的开放源代码许可证冲突,而 33% 的代码库包含没有可识别许可证的开放源代码组件。许可证冲突的发生率因行业而异,从最高的 93%(互联网和移动应用程序)到相对较低的 59%(虚拟现实、游戏、娱乐、媒体)不等。