自动代码安全扫描

编码是一个特别注意细节的过程,大量的代码由众多的开发人员编写,而不同的开发人员由于能力参差不齐,导致代码的质量也高低不同,特别是安全这方面更是在这个过程中特别容易出现问题。由于很难保证开发人员把安全实践应用到编码中,而通过人工代码复查的方式来检查代码安全问题的时间成本非常高,困难度也非常大,因此可以采用自动化的代码安全扫描,最大程度的降低时间成本和困难度,从而增加一个反馈环来快速发现、解决代码中的安全问题。

利用静态代码扫描工具对代码在编译之前进行扫描,并在静态代码层面上发现各种安全问题。但是自动化代码安全扫描并不能发现代码中所有的安全问题,所以对于安全需要高的项目还是需要人工代码评审,从而可以弥补自动化代码扫描不能发现的安全问题。

部分自动化静态代码扫描工具列表:

工具 支持语言 版权 主页地址
Fortify 大部分语言 收费 http://www8.hp.com/us/en/software-solutions/static-code-analysis-sast/
Checkmarx 大部分语言 收费 https://www.checkmarx.com/
Flawfinder C/C++ 免费 http://www.dwheeler.com/flawfinder/
LAPSE Java 免费 http://www.owasp.org/index.php/Category:OWASP_LAPSE_Project
Brakeman Ruby on Rails 免费 https://github.com/presidentbeef/brakeman