適用於 PSIRT 團隊
適用於 PSIRT 團隊與產品資安負責人的 CRACI
每個 PSIRT 案件的第一個問題,都是我們的哪些產品與版本含有這個有漏洞的元件。CRACI 依據每次建置實際擷取內容的紀錄回答這個問題,並在新的 CVE 發布時持續回答。
更新日期
PSIRT 主管面對的問題
產品資安負責人必須對 PSIRT 本身無法獨力產出的答案負責。當廣泛使用的函式庫出現 CVE 時,客戶、高階主管,以及越來越多的主管機關,都會在數小時內提出相同的問題:我們是否受到影響?影響哪些產品與版本?從什麼時候開始?何時會修正?
這些答案取決於資產清冊,而資產清冊通常來自事後讀取 lockfile 或 manifest 的掃描工具。它們會列出從未出貨的開發用相依套件,卻漏掉建置以其他方式下載的套件。於是 PSIRT 只好請工程團隊手動檢查,答案要好幾天才會出來,而且附帶許多但書。
FIRST PSIRT Services Framework 指出,產品元件的資產清冊對於「快速找出受繼承漏洞影響的產品至關重要」。CRACI 正是從這份資產清冊開始。關於這個角色的完整說明,請參閱什麼是 PSIRT。
CRACI 能為 PSIRT 提供什麼
從建置記錄的資產清冊
CRACI 在自己的執行器上執行您的 GitHub Actions 建置,並記錄每個作業實際擷取的套件,包括遞移相依套件、從 CI 快取還原的套件,以及任何 lockfile 都沒有列出的相依套件。它是記錄器,而不是掃描工具。每份 SBOM 都附有完整性狀態,因此不完整的紀錄會標示為不完整,SBOM 可匯出為 CycloneDX 或 SPDX。
持續監控已出貨的內容
受監控的 SBOM 會在新漏洞發布時持續重新評估,發現的問題會跨建置與儲存庫彙整。下個月發布的 CVE 會比對您已經出貨的版本,而不只是下一次建置。已知的惡意版本若有已發布的 CVE,會像其他漏洞一樣被標示。
受影響的產品、版本與期間
建置歷程會顯示每一次過去的建置及其 SBOM,以及哪些建置含有直接或遞移的有漏洞相依套件,因此您能在保留期限內知道受影響的期間。資產清冊檢視會精確顯示哪些軟體版本部署到哪些產品。兩者結合,讓「我們是否受到影響?」變成一次查詢。
外購元件
產品很少只由您自己的程式碼組成。您可以加入廠商提供的 SBOM,讓第三方元件與您自己的建置一起受到監控。
分級研判、分派與 VEX
資安團隊會對發現的漏洞進行分級研判,並將其分派給負責修正的團隊,這符合由產品團隊負責修補的分散式 PSIRT 模式。CRACI 支援 VEX。關於「不受影響」聲明如何為 PSIRT 及其客戶節省工作,請參閱 VEX。
讓已修正的 CVE 不再出現在之後的建置中
政策關卡可以依發現結果封鎖建置,包括含有特定 CVE 的建置。PSIRT 案件結案後,針對該 CVE 設定的關卡可以防止有漏洞的版本悄悄回到之後的版本中。
提供給稽核與客戶的佐證資料
API 會回傳每次建置的 SBOM、網路追蹤與來源證明,因此資安公告或稽核答覆背後的紀錄,在使用者介面之外也能取得。在適用歐盟 Cyber Resilience Act(CRA)的情況下,CRACI 也會準備規定通報的內容,再由製造商的人員透過 Single Reporting Platform 提交;義務仍由製造商承擔。請參閱什麼是 CRA。
CRACI 在 PSIRT 流程中的定位
| PSIRT 階段 | CRACI 的貢獻 |
|---|---|
| 準備 | 每次建置一份 SBOM,在建置執行時記錄,並附有完整性狀態 |
| 發現 | 持續重新評估受監控的 SBOM,包括廠商 SBOM |
| 驗證 | 哪些建置、版本與產品含有該元件,以及從何時開始 |
| 修補 | 分級研判後交給負責團隊;以政策關卡讓該 CVE 不再出現在之後的建置中 |
| 版本發布與揭露 | 支援 VEX;SBOM 匯出;透過 API 存取建置紀錄 |
這些階段依循漏洞管理生命週期。
CRACI 不做的事
- 可達性分析。CRACI 顯示的是有漏洞的套件存在於建置中,而不是您的程式碼是否呼叫了有漏洞的函式。
- 原始碼掃描。SAST 與機密掃描不在範圍內;有許多優秀的工具可以與 CRACI 搭配完成這些工作。
- GitHub Actions 以外的 CI 系統。目前支援 GitHub Actions;其他 CI 系統已列入產品藍圖。
- 代您完成法規遵循。CRACI 提供佐證資料;符合 NIS2、CRA 或任何其他框架,仍是您組織自己的流程。
適用於 PSIRT 團隊的 CRACI:常見問題
CRACI 是 PSIRT 工具嗎?
CRACI 涵蓋 PSIRT 工作中取決於「了解您出貨了什麼」的部分:建置時 SBOM、對這些 SBOM 的持續監控、哪些建置與產品含有有漏洞的元件,以及分級研判後交給負責團隊。您的揭露管道與資安公告流程則以這份紀錄為基礎。
CRACI 如何知道產品中包含什麼?
建置在 CRACI 的 GitHub Actions 執行器上執行,CRACI 會記錄每個作業實際擷取的套件,包括遞移相依套件、從 CI 快取還原的套件,以及任何 lockfile 都沒有列出的相依套件。它是記錄器,而不是掃描工具。每份 SBOM 都附有完整性狀態,因此您會知道紀錄何時不完整。
CRACI 能告訴我們哪些過去的版本受到某個 CVE 影響嗎?
可以,在您的保留期限內。建置歷程會顯示每一次過去的建置及其 SBOM,以及哪些建置含有直接或遞移的有漏洞相依套件,因此您能知道受影響的期間。資產清冊檢視會顯示哪些軟體版本部署到哪些產品。
CRACI 是否涵蓋我們向供應商購買的元件?
您可以加入廠商提供的 SBOM,讓外購元件與您自己的建置一起受到監控。
CRACI 支援哪些 CI 系統?
目前支援 GitHub Actions。其他 CI 系統已列入產品藍圖。