2025年度开源安全和风险分析报告-Black Duck

2025-04-23ASPCMS社区 - fjmyhfvclm

《2025年度开源安全和风险分析报告》由Black Duck发布,报告基于对16个行业965个商业代码库的审计数据,深入剖析了开源软件在安全和风险方面的状况,为软件开发、安全管理和并购等相关人员提供决策依据。

1. 开源软件的使用现状:开源软件在商业代码库中广泛存在,97%的代码库包含开源代码,平均每个应用有911个OSS组件,且开源文件数量在过去四年增加两倍 。大部分开源代码来自包管理器存储库,如npm。传递性依赖项普遍,占开源组件的64%,给管理带来挑战 。

2. 开源软件的风险与漏洞

安全漏洞:81%的风险评估代码库存在高风险或重大风险漏洞,10大高风险漏洞中有8个与jQuery有关 。常见漏洞类型包括跨站脚本(XSS)、拒绝服务(DoS)等,多由输入验证不当、资源消耗不受控等问题导致。例如,CVE-2020-11023是影响jQuery的XSS漏洞,曾被实际利用,威胁数据安全 。

许可问题:56%的代码库存在许可证冲突,33%的代码库包含无许可证或定制许可证的OSS组件 。许可证冲突可能因组件许可证与项目整体许可证不兼容,或不同组件间许可证不兼容导致。传递性依赖也会引发许可证冲突,如强限制性许可证的传递性依赖项可能影响整个应用的许可 。

维护和运营风险:91%的代码库包含过时的OSS组件,90%的代码库包含落后于最新版本至少10个版本的组件,这增加了安全风险和技术债务 。许多开源项目维护人员减少,导致组件更新不及时,即便最新版本的组件也可能未得到积极维护 。

3. 应对开源风险的措施

提高代码可视性:采用软件组成分析(SCA)工具生成软件物料清单(SBOM),通过代码扫描、依赖关系分析等功能,识别组件、漏洞和许可证问题,实现对软件供应链的全面监控和管理 。

管理漏洞风险:SCA工具根据严重性、可利用性等因素对漏洞进行优先级排序,帮助组织集中处理关键漏洞 。例如,通过可达性和影响分析确定漏洞的利用可能性,合理分配修复资源 。

管理许可证风险:利用SCA工具确定开源组件的许可证类型和条款,确保其与软件分发方式一致 。对许可证文本进行编译,标记冲突组件,履行许可义务,避免法律问题 。

持续监控与更新:关注项目网站、使用包管理器或版本跟踪工具,如Dependabot、Renovate等,及时了解开源组件的更新信息,保持组件的最新状态,降低风险 。

4. 行业洞察与并购建议:不同行业面临的开源风险存在差异,互联网和移动应用、营销科技等行业漏洞风险较高;教育科技、大数据等行业许可证冲突比例较高 。在并购交易中,应让知识产权顾问参与,进行开源审计,识别目标代码中的问题,评估风险,避免潜在的法律和安全问题 。

5. 总结与建议:开源软件在带来好处的同时也存在诸多风险,组织需重视代码可视性,实施SCA工具,为风险管理分配优先级,定期更新OSS,建立安全编码实践,监控OSS维护工作,将OSS管理集成到软件开发流程中。在并购时,借助专业审计服务审查收购事宜,以降低风险,安全利用开源软件的优势 。

展开全文

免责声明:我们尊重知识产权、数据隐私,只做内容的收集、整理及分享,报告内容来源于网络,报告版权归原撰写发布机构所有,通过公开合法渠道获得,如涉及侵权,请及时联系我们删除,如对报告内容存疑,请与撰写、发布机构联系

全部评论