81%的代码库包含已知的开源漏洞
Synopsys发布了一份报告,对并购交易中商业和专有代码库的2400多项审计结果进行了审查,并强调了以下趋势开放源码在商业和专有应用程序中的使用,并提供见解以帮助开发人员更好地理解互连的软件生态系统。
该报告还详细说明了不受管理的开放源代码带来的普遍风险,包括安全漏洞、过时或废弃的组件以及许可证合规性问题。
这些发现强调了这样一个事实,即开源在任何地方、任何行业都被使用,并且是今天构建的每个应用程序的基础。
过时的开源仍然是标准
包括存在易受攻击的Log4j版本。从运营风险/维护的角度来看,2097个代码库中有85%包含了已经过时四年以上的开源代码。88%的客户使用了非最新版本的组件。5%包含Log4j的易受攻击版本。
评定代码库显示开源漏洞总体上在减少。2097个被评估的代码库包括安全和业务风险评估。包含高风险开源漏洞的代码库的数量有了更大幅度的减少。与去年的60%相比,今年49%的审计代码库包含至少一个高风险漏洞。此外,81%的评估代码库包含至少一个已知的开源漏洞,比2021 OSSRA的调查结果减少了3%。
许可证冲突总体上也在减少。超过一半(53%)的代码库包含许可证冲突,比2020年的65%大幅下降。总体而言,在2020年至2021年期间,特定的许可证冲突全面减少。
20%的评估代码库包含没有许可证或定制许可证的开源代码。由于软件许可证控制着使用它的权利,没有许可证的软件面临着使用开源组件是否会带来法律风险的两难境地。此外,定制的开源许可证可能会对被许可方提出不良要求,并且通常需要对可能的知识产权问题或其他影响进行法律评估。
Synopsys Cybersecurity Research Center的首席安全策略师蒂姆·麦基(Tim Mackey)说:“SCA软件的用户将注意力集中在减少开源许可证问题和解决高风险漏洞上,这一努力反映在今年许可证冲突和高风险漏洞的减少上”。
“事实是,我们审计的代码库中超过一半仍然包含许可证冲突,近一半仍然包含高风险漏洞。更令人不安的是,88%的代码库(包含风险评估)包含过时版本的开源组件,其中有一个可用的更新或补丁尚未应用。”
Mackey继续表示:“不保持软件完全最新是有正当理由的。但是,除非一个组织对其代码中使用的开放源代码保持准确和最新的库存,否则过时的组件可能会被遗忘,直到它变得容易受到高风险的利用,然后就开始争相确定它在哪里被使用并更新它。这正是Log4j所发生的事情,为什么软件供应链和软件材料清单(SBOM)是如此热门的话题”。