SonarQube第一個專案掃描

SonarQube_Report

讓軟體工程師了解專案的安全性樣貌

Dashboard

SonarQube 針對C#就已經有405個掃描規則對於剛使用這個工具的我來說已經非常夠用,由下圖可以了解到他透過幾個面向去整理,右邊也會有相對應的評分。

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube_Getting_Started_Project-6.png

跟弱點掃描一樣,會提供高中低的等級讓我們評估危險等級

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-4.png

Bug

找出程式碼可能潛藏著會造成系統Exception、無效操作

範例一

判斷 formStatus.Substring()操作後並沒有任何變數承接與操作,所以判定無效的操作。

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-6.png

範例二

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-7.png

Vulnerabilities

列出可能的漏洞,以我的專案為例多半都是安全性的提示:只開啟TLS1.2

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描.png

很貼心的他會提供相對應的修改建議

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-3.png

加密方式再增強

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-1.png

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-2.png

Security Hotspots

列出可能會有安全性疑慮的程式碼:密碼洩漏、XSS攻擊、Code Injection、沒設定Timeout

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-5.png

Code_Smell

找出程式碼的任何可能導致深層次問題的症狀

舉凡沒宣告 Readonly、濫用Public、過度轉型、沒使用的變數....等等,對於修正歷史包袱特別有效。

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-8.png

200-Areas/210-工程師修煉/SonarQube/resource/SonarQube第一個專案掃描-9.png

後續閱讀

List
from "200-Areas/210-工程師修煉/SonarQube"
where dg-publish = true
sort file.ctime