1、年度开源安全和风险分析报告目录欢迎阅读2025年度OSSRA报告 .1本报告的阅读对象.1您将学到什么?为什么说它很重要?.2关于本报告的数据和Black Duck审计 .3研究结果概览.4开源风险和漏洞概览.7软件安全始于代码可视性.7了解风险管理并获得代码可视性.8使用SCA和SBOM提高软件安全性和透明度.8分析漏洞的影响.11Log4j和Equifax:关于代码可视性的两点经验教训.12最危险和最严重风险的漏洞.13数据能告诉我们什么.18行业特定的洞察 .18开源许可.19冲突、变体和缺乏许可证如何产生风险.19传递性依赖对许可证冲突的影响.202024年的十大开源许可证.20何为宽
2、松式、弱著佐权和互惠开源许可证?.21如何通过SCA管理开源许可证风险 .21按行业划分的许可证冲突情况.22并购注意事项.23影响风险的维护和运营因素.25结语:发生变化的事物越来越多.27主要建议.282025年度开源安全和风险分析报告|1欢迎阅读2025年度 OSSRA报告 开源软件(OSS)彻底颠覆了应用开发工作,它们提供了一个庞大的预构建组件库,可以带来节约成本、提高灵活性和可扩展性等诸多好处。然而,在获得所有这些好处的同时,使用开源软件的每家公司都需要准备好承认并应对开源风险。2025年度 “开源安全和风险分析”(OSSRA)报告 详细介绍了Black Duck审计数据的主要分析结
3、果,包括安全漏洞、许可问题、组件维护和行业趋势。我们的分析表明,开源无处不在,如果不能正确识别和管理,可能会带来重大风险。本报告的阅读对象本报告的研究结果将有益于各类读者,特别是那些参与保护软件供应链的读者,以及那些直接参与软件开发、安全和风险管理以及并购(M&A)活动的读者。开发人员将深入了解我们在开源软件中发现的常见漏洞类型,包括跨站脚本(XSS)和拒绝服务(DoS)漏洞。例如,OSSRA报告强调了采用输入验证和净化技术的重要性,这可以帮助开发人员构建更安全的应用。此外,本报告还标识了包含漏洞的最常见开源组件,这将有助于开发人员在选择开源库和框架时做出明智决策。例如,开发团队应该意识到,我
4、们的数据显示,jQuery、jackson-databind和Spring Framework经常包含需要定期管理和修补的漏洞。OSSRA 2025报告还强调了使用过时组件的风险,以及所有组织机构实施及时更新流程的必要性。例如,我们发现90%的被审代码库中包含最近四年没有进行任何维护与更新的过时开源组件。过时组件会放大安全风险,为攻击者提供更大的攻击面,并带来合规性和兼容性问题。过时开源组件的存在也表明,开发人员没有利用最新的软件,而是依赖不再维护的代码。“以虞待不虞者胜。”孙子2025年度开源安全和风险分析报告|2关注安全问题的读者可以利用 OSSRA 2025报告 提供的数据来改进漏洞管理
5、流程。例如,该报告确定了在审计中发现的最常见的通用漏洞披露(CVE)及其与常见软件弱点枚举(CWE)的关系。风险管理专业人员可以使用OSSRA数据就开源软件采用和风险缓解制定明智的战略决策。他们还能跨行业来比较漏洞占比和其他指标,从而帮助确定其组织机构在哪些领域表现良好,而哪些领域需要改进。OSSRA数据主要源于对并购目标的代码分析,能给参与并购交易的专业人士提供关键洞察,帮助他们了解交易中可能遇到的各种问题,如常见的开源许可冲突、目标公司的安全状况,以及可能影响目标公司IP价值的潜在运营挑战。您将学到什么?为什么说它很重要?您软件中的开源组件比您想象的多得多:我们评估的代码库中有97%包含开
6、源代码,每个应用平均有911个OSS组件。从行业角度看,包含开源代码的代码库比例从计算机硬件和半导体、教育科技、互联网和移动应用领域的100%,到制造业、工业和机器人领域“较低的”79%不等。开源代码库变得越来越庞大、越来越复杂:我们的数据显示,在过去四年间,普通应用中的开源文件数量增加了两倍。这背后的原因之一便是对“传递性依赖项”其他软件组件赖以运行的开源库 的使用。开源代码经常会使用其他开源代码。我们的审计显示,在我们扫描发现的开源组件中,有64%是传递性依赖项,如果不使用自动化工具,几乎不可能定位或跟踪它们。如果您缺乏最新的第三方代码清单,那么,查找传递性依赖项的所有实例就像大海捞针一样