原始代码的 SAST 更好或编译代码
SAST of Raw code is better or compile code
从安全代码审查 (SAST) 的角度来看,我需要通过自动化工具扫描哪些代码?原始代码还是编译代码?
我会说这取决于你想找到什么。分析编译代码有机会找到生成的代码片段并分析它们。它也可能更容易一些,因为编译后的代码必须在语法上是正确的。要执行数据流分析,该工具实际上需要先编译代码本身。我最喜欢的免费代码扫描工具(Find Security Bugs 和 OWASP Dependency Check)适用于二进制文件。
另一方面,您可以在源代码上使用 grep 和 regex。您可以看到所有可能从二进制文件中优化的 FIXME 和 TODO 注释和变量。我的一位同事编写了一个基于一组正则表达式查找安全漏洞的工具,他为自己的所作所为感到非常自豪。源代码分析也不会受到二进制文件混淆的影响。
从安全代码审查 (SAST) 的角度来看,我需要通过自动化工具扫描哪些代码?原始代码还是编译代码?
我会说这取决于你想找到什么。分析编译代码有机会找到生成的代码片段并分析它们。它也可能更容易一些,因为编译后的代码必须在语法上是正确的。要执行数据流分析,该工具实际上需要先编译代码本身。我最喜欢的免费代码扫描工具(Find Security Bugs 和 OWASP Dependency Check)适用于二进制文件。
另一方面,您可以在源代码上使用 grep 和 regex。您可以看到所有可能从二进制文件中优化的 FIXME 和 TODO 注释和变量。我的一位同事编写了一个基于一组正则表达式查找安全漏洞的工具,他为自己的所作所为感到非常自豪。源代码分析也不会受到二进制文件混淆的影响。