安全疑慮熱點(Security Hotspots)
什麼是 安全疑慮熱點(Security Hotspots)?
與 漏洞 不同,安全疑慮熱點 不一定是容易受到攻擊的問題點。相反,安全疑慮熱點重點顯示了需要人工檢查的有安全疑慮的程式碼段落。經過審查,您可能會發現需要修正的漏洞也可能發現不構成威脅。
為什麼 安全疑慮熱點(Security Hotspots)很重要?
安全疑慮熱點 有助於您集中精力於檢查有安全疑慮的程式碼。通過查看 安全疑慮熱點,您可以:
- 解決安全問題 – 審查 安全疑慮熱點 給您在 拉取請求(pull request)或發布分支前發現漏洞並且確認問題已修正的機會。
- 了解安全性 – SonarQube 會向您解釋為什麼您的程式碼被標註為 安全疑慮熱點,以及與眾所皆知的攻擊或弱點(例如 SQL注入、弱密碼,或身份驗證)之間的關聯。這會幫助您知道何時在寫有安全疑慮的程式碼,且知道如何避免出現漏洞。
安全疑慮熱點生命週期(Security Hotspot Lifecycle)
安全疑慮熱點具有專用的生命週期,並且必須由具有「管理安全疑慮熱點(Administer Security Hotspots)」權限的人員檢查。
狀態
在整個生命週期中,安全疑慮熱點會處於以下狀態之一:
- 需審閱(To Review) – SonarQube 設置的新安全疑慮熱點的默認狀態。表示已報告安全疑慮熱點,需要進行檢查。
- 審查中(In Review) – 安全疑慮熱點 正被檢查,以確認程式中沒有漏洞。
- 已查閱(Reviewed) – 安全疑慮熱點 已被檢查,並且無發現安全性問題。
只有當包含安全疑慮熱點的程式碼被刪除或禁用該規則時,該 安全疑慮熱點 才會關閉。
動作(Actions)
您可以對 安全疑慮熱點 採取以下動作:
- 已審核且解決(Resolve as Reviewed) – 程式碼中沒有漏洞。
- 設定為正在審查(Set as In Review) – 正在檢查是否有漏洞。
- 重置為需審查(Reset as To Review) – 安全疑慮熱點 需再分析檢查一次。
- 設為已知漏洞(Open as Vulnerability) – 程式碼中有必須被修正的漏洞。
工作流程
當 SonarQube 檢測到 安全疑慮熱點 時,會將它標為需審查。您可以對 安全疑慮熱點 採取一下動作:
- 如果您在 安全疑慮熱點 的程式碼位置發現了漏洞,您可以設為 設為已知漏洞(Open as Vulnerability)。
- 如果您在 安全疑慮熱點 的程式碼位置沒有找到漏洞,您可以標記為 已審核且解決(Resolve as Reviewed)。
- 如果您想標記 安全疑慮熱點 以顯示您將要或正在審查它的漏洞,您可以 設定為正在審查(Set as In Review)。這是 工作流程 中選擇性的步驟。 如果您將 安全疑慮熱點 已設定為 正在審查(In Review),它可以被標記為以下兩種:
- 如果您在 安全疑慮熱點 的程式碼位置發現了漏洞,您可以設為 設為已知漏洞(Open as Vulnerability)。
- 如果您在 安全疑慮熱點 的程式碼位置沒有找到漏洞,您可以 標注為已審查(Resolve as Reviewed)。 當確定安全疑慮熱點位置存在漏洞並選擇 設為已知漏洞 時,其狀態從 正在查看 或 正在查看 變為 開啟。這會將 安全疑慮熱點 轉換為 漏洞,並且上次接觸該代碼行的開發人員將收到「新問題」通知(如果她有註冊獲取該通知)。
在 安全疑慮熱點 位置開啟漏洞後,將發生以下情況:
- 將 安全疑慮熱點 分配給適當的開發人員,然後開發人員進行修復。
- 然後,開發人員通過使用者介面將 漏洞 標記為 已審核且解決(Resolve as Reviewed),這會將 漏洞 恢復為 安全疑慮熱點。
- 然後,安全疑慮熱點被標記為 已審核(Reviewed ),並且其狀態為 已修復(Fixed)。
如果確定確實存在問題,則可以隨時重新開啟已審查的 安全疑慮熱點 作為 漏洞。