IBM Cloud Docs
軟體物料清單

軟體物料清單

SBOM (Software Bill Of Materials) 是軟體應用程式中所有元件、相依性及授權的結構化清單。 它提供詳細的元資料,包括元件名稱、版本、授權、弱點和依賴性,協助組織追蹤開放原始碼和第三方軟體的安全性、合規性和風險管理。

您可以輕鬆地以標準格式 (SPDX, CycloneDX ) 匯出您的 SBOM,並在使用 VEX 資料的同時匯入第三方 SBOM,以符合政府和客戶的要求。

在流水線運行期間,有某些工具可用來產生 SBOM。 目前可用於產生 SBOM 的工具是:

什麼是封裝 SBOM?

套件 SBOM 詳細列出軟體專案中使用的所有套件的所有資訊。 它提供所使用的每個套件的版本、授權和弱點資訊。 套件 SBOM 在微服務層級產生,架構中的每個微服務都會產生一個 SBOM。

SBOM 生命週期

SBOM 的生命週期跨越微服務部署的所有步驟(CI、CD、CC 管線的執行)。

  • 持續整合 (CI) 管道 - 在 CI 管道執行期間,會為每個已建立的微服務產生 SBOM。
  • 持續部署 (CD) 管道 - 在 CD 管道執行期間,會為所有已部署的微服務產生釋出 SBOM。
  • Continuous Compliance(CC) pipeline - CD pipeline 執行完成後,CC pipeline 會持續監控已部署的應用程式。 在 CC 管道執行期間,會擷取並掃描為 CI 管道中每個微服務所產生的 SBOM。

SBOM 的生命週期
SBOM 的生命週期

持續整合管道中的 SBOM 生命週期

持續整合管道會從應用程式儲存庫建立可部署的工件。

當 CI 管道在 code-compliance-checks 步驟執行時,CRA 會執行並為儲存庫建立套件 SBOM,並從中建立已部署的工件。 此套件 SBOM 包含 CI 管道中正在建立的每個微服務所使用的套件資訊。 它提供每個套件的授權、版本和漏洞資訊。

此套件 SBOM 會儲存在管道的證據櫃中,以便在部署到生產時進一步使用。

持續部署管道中的 SBOM 生命週期

持續部署管道會收集所有證據,並產生變更請求摘要內容。

當透過 CD 管道部署到生產時,會擷取儲存在證據櫃裡的套件 SBOM。 這些 SBOM 彙總起來形成釋出 SBOM。 發行版 SBOM 會作為附件加入變更請求中。

持續符合性管道中的 SBOM 生命週期

持續符合性管道會在部署到生產後,定期掃描已部署的工件及其來源套件庫的漏洞。

當 CC 管道執行時,它會檢索先前儲存的套件 SBOM,該套件是在 CI 管道執行期間從證據櫃產生的。 CC 管道不會重新建立套件 SBOM。

用於 SBOM 驗證的 SBOM 工具程式

當管道執行時,SBOM 會以 standardcyclonedx 的格式,作為 com.ibm.code_bom_check 證據的附件。

sbom-utility 工具透過完成一系列預設和自訂檢查來驗證 SBOM 是否包含元資料:

  • SBOM 根層級的元件,包含資料
  • 時間戳記
  • 每個元件欄位的 namebom-ref

若要收集 SBOM 驗證的證據,請將 sbom-validation-collect-evidence 設為 1。 證據收集為 com.ibm.code_bom_check 的附件,證據類型和工具類型為 sbom-utility

如需詳細資訊,請參閱 sbom-utility 工具說明文件