ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

5个开源组件管理小技巧

2022-07-18 18:37:36  阅读:145  来源: 互联网

标签:技巧 开发人员 开源 模块 组件 软件 源代码


开源正在吞噬软件世界,SourceClear 在2020年发布的调查报告指出开源项目已呈现指数级增长趋势,2026 年预计超过 3 亿。开源软件(OSS)的出现简化了软件开发流程,这正是超过90%的组织在其应用程序中使用开源组件的原因之一。这也意味着企业代码库中拥有的代码正在从闭源自研转向开源。
​ 

开源的优势在哪里?

开源已经改变了软件行业。这种增长趋势背后的原因很明显:使用开源组件避免了“重复造轮子”,可以加快应用程序开发速度,使开发人员更加高效和富有成效。
​ 
此外,开源组件为开发人员提供了一种无缝的方式来构建代码并借助开源社区的协作工作进行应用程序开发。这意味着开发团队可以专注于其组织独有的自定义代码,同时使用开源工具和库来提高开发效率。
​ 

使用开源组件的风险

随着开源代码的日益普及,安全风险也随之而来。研究发现,开源漏洞经常出现在间接依赖项(也称为“传递依赖”)中。但问题在于,许多开源组件已经过时,并且包含修改过的或缺失的许可证,因此这些问题在开源项目可能包含的间接依赖项中特别难以找到。
​ 
以下是使用开源组件可能会面临的几个风险:

软件质量 – 使用开源代码模块会增加参与开发人员的可变性,并减少对应用于第三方代码的 QA 流程的控制。
​ 
长期维护 - 如果开源模块没有被维护,软件开发人员需要额外分配时间和精力来处理漏洞。
​ 
软件许可 – 开源组件的最终用途决定了开源许可证合规性的类型:permissive 或 copyleft。Permissive license 允许实施和分发企业软件,而 copyleft license 进一步要求使用 OSS 组件构建的软件是免费提供的,从而存在泄露信息的风险。随着大型应用程序的开源依赖项数量的增加,确认模块的版权状态和使用限制变得愈发困难。
​ 
开源软件安全 - 与质量风险类似,如果开发人员没有在开发过程中妥善解决安全问题,使用的开源组件可能会伴随安全风险。
​ 

如何有效降低开源风险?

为软件项目选择适当的开源组件可以降低与软件质量、许可和版权侵权相关的风险,在此有一些关键问题亟待解决。例如,“企业是否应该将软件细节作为商业秘密进行保护?”以及“企业在使用组件的方式是否会与开源提供商的协议相冲突?”
​ 
为帮助企业更好地了解上述开源安全风险,并帮助企业在不影响安全性的情况下利用开源组件的优势。请参考以下五个安全管理开源组件 Tips。
​ 

1. 保护软件供应链

软件供应链中某个地方引入的漏洞对源代码产生了连锁反应。现代应用程序是模块化构建的,它们由互连的内部和外部模块组装而成。因此,在进行完整的代码开发之前,应当反复自动测试软件供应链中的模块是否存在安全问题。
​ 

2. 建立自动化执行策略

添加外部开发的软件模块会带来风险,因此,组织需要调整其风险承受能力,并落实在软件开发生命周期(SDLC)的各个阶段。创建评估开源组件的内部策略是避免添加构成安全威胁的模块的有效方法。
​ 

3. 着重定位 SCA

软件成分分析(SCA)是一种保护使用开源组件的应用程序的方法。SCA 的重要性在于提高开发团队跟踪和分析外部组件(如支持库、依赖项、许可证和安全漏洞)的速度。
​ 

4. 将 SCA 工具添加到安全测试工具包

SCA 工具的可追溯性可帮助团队快速查找和解决许可证和安全问题,使其成为开源策略和现有开发工作流程不可或缺的一部分。
​ 

5. 对外部源代码的 Fork 更改

Fork 是开发人员在修改开源代码之前克隆开源代码的过程。Fork 允许跟踪代码更改,但也将原始代码与修改后的代码分开,它还利用了 OSS 的一大优势:能够为特定应用程序自定义现有模块的源代码。

标签:技巧,开发人员,开源,模块,组件,软件,源代码
来源: https://www.cnblogs.com/sealio/p/16491540.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有