软件工件供应链级别 (SLSA)

什么是 SLSA?

软件工件供应链级别 (SLSA) 是一个安全框架,旨在增强软件供应链的完整性和安全性。SLSA 由 Google 开发并由开放源代码安全基金会 (OpenSSF) 维护,提供了一套指导方针和最佳实践,以防止篡改、提高完整性并保护软件项目中的包和基础设施。

SLSA 定义了 四个不断提高的安全严谨性构建级别(0-3),重点关注构建出处、源代码完整性和构建环境安全等领域。每个级别都在前一个级别的基础上建立,为实现更高水平的软件供应链安全提供了结构化方法。

为什么 SLSA 很重要?

由于软件供应链日益复杂和互联,SLSA 对于现代软件开发至关重要。SolarWinds 漏洞等供应链攻击突显了软件开发过程中的漏洞。通过实施 SLSA,组织可以:

  • 确保工件完整性:验证软件工件在构建和部署过程中未被篡改。

  • 增强构建出处:维护关于软件工件如何以及何时生成的、可验证的记录,提供透明度和问责制。

  • 保护构建环境:实施控制措施,保护构建系统免受未经授权的访问和修改。

  • 缓解供应链风险:降低将漏洞或恶意代码引入软件供应链的风险。

什么是 SLSA 构建级别 3?

SLSA 构建级别 3,即强化构建,是 SLSA 框架中四个渐进级别中最高的级别。它引入了严格的要求,以确保软件工件以安全且可追溯的方式构建。要达到级别 3,构建必须:

  • 完全自动化和脚本化,以防止手动篡改。
  • 使用强制执行源和构建器身份验证的受信任构建服务。
  • 生成一个签名、防篡改的出处记录,描述工件是如何构建的。
  • 捕获关于构建环境、源存储库和构建步骤的元数据。

此级别提供了强有力的保证,即软件是在受控、可审计的环境中从预期源构建的,这显著降低了供应链攻击的风险。

Docker 强化镜像和 SLSA

Docker 强化镜像 (DHI) 是默认安全的容器镜像,专为现代生产环境而构建。每个 DHI 都经过加密签名并符合 SLSA 构建级别 3 标准,确保可验证的构建出处和完整性。

通过将符合 SLSA 的 DHI 集成到您的开发和部署流程中,您可以:

  • 实现更高的安全级别:利用符合严格安全标准的镜像,降低漏洞和攻击的风险。

  • 简化合规性:利用签名软件物料清单 (SBOM) 和漏洞例外 (VEX) 声明等内置功能,促进符合 FedRAMP 等法规。

  • 提高透明度:访问有关每个镜像组件和构建过程的详细信息,促进透明度和信任。

  • 简化审计:利用可验证的构建记录和签名来简化安全审计和评估。

获取并验证 Docker 强化镜像的 SLSA 出处

每个 Docker 强化镜像 (DHI) 都经过加密签名并包含证明。这些证明提供了可验证的构建出处,并证明符合 SLSA 构建级别 3 标准。

要获取并验证 DHI 的 SLSA 出处,您可以使用 Docker Scout。

$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
  --predicate-type https://slsa.dev/provenance/v0.2 \
  --verify

例如:

$ docker scout attest get docs/dhi-node:20.19-debian12-fips-20250701182639 \
  --predicate-type https://slsa.dev/provenance/v0.2 \
  --verify

资源

有关 SLSA 定义和 Docker 构建的更多详细信息,请参阅 SLSA 定义

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.