什麼是漏洞追蹤?
漏洞追蹤是持續記錄每個影響您軟體的已知漏洞,從發現直到修正或排除為止。對每一個漏洞,它回答四個問題:它在哪裡、哪些產品與版本包含它、由誰負責修正,以及目前狀態為何。
許多工具透過事後掃描資訊清單與 lock 檔案來回答第一個問題,其餘則交給試算表與工單。CRACI 從更早的階段開始。您的 GitHub Actions 作業在 CRACI 執行器上執行,執行期間,CRACI 會記錄建置實際引入的每個套件,包括從 CI 快取還原的套件。CRACI 監控的正是這份建置時 SBOM,因此您追蹤的漏洞,就是您出貨的建置產物中的漏洞,而不是在附近某處執行的一次掃描所找到的漏洞。
追蹤您出貨的軟體,而不只是 IT 資產
大多數漏洞追蹤工具是為 IT 打造的:它們掃描伺服器、筆電與雲端帳號,修正方式是由某人安裝修補程式。您建置並銷售的軟體需要不同的紀錄。有漏洞的程式碼就在您的版本中,修正方式是一次新的建置,而客戶與主管機關會詢問哪些版本受到影響、持續了多久。
這正是 CRACI 保存的紀錄:每次建置的 SBOM、它部署到的產品與版本、您外購的廠商元件,以及所有這些內容中每個漏洞的狀態。
持續重新評估您已出貨的內容
CRACI 在每次建置執行時記錄 SBOM,之後持續將受監控的 SBOM 與漏洞資料重新比對評估。即使漏洞在版本發布很久之後才公布,也會顯示在它所影響的版本上,不需要任何人重新執行掃描。
橫跨各建置與儲存庫的單一檢視
發現會彙整自各建置與儲存庫,並在預設分支上提供組織層級檢視。資產清冊檢視會確切顯示哪些軟體版本部署在哪些產品上,建置歷史則顯示哪些過往建置包含有漏洞的相依套件,讓您知道哪些產品受到影響,以及持續了多久。
分級研判並轉交負責團隊
資安團隊研判發現的漏洞,並將其轉交給負責修正的團隊,讓每一項發現都送達能採取行動的人。CRACI 也支援以 VEX 記錄漏洞如何影響您的產品,政策關卡則能封鎖任何含有特定 CVE 的建置。
廠商 SBOM 與您自己的 SBOM 一同追蹤
加入來自廠商的 SBOM,外購元件就會與您自行建置的軟體一起受到監控。產品中的第三方程式碼,與您自己的相依套件在同一個地方追蹤。
從發現到 CRA 通報
針對 Cyber Resilience Act(CRA),CRACI 會為您準備漏洞通報的內容供您提交:早期預警、通報與最終報告。SBOM 可連同其元件中發現的漏洞,以 CycloneDX 或 SPDX 匯出,供稽核、客戶與您自己的紀錄使用。
每個有漏洞的套件,以及引入它的來源
每次建置都會列出其套件的版本、套件 URL、授權與漏洞狀態,並顯示其 SBOM 是否完整。開啟某個套件,即可查看其資安公告與嚴重性,以及需要它的套件。
CRACI 中的漏洞追蹤生命週期
- 發現。每次建置都會產生一份帶有完整性狀態的 SBOM,並連同遞移相依套件以 CycloneDX 或 SPDX 匯出。受監控的 SBOM(包括您自己的與廠商的)會持續與漏洞資料重新比對評估。
- 定位。橫跨各建置與儲存庫的組織層級檢視、資產清冊檢視與建置歷史,會顯示哪些產品與版本受到影響,以及從何時開始。
- 排定優先順序與分級研判。每則資安公告都會顯示其嚴重性。資安團隊研判每一項發現,並可透過 VEX 記錄漏洞如何影響您的產品。
- 修補。每一項發現都會轉交給負責修正的團隊,「Required by」則顯示是哪個套件引入了遞移漏洞。政策關卡能讓特定 CVE 不再出現在之後的建置中。
- 驗證。下一次建置的 SBOM 會顯示有漏洞的版本是否已經移除,讓紀錄一路延續到修正後的版本。
- 呈報。CRACI 會準備 CRA 漏洞通報的內容供您提交,SBOM 也可連同其元件中發現的漏洞一起匯出。
每個漏洞應追蹤的項目
- 漏洞
- 資安公告及其 ID(CVE、GHSA 等),以及嚴重性。
- 元件
- 套件與確切版本,以及它是直接相依套件還是遞移相依套件。
- 路徑
- 引入該有漏洞套件的上層套件,告訴您應該升級什麼。
- 暴險範圍
- 哪些產品、版本與建置包含它,以及從何時開始。
- 負責人
- 負責修正的團隊。
- 狀態
- 未處理、調查中、不受影響或已修正,最好以 VEX 記錄。
- 佐證資料
- 不再包含該有漏洞版本的建置或版本。
顯示追蹤是否有效的指標
資安團隊通常會呈報四個數字:
- 平均修補時間(MTTR):從發現漏洞到發布不含該漏洞的版本所需的時間。
- 修補期限達成率:在您的政策依嚴重性所訂期限內完成修正的漏洞比例。
- 待處理趨勢:未處理漏洞的數量是增加還是減少。
- 暴險期間:每個產品出貨有漏洞版本的時間長短。CRACI 的建置歷史會顯示哪些建置包含有漏洞的相依套件,讓您知道受影響的期間。
CRACI 目前不做的事
CRACI 不提供可達性分析,因此不會依您的程式碼是否呼叫有漏洞的函式來排序發現。它不會顯示 MTTR、期限達成率或待處理趨勢等修補指標。它目前不會依嚴重性門檻發出警示,其警示涵蓋對外連線政策違規。發現的留言功能、版本之間的差異比較、門檻警示與漏洞 webhook 已列入產品藍圖。
VEX:哪些漏洞真正影響您的產品
SBOM 中有一個有漏洞的元件,並不一定代表產品有漏洞。受影響的程式碼可能並未包含在您出貨的內容中,或無法以攻擊所需的方式被觸及。VEX(Vulnerability Exploitability eXchange,漏洞可利用性交換)是一種機器可讀的方式來說明這一點:每則 VEX 聲明都連結一個產品、一個漏洞與一個狀態。標準狀態為 not affected、affected、fixed 與 under investigation。
一旦客戶與主管機關開始拿您的 SBOM 比對漏洞資料庫,這一點就很重要。沒有 VEX 聲明,每一個比對結果看起來都像是未處理的問題,您的團隊最後只能一再解釋同樣的誤報。CRACI 支援以 VEX 記錄漏洞如何影響您的產品,並搭配將每一項發現轉交給負責修正團隊的分級研判。
想知道需要跟上的量有多大嗎?請參閱每天公布多少個 CVE,以及 High 與 Critical 漏洞的數量成長了多少。
漏洞追蹤解析
關於追蹤您自行建置與採購之軟體漏洞的常見問題
什麼是漏洞追蹤?
漏洞追蹤是持續記錄每個影響您軟體的已知漏洞,從發現的那一刻起,直到修正或排除為止:它位於哪個元件與版本、哪些產品與版本包含它、由誰負責修正,以及目前狀態為何。對於您出貨的軟體,它的起點是一份準確的元件清單,而這正是 SBOM 所提供的。
漏洞管理有哪些步驟?
一般的循環有五個步驟:找出您執行或出貨的內容中的漏洞、排定優先順序、修補、驗證修正確實消除了漏洞,以及呈報。追蹤把這些步驟串連起來,讓發現不會在發現與修正版本之間遺失。在 CRACI 中,這些步驟是:記錄建置時 SBOM、研判每一項發現、轉交給負責的團隊、確認之後的建置不再包含有漏洞的版本,以及透過 SBOM 匯出與 CRA 通報進行呈報。
如何追蹤漏洞修補?
為每個漏洞指定負責人與狀態,並且只在某個建置或版本不再包含有漏洞的版本時才結案。衡量修正需要多久、是否符合您的期限,以及待處理清單是否在縮小。在 CRACI 中,每次建置的 SBOM 都會顯示有漏洞的版本是否仍然存在,政策關卡則能讓特定 CVE 不再出現在之後的建置中。
什麼是 SBOM 漏洞管理?
SBOM 漏洞管理是指將軟體物料清單中列出的元件與漏洞資料比對,並在新漏洞公布時再次比對。結果的品質取決於 SBOM。CRACI 在建置執行時記錄 SBOM,因此清單反映的是建置實際引入的內容,包括從 CI 快取還原的套件。
漏洞追蹤與漏洞掃描有何不同?
掃描是某個時間點的動作:它讀取檔案、回報發現,然後就結束了。追蹤則會長期保存發現、負責人與狀態,並在新漏洞出現時持續檢查已出貨的軟體。CRACI 是記錄工具,而非掃描工具:它記錄每次建置,然後持續重新評估受監控的 SBOM。
CRACI 會追蹤第三方軟體中的漏洞嗎?
會。您可以加入廠商 SBOM,這些外購元件就會與您在 CRACI 上建置的軟體一起受到監控。
CRACI 能封鎖含有已知漏洞的建置嗎?
可以。政策關卡能依發現封鎖建置,包括任何含有特定 CVE 的建置,讓您已修正的漏洞不會在之後的建置中再次出現。
CRACI 如何通知我漏洞相關資訊?
發現會顯示在 CRACI 的組織層級檢視中,由資安團隊研判並轉交給負責的團隊。目前的警示涵蓋對外連線政策違規。門檻警示與漏洞 webhook 已列入產品藍圖,Slack 與 Teams 警示亦同。
CRACI 能協助 CRA 漏洞通報嗎?
可以。CRACI 會準備 CRA 漏洞通報的內容:早期預警、通報與最終報告。由貴公司的人員透過 Single Reporting Platform 提交。符合 Cyber Resilience Act 仍是製造商自己的流程;CRACI 將該流程所需的供應鏈可視性與佐證資料,自動化了相當大的一部分。
CRACI 支援 VEX 嗎?
支援。CRACI 支援 VEX(Vulnerability Exploitability eXchange,漏洞可利用性交換),用來記錄已知漏洞如何影響您的產品,並搭配分級研判與轉交給負責修正的團隊。VEX 聲明會告訴客戶與主管機關,在您的 SBOM 中比對到的漏洞是否真的影響產品,讓他們不必追查誤報。預約示範,了解它如何融入您的分級研判流程。
CRACI 會做可達性分析嗎?
不會。CRACI 不提供可達性分析。它會顯示您的哪些建置、儲存庫與產品包含有漏洞的元件,並支援以 VEX 記錄漏洞如何影響您的產品。