因此,除了查看特定软件库的源代码之外,是否有一种方法可以检查它不包含恶意代码?据我所知,从我自己的研究,服务,如pip,npm,和作曲家没有提供任何保证(不是,我真的希望他们)。
我有点不愿意阅读源代码的原因是,随着我使用的库数量的增加,我现在必须通过的源代码的数量变成了一项巨大的努力。
因此,考虑到我想使用一些开源库X,除了阅读所有源代码之外,我还能采取哪些步骤来验证使用它是安全的呢?
发布于 2019-04-03 15:12:29
您基本上有两个选项(前提是您可以验证下载,例如,使用PGP签名):
自己阅读代码不仅需要大量的时间,而且一个邪恶的开发人员也有很多隐藏后门的方法。因此,您需要信任库作者。
最重要的是:根据需要尽可能少地使用他人的代码。例如,你提到了国家预防机制。一个使用npm的典型项目下载了数百个小模块,只是为了显示hello world消息。它们中的每一个都可能是恶意的,或者破坏了您的构建,例如,使用左垫来查看灾难。
当您决定需要一个库时(所有这些都太费时或太复杂,无法实现自己,而且所有与加密等安全相关的东西),请尝试找出哪个库可能是可信任的,然后选择一个库,然后尝试在代码的其他部分中不使用另一个库。
关于如何建立信任,没有直截了当的答案。每个人都需要自己决定。对于您可能应该避免的代码,有一些警告,但没有明确指出没有红旗的库是否仍然是恶意的。
https://security.stackexchange.com/questions/206718
复制相似问题