SAST,即靜態(tài)應(yīng)用程序安全測試,通過靜態(tài)代碼分析工具對源代碼進(jìn)行自動化檢測,從而快速發(fā)現(xiàn)源代碼中的安全缺陷。
本文是一個靜態(tài)源代碼分析工具清單,收集了一些免費開源的項目,可從檢測效率、支持的編程語言、第三方工具集成等幾因素來綜合考慮如何選擇SAST工具。
1、RIPS
一款不錯的靜態(tài)源代碼分析工具,主要用來挖掘php程序的漏洞。
項目地址:
http://rips-scanner.sourceforge.net
2、SonarQube
一款企業(yè)級源代碼靜態(tài)分析工具,支持JAVA、PHP、C#、Python、Go等27種編程語言,而且能夠集成在IDE、Jenkins、Git等服務(wù)。
項目地址:
https://www.sonarqube.org
3、CodeQL
一個免費開源的語義代碼分析引擎和查詢工具,以一種非常新穎的方式組織代碼與元數(shù)據(jù),可以通過像SQL查詢一樣檢索代碼,并發(fā)現(xiàn)其中的安全問題。
git項目地址:
https://github.com/github/codeql-cli-binaries
4、Find Security Bugs
一個用于 Java Web 應(yīng)用程序安全審計的 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
一款靜態(tài)分析工具,檢查程序潛在bug,在bug報告中快速定位到問題的代碼上。
項目地址:
http://findbugs.sourceforge.net
7、Cobra
一款源代碼安全審計工具,支持檢測多種開發(fā)語言源代碼中的大部分顯著的安全問題和漏洞。
項目地址:
https://github.com/WhaleShark-Team/cobra
8、Hades
一個靜態(tài)代碼脆弱性檢測系統(tǒng),支持java源碼的審計
項目地址:
https://github.com/zsdlove/Hades
9、Bandit
一個專門用于查找Python代碼中常見安全問題的工具。
github項目地址:
https://github.com/PyCQA/bandit
10、Brakeman
一個免費的漏洞掃描器,專門為 Ruby on Rails 應(yīng)用程序設(shè)計。它靜態(tài)分析 Rails 應(yīng)用程序代碼,以在開發(fā)的任何階段查找安全問題。
項目地址:
https://brakemanscanner.org