GitHub 新增 SBOM 导出功能,简化安全合规流程

GitHub 推出 SBOM 导出功能

GitHub 宣布推出一项新的 SBOM(软件物料清单)导出功能,旨在用于安全合规工作流和工具。该功能允许用户轻松导出符合 NTIA(美国国家电信和信息管理局)标准的 SBOM。

SBOM 的导出方式

用户可以通过多种方式导出 SBOM,包括手动导出和自动化导出。

手动导出

用户可以通过访问仓库的依赖图,点击新的“Export SBOM”按钮来手动生成 SBOM。生成的 SBOM 将以 SPDX 格式呈现。

SPDX 格式

SPDX(软件包数据交换)是一种开放的格式,专门用于描述软件物料清单,包括依赖项、许可证、版权和安全参考。有许多商业和开源工具可以处理 SPDX 文件,进行验证、分析或转换为其他格式。

自动化导出

GitHub CLI 扩展

用户可以通过安装 GitHub CLI 扩展来自动导出 SBOM。安装命令为 gh ext install advanced-security/gh-sbom。导出时,gh sbom -l 会以 SPDX 格式输出 SBOM,而 gh sbom -l -c 会使用 CycloneDX 格式。

GitHub Action

在构建时,用户可以使用 GitHub Action 导出 SBOM。GitHub 提供了自己的 GitHub Action 来从依赖图导出 SBOM。此外,用户还可以使用 Microsoft 的 sbom-tool 或基于 Syft 的 Anchore SBOM Action。

未来的 REST API 支持

GitHub 表示,未来还将通过特定的 REST API 支持 SBOM 的导出。

上传现有 SBOM 生成依赖图

GitHub 还提供了一项功能,允许用户上传现有的 SBOM 到仓库中,以生成依赖图。这对于不希望公开所有依赖项的组织非常有用。一旦生成依赖图,用户就可以接收 Dependabot 警报,及时发现仓库或其依赖项中的漏洞。

SBOM 的作用与局限性

虽然 SBOM 在许多行业和美国政府层面是必需的,但它只是保护软件供应链的众多工具之一。SBOM 本身无法解决依赖项可能被篡改的问题,但它可以帮助用户更好地评估与实现选择相关的安全风险,并了解通过引入特定依赖项所信任的对象。

阅读 31
0 条评论