代码质量和维护:开源使用的新风险

Synopsys Editorial Staff

Aug 25, 2020 / 1 min read

随着开源使用的日益普及,软件开发商不仅面临许可证的风险,还需要识别和修复已知漏洞,这些都是开源管理的关键因素。

开源代码质量

开发人员创建嵌入式软件来控制汽车或医疗设备等。这些设备通常不是传统意义上的“计算机”。开发人员会密切关注此类软件中可能导致可靠性或功能性问题的代码质量缺陷。但是,往往他们会把重点放在开发人员编写的代码上,而不是在应用程序中使用的开源组件的质量问题。

开发团队可能不愿意进行代码更新,因为他们担心使用较新版本的开源组件还将需要修改其它代码,从而引起连锁反应,使开发陷入停顿状态。或者担心更新代码后,他们将承担起修复将来出现的任何缺陷或漏洞的重担。

创建物料清单(BoM)以维护代码的可见性

如何知道是否正在使用高质量的开源组件?或者,使用的是否是最新版本的软件?是否稳定?是否有一个强大的社区积极维护该组件?

持续为每个应用程序构建详细的软件BOM,以支持对组件的完全可见性。

完整且有用的软件物料清单必须包括所有开源组件、正在使用的版本以及每个项目的下载位置。还需要包括所有依赖项或代码调用的库,以及那些依赖项链接到的库。

新思科技的Black Duck软件组成分析采用了多因素方式来发现开源代码,以获得完整的BoM。Black Duck软件组成分析把构建过程监控、文件系统扫描以及可选的代码段匹配技术结合到一起,跟踪所有正在使用的开源软件,包括在构建期间发现的依赖项。这样就能建立起多个证据点,提高匹配的准确性和减少误报。

而且,Black Duck软件组成分析对74种语言、149种不同类型执行代码片段扫描,以便深入地掌握许可证合规性风险。

每年,新思科技都会发布《开源安全和风险分析报告》,研究由Black Duck审计服务团队执行的商业代码库的审计结果,提供见解和建议,以帮助企业从安全性、许可证合规性和操作角度更好地管理开源风险。

《2020年开源安全和风险分析报告》中文,可免费下载

Continue Reading