ソフトウェア部品構成表(SBOM)の作成

2022 年 2 月、米国国立標準技術研究所(NIST)が Secure Software Development Framework(SSDF)のバージョン 1.1 を公開しました。SSDF は、2021 年のサイバーセキュリティ大統領命令(EO)14028 に対応するために作成された、安全なソフトウェア開発手法に関する包括的なガイドラインです。

これらの要件の一部として、ソフトウェア リリースのコンポーネントを一覧にまとめた「ソフトウェア部品構成表(SBOM)」の提出を、米国政府から要請されることがあります。

SBOM は、自動的に Android 継続的インテグレーション(Android CI)ビルド用に生成されます。いずれかの CI ビルドを使用する場合は、以下の手順に沿ってビルドの SBOM を取得してください。それ以外の場合は、カスタム SBOM を生成するための手順を使用してください。

事前に生成された SBOM を取得する

事前に生成された SBOM を取得する手順は次のとおりです。

  1. ブラウザで ci.android.com にアクセスします。

  2. [Enter a branch name] フィールドに aosp-main と入力します。

  3. 緑色で表示されているビルドの下矢印([View artifacts])をクリックします。[Build Artifacts] 画面が表示されます。

  4. [Build Artifacts] 画面で、SBOM JSON ファイルを検索します(CTRL + F または CMD + 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*