Share feedback
Answers are generated based on the documentation.

Software Bill of Materials (SBOMs)(软件物料清单)

What is an SBOM?(什么是 SBOM?)

SBOM 是一份详细清单,列出了构建软件应用程序所使用的所有组件、库和依赖项。它通过记录每个组件的版本、来源以及与其他组件的关系,提供对软件供应链的透明度。可以将其视为软件的“配方”,详细列出每种成分以及它们如何组合在一起。

SBOM 中为描述软件制品而包含的元数据可能有:

  • 制品名称
  • 版本
  • 许可证类型
  • 作者
  • 唯一的包标识符

Why are SBOMs important?(为何 SBOM 很重要?)

在当今的软件格局中,应用程序通常由来自各种来源的众多组件构成,包括开源库、第三方服务和专有代码。这种复杂性可能掩盖对潜在漏洞的可见性,并使合规工作复杂化。SBOM 通过提供应用程序内所有组件的详细清单来应对这些挑战。

SBOM 的重要性由几个关键因素凸显:

  • 增强透明度:SBOM 全面展示了构成应用程序的所有组件,使组织能够识别并评估与第三方库和依赖项相关的风险。

  • 主动的漏洞管理:通过维护最新的 SBOM,组织可以迅速识别并解决软件组件中的漏洞,缩短面临潜在漏洞利用的暴露窗口。

  • 法规合规:许多法规和行业标准现在要求组织控制其使用的软件组件。SBOM 通过提供清晰且可访问的记录来促进合规。

  • 改进的事件响应:在发生安全漏洞时,SBOM 使组织能够快速识别受影响的组件并采取适当措施,将潜在损害降至最低。

Docker Hardened Image SBOMs(Docker Hardened Image 的 SBOM)

Docker Hardened Images 带有 SBOM,确保镜像中的每个组件都有文档且可验证。这些 SBOM 经过加密签名,提供镜像内容的防篡改记录。这种集成简化了审计并增强了对软件供应链的信任。

View SBOMs in Docker Hardened Images(在 Docker Hardened Images 中查看 SBOM)

要查看 Docker Hardened Image 的 SBOM,你可以使用 docker scout sbom 命令。将 <image-name>:<tag> 替换为镜像名称和标签。

$ docker scout sbom dhi.io/<image-name>:<tag>

Verify the SBOM of a Docker Hardened Image(验证 Docker Hardened Image 的 SBOM)

由于 Docker Hardened Images 附带已签名的 SBOM,你可以使用 Docker Scout 验证附加到镜像的 SBOM 的真实性和完整性。这确保了 SBOM 未被篡改,并且镜像内容是可信的。

要使用 Docker Scout 验证 Docker Hardened Image 的 SBOM,请使用以下命令:

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

例如,要验证 node:20.19-debian12 镜像的 SBOM 证明:

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

Resources(资源)

有关 SBOM 证明和 Docker Build 的更多详细信息,请参阅 SBOM attestations

要了解有关 Docker Scout 和处理 SBOM 的更多信息,请参阅 Docker Scout SBOMs