軟體物料清單 (SBOM)

什麼是 SBOM?

SBOM 是一個詳細的清單,列出了構建軟體應用程式中使用的所有元件、庫和依賴項。它透過記錄每個元件的版本、來源以及與其他元件的關係,提供了軟體供應鏈的透明度。將其視為您軟體的“配方”,詳細說明了每種成分及其如何組合在一起。

SBOM 中用於描述軟體工件的元資料可能包括:

  • 工件名稱
  • 版本
  • 許可證型別
  • 作者
  • 唯一的包識別符號

為什麼 SBOM 很重要?

在當今的軟體環境中,應用程式通常由來自各種來源的眾多元件組成,包括開源庫、第三方服務和專有程式碼。這種複雜性可能會模糊對潛在漏洞的可見性,並使合規性工作複雜化。SBOM 透過提供應用程式中所有元件的詳細清單來解決這些挑戰。

SBOM 的重要性由以下幾個關鍵因素強調:

  • 增強透明度:SBOM 提供了構成應用程式的所有元件的全面檢視,使組織能夠識別和評估與第三方庫和依賴項相關的風險。

  • 主動漏洞管理:透過維護最新的 SBOM,組織可以迅速識別和解決軟體元件中的漏洞,從而縮短暴露於潛在漏洞的時間視窗。

  • 法規遵從性:許多法規和行業標準現在要求組織對其使用的軟體元件進行控制。SBOM 透過提供清晰易訪問的記錄來促進合規性。

  • 改進事件響應:在發生安全漏洞時,SBOM 使組織能夠快速識別受影響的元件並採取適當的措施,從而最大限度地減少潛在損害。

Docker 強化映象 SBOM

Docker 強化映象附帶內建 SBOM,確保映象中的每個元件都已記錄並可驗證。這些 SBOM 經過加密簽名,提供了映象內容的防篡改記錄。這種整合簡化了審計並增強了軟體供應鏈中的信任。

在 Docker 強化映象中檢視 SBOM

要檢視 Docker 強化映象的 SBOM,您可以使用 `docker scout sbom` 命令。將 `<image-name>:<tag>` 替換為映象名稱和標籤。

$ docker scout sbom <image-name>:<tag>

驗證 Docker 強化映象的 SBOM

由於 Docker 強化映象附帶簽名的 SBOM,您可以使用 Docker Scout 來驗證附加到映象的 SBOM 的真實性和完整性。這可確保 SBOM 未被篡改,並且映象的內容值得信賴。

要使用 Docker Scout 驗證 Docker 強化映象的 SBOM,請使用以下命令:

$ docker scout attest get <image-name>:<tag> \
   --predicate-type https://scout.docker.com/sbom/v0.1 --verify --platform <platform>

例如,要驗證 `dhi/node:20.19-debian12-fips-20250701182639` 映象的 SBOM 證明:

$ docker scout attest get docs/dhi-node:20.19-debian12-fips-20250701182639 \
   --predicate-type https://scout.docker.com/sbom/v0.1 --verify --platform linux/amd64

資源

有關 SBOM 證明和 Docker Build 的更多詳細資訊,請參閱SBOM 證明

要了解有關 Docker Scout 和使用 SBOM 的更多資訊,請參閱Docker Scout SBOM