2022 年 2 月、米国国立標準技術研究所(NIST)が Secure Software Development Framework(SSDF)のバージョン 1.1 を公開しました。SSDF は、2021 年のサイバーセキュリティ大統領命令(EO)14028 に対応するために作成された、安全なソフトウェア開発手法に関する包括的なガイドラインです。
これらの要件の一部として、ソフトウェア リリースのコンポーネントを一覧にまとめた「ソフトウェア部品構成表(SBOM)」の提出を、米国政府から要請されることがあります。
SBOM は、自動的に Android 継続的インテグレーション(Android CI)ビルド用に生成されます。いずれかの CI ビルドを使用する場合は、以下の手順に沿ってビルドの SBOM を取得してください。それ以外の場合は、カスタム SBOM を生成するための手順を使用してください。
事前に生成された SBOM を取得する
事前に生成された SBOM を取得する手順は次のとおりです。
ブラウザで
ci.android.com
にアクセスします。[Enter a branch name] フィールドに
aosp-main
と入力します。緑色で表示されているビルドの下矢印([View artifacts])をクリックします。[Build Artifacts] 画面が表示されます。
[Build Artifacts] 画面で、SBOM JSON ファイルを検索します(CTRL + F または CMD + F)。
カスタム SBOM を生成する
バイナリやビルド、リリース ツール チェーンなど、プラットフォームに何かを追加する場合は、ソフトウェア部品構成表(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*