Cómo crear una lista de materiales de software (SBOM)

En febrero de 2022, el Instituto Nacional de Estándares y Tecnología (NIST) publicó la versión 1.1 del Framework de Desarrollo Seguro de Software (SSDF), un conjunto de lineamientos integrales sobre las prácticas de desarrollo seguro de software como respuesta a la Orden Ejecutiva (EO) 14028 de Seguridad Cibernética de 2021.

Como parte de estos requisitos, el gobierno de Estados Unidos podría solicitar una lista de materiales de software (SBOM), en la que se enumeren los componentes de una versión de software.

Las SBOM se generan automáticamente para las compilaciones de integración continua de Android (Android CI). Si utilizas una de las compilaciones de CI, sigue estos los pasos para obtener una SBOM para una compilación. De lo contrario, sigue los pasos para generar una SBOM personalizada.

Cómo obtener una SBOM generada previamente

Para obtener una SBOM generada previamente, haz lo siguiente:

  1. En tu navegador, ve a ci.android.com.

  2. En el campo Ingresa un nombre de rama, escribe aosp-main.

  3. En cualquiera de las compilaciones con el estado verde, haz clic en la flecha hacia abajo de Ver artefactos. Aparecerá la pantalla Artefactos de compilación.

  4. En la pantalla Artefactos de compilación, usa un comando de búsqueda para ubicar el archivo JSON de SBOM (CTRL + F o CMD + F).

Cómo generar una SBOM personalizada

Si quieres agregar algo a la plataforma, como un objeto binario o cadenas de herramienta de expulsión o compilación, debes proporcionar una representación de SBOM de tu producto que cumpla con los elementos mínimos para una lista de materiales de software (SBOM). Para generar una SBOM personalizada, haz lo siguiente:

  1. Ejecuta los siguientes comandos para configurar tu entorno y compilar la SBOM:

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

    El TARGET hace referencia al mismo objetivo de compilación que usas para compilar Android, como aosp_arm64-userdebug.

  2. Para asegurarte de que la SBOM se haya compilado correctamente, ejecuta lo siguiente:

    $ ls out/dist/sbom*