SAST,即静态应用程序安全测试,通过静态代码分析工具对源代码进行自动化检测,从而快速发现源代码中的安全缺陷。
本文是一个静态源代码分析工具清单,收集了一些免费开源的项目,可从检测效率、支持的编程语言、第三方工具集成等几因素来综合考虑如何选择SAST工具。
1、RIPS
一款不错的静态源代码分析工具,主要用来挖掘PHP程序的漏洞。
项目地址:
http://rips-scanner.sourceforge.net
2、SonarQube
一款企业级源代码静态分析工具,支持Java、PHP、C#、Python、Go等27种编程语言,而且能够集成在IDE、Jenkins、Git等服务。
项目地址:
https://www.sonarqube.org
3、CodeQL
一个免费开源的语义代码分析引擎和查询工具,以一种非常新颖的方式组织代码与元数据,可以通过像SQL查询一样检索代码,并发现其中的安全问题。
git项目地址:
https://github.com/github/codeql-cli-binaries
4、Find Security Bugs
一个用于 Java Web 应用程序安全审计的 SpotBugs 插件。
项目地址:
https://find-sec-bugs.github.io/
5、VCG(VisualCodeGrepper)
一种适用于 C++、C#、VB、PHP、Java、PL/SQL 和 COBOL 的自动化代码安全审查工具。
项目地址:
https://sourceforge.net/projects/visualcodegrepp/
6、FindBugs
一款静态分析工具,检查程序潜在bug,在bug报告中快速定位到问题的代码上。
项目地址:
http://findbugs.sourceforge.net
7、Cobra
一款源代码安全审计工具,支持检测多种开发语言源代码中的大部分显著的安全问题和漏洞。
项目地址:
https://github.com/WhaleShark-Team/cobra
8、Hades
一个静态代码脆弱性检测系统,支持java源码的审计
项目地址:
https://github.com/zsdlove/Hades
9、Bandit
一个专门用于查找Python代码中常见安全问题的工具。
github项目地址:
https://github.com/PyCQA/bandit
10、Brakeman
一个免费的漏洞扫描器,专门为 Ruby on Rails 应用程序设计。它静态分析 Rails 应用程序代码,以在开发的任何阶段查找安全问题。
项目地址:
https://brakemanscanner.org