Tworzenie listy materiałów oprogramowania (SBOM)

W lutym 2022 r. amerykański Narodowy Instytut Norm i Techniki (NIST) opublikował wersję 1.1 ramowych wytycznych dotyczących bezpiecznego tworzenia oprogramowania (SSDF). Jest to zbiór kompleksowych wskazówek dotyczących bezpiecznych praktyk tworzenia oprogramowania, które powstały w odpowiedzi na rozporządzenie wykonawcze w sprawie cyberbezpieczeństwa z 2021 r. (EO) 14028.

W ramach tych wymagań rząd USA może zażądać listy komponentów oprogramowania (SBOM), która zawiera komponenty wersji oprogramowania.

Listy SBOM są generowane automatycznie w przypadku kompilacji ciągłej integracji Androida (Android CI). Jeśli używasz jednej z kompilacji CI, wykonaj te czynności, aby uzyskać SBOM dla kompilacji. W przeciwnym razie wykonaj czynności opisane w tym artykule, aby wygenerować niestandardowy dokument SBOM.

Uzyskiwanie wstępnie wygenerowanego pliku SBOM

Aby uzyskać wstępnie wygenerowany plik SBOM:

  1. W przeglądarce otwórz ci.android.com.

  2. W polu Wpisz nazwę gałęzi wpisz aosp-android-latest-release.

  3. W przypadku dowolnej kompilacji o zielonym stanie kliknij strzałkę w dół obok opcji Wyświetl artefakty. Wyświetli się ekran Tworzenie artefaktów.

  4. Na ekranie Artefakty kompilacji użyj polecenia wyszukiwania, aby znaleźć folder SBOM JSON (CTRL+F lub CMD+F).

Generowanie niestandardowego wykazu materiałów (SBOM)

W przypadku wszystkich dodatków do platformy, w tym wszystkich łańcuchów narzędzi binarnych lub narzędzi do kompilacji i wdrażania, musisz podać reprezentację SBOM swojego produktu, która spełnia wymagania minimalnych elementów specyfikacji SBOM. Aby wygenerować niestandardowy plik SBOM:

  1. Aby skonfigurować środowisko i utworzyć SBOM, uruchom te polecenia:

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

    TARGET odnosi się do tego samego celu kompilacji, którego używasz do kompilowania Androida, np. aosp_arm64-userdebug.

  2. Aby upewnić się, że SBOM został utworzony prawidłowo, wykonaj to polecenie:

    $ ls out/dist/sbom*