Software Bill of Materials
Un Bill of Materials (BOM) es una lista de materiales, piezas y las cantidades de cada una necesarias para fabricar un producto. Por ejemplo, un BOM para un ordenador podría listar la placa base, la CPU, la RAM, la fuente de alimentación, los dispositivos de almacenamiento, la carcasa y otros componentes, junto con las cantidades necesarias para montar el ordenador.
Un Software Bill of Materials (SBOM) es una lista de todos los componentes que forman parte de un software. Incluye componentes de código abierto y de terceros, así como cualquier código personalizado escrito para el software. Un SBOM es similar a un BOM de un producto físico, pero para software.
En el contexto de la seguridad de la cadena de suministro de software, los SBOM ayudan a identificar y mitigar riesgos de seguridad y cumplimiento en el software. Al saber exactamente qué componentes usa un software, puedes identificar y parchear rápidamente vulnerabilidades en tus componentes, o determinar si un componente tiene una licencia incompatible con tu proyecto.
Contenido de un SBOM
Un SBOM suele incluir la siguiente información:
- El nombre del software, como el de una biblioteca o framework, que describe el SBOM.
- La versión del software.
- La licencia bajo la que se distribuye el software.
- Una lista de otros componentes de los que depende el software.
Cómo usa Docker Scout los SBOM
Docker Scout usa SBOM para determinar los componentes usados en una imagen Docker. Cuando analizas una imagen, Docker Scout usará el SBOM adjunto a la imagen como attestation, o generará un SBOM al vuelo analizando el contenido de la imagen.
El SBOM se contrasta con la base de datos de avisos para determinar si alguno de los componentes de la imagen tiene vulnerabilidades conocidas.