2022 年 2 月,美国国家标准与技术研究院 (NIST) 发布了安全软件开发框架 (SSDF) 1.1 版,这是一套有关安全软件开发实践的全面指南,以响应 2021 年信息安全行政命令 (EO) 14028。
作为这些要求的一部分,美国政府可能会要求提供软件物料清单 (SBOM),其中列出软件版本的组件。
SBOM 是系统自动为 Android 持续集成 (Android CI) build 生成的。如果您使用其中一个 CI build,请按照以下步骤为 build 获取 SBOM。不然的话,请按照相应步骤生成自定义 SBOM。
获取预生成的 SBOM
如需获取预生成的 SBOM,请执行以下操作:
在浏览器中,前往
ci.android.com
。在 Enter a branch name 字段中,输入
aosp-main
。对于任一个处于绿色状态的 build,点击查看工件下拉箭头。“构建工件”界面将会显示。
在“构建工件”界面中,使用 find 命令找到 SBOM JSON 文件(按 CTRL+F 键或 CMD+F 键)。
生成自定义 SBOM
对于平台的任何新增内容(包括任何二进制文件或 build 和发布工具链),您提供的产品 SBOM 表述必须符合软件物料清单 (SBOM) 的最少必需元素。如需生成自定义 SBOM:
运行下方的命令以设置您的环境并构建 SBOM:
$ source build/envsetup.sh $ lunch TARGET $ m sbom # Generates an SBOM
TARGET
是指您用于构建 Android 的同一构建目标,例如aosp_arm64-userdebug
。为确保正确构建 SBOM,请执行:
$ ls out/dist/sbom*