Erstellen Sie eine Software-Stückliste (SBOM)

Im Februar 2022 veröffentlichte das National Institute of Standards and Technology (NIST) Version 1.1 des Secure Software Development Framework (SSDF) , eine Reihe umfassender Richtlinien für sichere Softwareentwicklungspraktiken als Reaktion auf die Cybersecurity Executive Order (EO) 14028 von 2021 .

Im Rahmen dieser Anforderungen kann die US-Regierung eine Software-Stückliste (Software Bill of Materials, SBOM) anfordern, in der die Komponenten einer Softwareversion aufgeführt sind.

SBOMs werden automatisch für Android Continuous Integration (Android CI)-Builds generiert. Wenn Sie einen der CI-Builds verwenden, führen Sie die folgenden Schritte aus, um eine SBOM für einen Build zu erhalten . Befolgen Sie andernfalls die Schritte zum Generieren einer benutzerdefinierten SBOM .

Besorgen Sie sich eine vorgenerierte SBOM

So erhalten Sie eine vorgenerierte SBOM:

  1. Navigieren Sie in Ihrem Browser zu ci.android.com .

  2. Geben Sie im Feld Geben Sie einen Filialnamen ein den Namen aosp-main ein.

  3. Klicken Sie für alle Builds mit grünem Status auf den Abwärtspfeil „Artefakte anzeigen“ . Der Bildschirm „Artefakte erstellen“ wird angezeigt.

  4. Verwenden Sie im Bildschirm „Artefakte erstellen“ einen Suchbefehl, um die SBOM-JSON-Datei zu suchen ( STRG+F oder CMD+F ).

Generieren Sie eine benutzerdefinierte SBOM

Für alle Ergänzungen zur Plattform, einschließlich aller Binär- oder Build- und Release-Toolketten, müssen Sie eine SBOM-Darstellung Ihres Produkts bereitstellen, die den Mindestelementen für eine Software-Stückliste (SBOM) entspricht. So generieren Sie eine benutzerdefinierte SBOM:

  1. Führen Sie die folgenden Befehle aus, um Ihre Umgebung einzurichten und die SBOM zu erstellen:

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

    Das TARGET bezieht sich auf dasselbe Build-Ziel, das Sie zum Erstellen von Android verwenden, z. B. aosp_arm64-userdebug .

  2. Um sicherzustellen, dass die SBOM korrekt erstellt wurde, führen Sie Folgendes aus:

    $ ls out/dist/sbom*