我想知道是否有一种有效的方法来审核开源项目的源代码,而无需在每次更新应用程序时检查所有纯文本文件,以及何时推出新的源代码可供下载。
我想创建一个可以自动扫描项目的应用程序,但我认为它甚至不会达到很好的有效性水平,因为有很多方法可以在项目中实现恶意软件代码。常见的。审计旨在检测开源项目中的恶意软件。
你对我有什么建议吗?
答案 0 :(得分:1)
一种选择是在初始代码上运行标准静态分析工具(例如Gimpel's Lint,Purify等)以创建基线。然后在新代码丢弃上再次运行它。如果输出中有任何增量,您可能需要调查每个单独的更改。
我认为比后门/恶意软件更常见的是无意中(意外地)破坏安全性的变化。由于分析工具抱怨,OpenSSL库中有一个edit removed部分代码发生了变化。但是代码是故意留下来提供更多比特的熵。一旦熵减少,会话就容易破解。像这样的变化的影响几乎不可能被解释,因为需要一位熟悉代码的专家来理解效果。