如何确保我使用的开源代码不是恶意的?

Abc*_*Efg 1 security open-source

我想知道如何确定开源项目中代码的安全性,特别是那些包含数千行代码的代码,包括对popen()或的调用system().我怎么知道那里没有有害和恶意的代码?无论如何我可以安全地检查代码吗?

Jer*_*myP 5

我想知道如何确定开源项目中代码的安全性

简短的回答是,你做不到.

是的,从理论上讲,你可以浏览整个代码库并对其进行审核,但是你不能使用专有代码,但谁有时间呢?另一方面,许多较大的项目往往有大量的志愿者贡献者一直在关注代码,运行它们的组织(例如Apache和GNU)表面上是良性的动机,所以我认为,恶意代码可能会很快找到并标记.

话虽如此,我可以想到一个完全灾难性的安全漏洞,它影响了开源软件,并且在两年内未被发现.它的出现正是因为第三方有可能修改一个非常复杂(并且写得很糟糕)的开源产品.进行修改的人不明白他们在做什么.当他们能够阅读代码时,他们认为这是可能的......