安全疑慮熱點(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)。 當確定安全疑慮熱點位置存在漏洞並選擇 設為已知漏洞 時,其狀態從 正在查看正在查看 變為 開啟。這會將 安全疑慮熱點 轉換為 漏洞,並且上次接觸該代碼行的開發人員將收到「新問題」通知(如果她有註冊獲取該通知)。

在 安全疑慮熱點 位置開啟漏洞後,將發生以下情況:

  1. 將 安全疑慮熱點 分配給適當的開發人員,然後開發人員進行修復。
  2. 然後,開發人員通過使用者介面將 漏洞 標記為 已審核且解決(Resolve as Reviewed),這會將 漏洞 恢復為 安全疑慮熱點。
  3. 然後,安全疑慮熱點被標記為 已審核(Reviewed ),並且其狀態為 已修復(Fixed)

如果確定確實存在問題,則可以隨時重新開啟已審查的 安全疑慮熱點 作為 漏洞。