引入Artifact Attestations——现已公开测试版

引入Artifact Attestations——现已公开测试版

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

GitHub公开了Artifact Attestations的公测版,该功能允许项目维护者创建一个不可篡改的文件链,将其软件与创建过程关联起来。该功能由Sigstore提供支持,Sigstore是一个用于签名和验证软件构件的开源项目。通过在GitHub Actions工作流中添加YAML并使用GitHub CLI工具进行验证,可以轻松设置Artifact Attestations。该功能旨在保护软件供应链的完整性,减少供应链攻击的风险。GitHub计划在今年晚些时候将该功能扩展到Kubernetes生态系统中。

🔎

延伸解读

供应链安全的新基石

Artifact Attestations 通过不可篡改的证明链,将软件构件与其构建过程绑定,使下游消费者能验证构件来源。这有助于减少供应链攻击风险,但文章强调,证明本身并不保证构件安全,仍需结合代码审查、依赖更新等应用安全实践。

基于工作负载身份的签名机制

该功能利用临时密钥对和短期证书(10分钟有效)进行签名,私钥用后即弃,避免了长期密钥管理的风险。GitHub 作为根证书颁发机构,管理信任根,并为公共和私有仓库提供不同的 Sigstore 实例,确保私有仓库信息不离开 GitHub。

简易集成与灵活验证

用户只需在 GitHub Actions 工作流中添加少量 YAML 即可生成证明,并通过 GitHub CLI 验证。证明可导出为 JSON 格式,便于与 OPA 等策略引擎集成,实现基于策略的验证。此外,还支持将 SBOM 与构件关联,增强软件成分透明度。

未来扩展与生态整合

GitHub 计划今年晚些时候将 Artifact Attestations 扩展到 Kubernetes 生态系统,并支持更多类型的工件认证,如漏洞报告等。这显示了 GitHub 致力于 democratizing 软件证明和构件完整性,推动行业形成验证软件来源的文化。

❓

Q&A

Artifact Attestations的主要功能是什么?

Artifact Attestations允许项目维护者创建不可篡改的文件链,将软件与创建过程关联,保护软件供应链的完整性。

如何在GitHub Actions中设置Artifact Attestations?

用户只需在GitHub Actions工作流中添加YAML配置,并使用GitHub CLI工具进行验证即可轻松设置Artifact Attestations。

Artifact Attestations如何减少供应链攻击的风险?

Artifact Attestations通过提供可验证的文件链,帮助维护者减少项目暴露于供应链攻击的风险,增强软件安全性。

GitHub如何成为根证书颁发机构?

GitHub通过建立X.509证书颁发机构和时间戳服务器,管理整个证书链,从而成为根证书颁发机构。

Artifact Attestations支持哪些类型的工件认证?

Artifact Attestations支持将SBOM与最终工件关联,并计划在未来扩展至Kubernetes生态系统,支持更多类型的工件认证。

如何验证生成的工件的Artifact Attestation?

使用GitHub CLI工具,输入命令`gh attestation verify`并提供工件名称和组织名即可验证生成的工件的Artifact Attestation。

🏷️

标签

➡️

继续阅读