创建软件物料清单 (SBOM)

2022 年 2 月,美国国家标准与技术研究院 (NIST) 发布了安全软件开发框架 (SSDF) 1.1 版,这是一套有关安全软件开发实践的全面指南,以响应 2021 年信息安全行政命令 (EO) 14028

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

SBOM 是系统自动为 Android 持续集成 (Android CI) build 生成的。如果您使用其中一个 CI build,请按照以下步骤为 build 获取 SBOM。不然的话,请按照相应步骤生成自定义 SBOM

获取预生成的 SBOM

如需获取预生成的 SBOM,请执行以下操作:

  1. 在浏览器中,前往 ci.android.com

  2. Enter a branch name 字段中,输入 aosp-main

  3. 对于任一个处于绿色状态的 build,点击查看工件下拉箭头。“构建工件”界面将会显示。

  4. 在“构建工件”界面中,使用 find 命令找到 SBOM JSON 文件(按 CTRL+F 键或 CMD+F 键)。

生成自定义 SBOM

对于平台的任何新增内容(包括任何二进制文件或 build 和发布工具链),您提供的产品 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*