是否存在真正审查其开源软件的所有更新的人?

信息安全 视窗 php 审计 图书馆
2021-08-23 21:46:57

大约一年前,我建立了这个系统,每当 Composer(即 PHP 的数据包/库更新管理器)获取我的少数(但非常需要)第三方库的新更新时,创建 Composer 目录的副本并打开WinMerge 显示差异供我手动完成。

最初,我认为我这样做非常聪明,并急切地查看了每一个新的更改,以验证他们没有添加一些恶意的恶意软件代码。

然后,随着更新不断定期更新,我越来越少关注......

直到今天,当我对此感到厌烦时,我删除了整个机制并恢复到只是盲目地让它获取它想要的任何东西,而我没有手动验证它的任何内容。

为我自己的代码做这件事已经够糟糕了(主要是为了确保我在处理系统中的一堆不同文件时不会错误地留下一些临时的东西),但是为其他人的大量代码树做这件事只是地狱般的。

他们会经常编辑许多不同的文件——不仅仅是每次更新一个文件中的一行或任何东西。我只是无法继续这样做。这是不可想象的。

但现在,我显然为不再这样做而感到难过。这让我想知道:全世界真的有人这样做吗?考虑到人们似乎对几乎所有事情都付出了很少的努力,我无法想象有很多人坐在那里浏览所有更新。

老实说:即使我确实继续这样做,我什至可能无法捕捉到细微引入的错误/漏洞,这可能会随着时间的推移通过许多小的变化逐渐发生。当然,我的计算机的其余部分充满了不受控制的专有噩梦 blob,它们全天候做未知的事情......

2个回答

在我看来,查看开源库和软件包版本之间的差异似乎太过分了。完成它所花费的时间以及对项目架构和实现细节的必要知识使得它在实用性上显得非常有限。审查外部软件的一般想法不是。我合作过的各种组织对于如何处理第三方依赖项有不同的政策或期望。

我见过的一些以各种组合使用的策略包括:

  • 定期风险评估。对于商业产品,这将是供应商评估。对于开源产品,根据需求评估产品的发布周期、测试、问题跟踪、维护和支持。不满足需求的组件可以根据风险安排更换。
  • 开源软件组件的静态分析。一些供应商为开源项目提供免费扫描,因此可能是对该报告的审查。它还可能使用该组织的静态分析工具来扫描包含的开源库。
  • 软件组成分析以跟踪第三方依赖项的版本并监控报告的漏洞。
  • 系统范围的扫描和测试。如果第三方依赖存在可利用性的漏洞,那么在测试整个系统时可能会被检测到。

正如您所发现的,没有人可以为自己的项目做这件事。但我确信谷歌、Facebook、苹果、亚马逊和微软的安全团队确实会审查所有外部软件更改。