缩小对不良开源软件包依赖的四种方法

最近的一些钻研发现,90%或更多的运行程序蕴含开源组件,这是有充沛理由的。开源代码可以收费下载,不只能使开发人员更有效率,还能减速其翻新速度。

然而经常使用开源的缺陷是,它通常随同着与确保你所依赖的软件包安保性相关的暗藏老本。最近,影响Log4j和XZ Utils的恶意攻打促使人们从新扫视开源软件安保性,并将其优化至许多组织的口头级别优先级。在这种背景下,许多运行程序开发团队开局寻觅新的方法,以防止不良的开源软件包进入他们的运行程序。

开源包变“坏”的要素

我青睐用“坏包/不良包”(bad package)这个短语来指代不利于企业经常使用的开源包。假设一个包被放弃、弃用或被发表生命终止,那它或许被以为是“坏的”。或许它或许没有颁布安保战略或照应安保疑问,形成这种状况的要素通常是由于只要一个保养者。组织经常惊讶地发现其运行程序中的软件包是恶意软件,而后便将其从软件包治理器中删除了,但却从未在“外部”清算过。

“坏包”不只会发生影响组织支出、数据和客户的安保风险,而且还会在你须要交流它们、围绕它们上班或处置破绽修复的无尽循环时占用贵重的开发期间。

从历史上看,许多组织都依赖于软件成分剖析(SCA)工具来识别和修复他们在运行程序中经常使用的开源代码包中的破绽。这是确保降落现有破绽风险的有效方法。但这也是一场没完没了的“打地鼠”游戏,触及到对一长串难以确定优先级的安保破绽启动分类,并将误报与真正的安保风险区分开来。仅经常使用SCA的方法不只会错过早期的风险信号,而且还会错过软件包过时(即被发表生命周期终止)的期间,这或许造成失误的安保感,而实践上存在更大的破绽风险,或许更糟的是,存在攻打的风险。

因此,与其仅仅依赖破绽修复,许多组织正在踊跃地投资于更好地理解他们经常使用的开源代码包的安保通常,这样他们就可以在疑问发生之前更系统地缩小对不良包的依赖。以下是组织可用于识别和消弭来自不良开源软件包风险的四种关键方法。

1.在将包归入运行程序开发之行启动评价

防止不良软件包带来风险的优选方法是首先确保它们不会进入你的运行程序。在钻研和评价要经常使用的开源包时,要制订一套明白的审核流程,它们须要经过审核能力被思考经常使用。

审核触及的经常出现疑问包括:

2.踊跃监控正在经常使用的开源包

开源包是始终变动的,因此在最后选择经常使用某个包或版本之后,监督和审查降级是很关键的。寻觅或许标明某个包或版本存在疑问的早期正告信号。详细而言,组织须要寻觅的信号包括:

3.识别并消弭你已驳回的不良软件包

只管从一开局就防止不良软件包是现实的选项,但大少数组织在其运行程序中曾经有少量的包,这些包没有获取适当的钻研,以确保其安保性。

因此,回头看看你曾经在经常使用的软件包来回答以下疑问通常是很关键的:

4.加固有风险的软件包防止其变坏

识别有风险的包十分关键,这样你就可以在破绽发生之前及时处置相关疑问。然而,另一种确保对运行程序很关键的包远离风险的方法是,尽自己的一份力气使它们坚持良好的保养和肥壮。

从钻研开局,了解你所经常使用的包的保养者能否获取了牢靠的报酬,以成功安保的开发通常并保养这些通常和代码自身。在将包引入你的组织之前,被动了解包的和常年前景。在你的依赖相关图上投资并奉献代码,这样你就可以尽自己的一份力气来保养它的常年肥壮和安保。

结语

当你从运行程序中消弭不良开源包时,就能经过消弭潜在的攻打入口点来降落安保风险。经过缩小由不安保或保养无余的包引发的安保隐患,可以提高团队的消费劲。经过确保经常使用肥壮且有弹性的开源代码包启动构建,可以提高运行程序的品质。

原文题目: 4 Ways to Reduce Reliance on Bad Open Source Packages ,作者:Lauren Hanford

您可能还会对下面的文章感兴趣: