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