程序員必備:5個強大的靜態代碼分析工具
代碼中存在許多人類難以手動發現的問題,所以即使是很高級的安全分析師也會錯過一些安全漏洞。源代碼分析工具就是我們的救星,當然,市場上有大量可用的工具,但是對于初創公司和自由職業者來說,有些選擇太昂貴了,不必擔心,以下也有一些免費的靜態代碼分析工具。
1.RIPS
RIPS通過標記和解析所有源代碼文件,自動檢測PHP應用程序中的漏洞。它能夠將PHP源代碼轉換為程序模型,檢測程序流期間用戶輸入可能污染的敏感接收器,即潛在易受攻擊的函數。只有它可以檢測到最深層嵌套在代碼內部的最復雜的安全錯誤,準確性極高,是分析代碼的不錯選擇。并且還供應安全且高度可擴展的平臺(SaaS)在線掃描,無需本地安裝或維護開銷。在與構建工具集成之后,IDE和問題跟蹤器以及任何其他自定義工具都可以帶來自動化功能。它是你整個開發生命周期中的跟屁蟲,幫你看管所有進度發現代碼中的風險和漏洞,讓你可以立即解決問題。
2. DeepCode
DeepCode是一個代碼分析工具,利用人工智能來幫助清理代碼。它的主要功能是檢查代碼并突出顯示可能容易受到安全漏洞破壞的部分。它可以在達到臨界安全級別之前分析用戶輸入處理。因此,當任何數據在沒有安全驗證或清除的情況下從一個點移動到另一個點時,該工具會將其標記為受污染的,并向您發出警告。該工具可以標記的問題包括跨網站腳本、SQL注入威脅、遠程代碼執行以及路徑遍歷攻擊等。它的公有云使用是免費的,私有云是收費的喔。
3. Brakeman
免費的!開放源代碼漏洞掃描程序。它是一個靜態代碼分析器,可在開發過程中的任何階段掃描Rails應用程序代碼以發現安全問題。它可以查看應用程序的源代碼,因此無需設置整個應用程序堆棧即可使用它。掃描應用程序代碼后,它將針對所有安全問題生成詳細的報告。無需任何必要的配置即可運行,在開發過程的任何階段隨時運行,它每次檢查都是獨立執行的,靈活性很強。
4. Flawfinder
它是一個免費的簡單程序,入門代碼分析的理想工具,它的效率高,可以在時間內檢查較大的程序,命中密度也高。可以掃描C或C ++源代碼,從而快速識別可能的安全漏洞并生成按風險級別排序的報告。它作為開源軟件提供,對于在程序廣泛發布之前快速發現并消除潛在的安全問題非常有用。它經過專門設計,可以和python的pip一起安裝,還會給你一個簡單的用戶指南。它與CWE兼容,還獲得了CII優秀實踐通過徽章。對于初學者來說是個很棒的工具。
5.Fortify
Micro Focus的Fortify專注于掃描代碼庫中的安全漏洞。它幾乎涵蓋所有編程語言,為你提供解決漏洞的建議,與流行的CI/CD工具輕松集成。它重點關注已知的安全漏洞以及可能存在問題的任何惡意軟件或損壞文件的存在。