Sonar是一個用於代碼質量管理的開源平台,通過插件機制,Sonar可與第三方工具進行集成。將Sonar引入到代碼開發的過程中,提供靜態源代碼安全掃描能力,這無疑是安全左移的一次很好的嘗試和探索。
1、安裝Findbugs插件
Sonar有自己的默認的掃描規則,可通過安裝Findbugs插件,來提升代碼漏洞掃描能力。
(1)進入配置-->應用市場,搜索Findbugs,點擊安裝即可。
在質量配置中,設置FindBugs Security Audit為默認。
(2)掃描效果測試
默認的掃描規則與設置FindBugs Security Audit的對比:
2、IDEA集成
通過IDEA集成Sonar,實現開發過程中就可以自動檢測代碼中存在的安全問題。
(1)在線安裝
打開IDEA菜單,File → Settings → Plugins,搜索sonar插件,選擇SonarLint進行Install,重啟IDEA即可。
(2)基本使用
在IDEA中安裝SonarLint插件,實現自動檢測項目文件分析或者對整個項目進行分析。
3、Gitlab集成
通過Gitlab集成Sonar,就可以實現提交代碼后自動郵件反饋掃描結果。
(1)在項目根目錄編寫.gitlab-ci.yml文件,通過GitLab-Runner實現Gitlab與Sonarqube集成。
(2)當提交代碼的時候,自動檢測代碼並發送報告給提交者。
4、Jenkins集成
通過Jenkins集成Sonar,就可以實現在流水線做自動化持續代碼掃描。
(1)在Jenkins中,使用Pipeline流水線,拉取代碼、執行打包、代碼掃描。
(2)流水線構建成功。