创建软件物料清单 (SBOM)

2022 年 2 月,美国国家标准与技术研究院 (NIST) 发布了《安全软件开发框架 (SSDF)》1.1 版,这是一套关于安全软件开发实践的综合指南,旨在响应2021 年网络安全行政命令 (EO) 14028

作为这些要求的一部分,美国政府可能会要求提供软件物料清单 (SBOM),其中列出了软件版本的组件。

SBOM 会为 Android 持续集成 (Android CI) 构建自动生成。如果您使用 CI 构建之一,请按照以下步骤获取构建的 SBOM。否则,请按照步骤生成自定义 SBOM

获取预生成的 SBOM

要获取预生成的 SBOM

  1. 在浏览器中,转到 `ci.android.com`。

  2. 输入分支名称字段中,输入 `aosp-android-latest-release`。

  3. 对于任何状态为绿色的构建,请点击查看工件向下箭头。随即会显示“构建工件”屏幕。

  4. 在“构建工件”屏幕中,使用查找命令找到 SBOM JSON 文件夹(CTRL+FCMD+F)。

生成自定义 SBOM

对于对平台的任何添加(包括任何二进制文件或构建和发布工具链),您都必须提供产品的 SBOM 表示形式,以满足软件物料清单 (SBOM) 最低要素的要求。要生成自定义 SBOM

  1. 运行以下命令以设置您的环境并构建 SBOM

    $ source build/envsetup.sh
    $ lunch TARGET
    $ m sbom # Generates an SBOM

    `TARGET` 指的是您用于构建 Android 的同一构建目标,例如 `aosp_arm64-userdebug`。

  2. 为确保 SBOM 构建正确,请执行

    $ ls out/dist/sbom*