SBOM: cómo localizar componentes vulnerables

Un inventario de componentes permite hacer preguntas mejores cuando aparece un fallo, pero no certifica que el programa sea seguro.

Por Rafael Garcia
Tres tarjetas explican que una SBOM identifica producto, dependencias y posibles cruces con avisos

Cuando aparece un aviso sobre una biblioteca de software, una organización necesita saber en qué productos y versiones la usa. Una Software Bill of Materials o SBOM es un inventario estructurado de componentes y relaciones de dependencia que ayuda a responder esa primera pregunta. El informe final de la Administración Nacional de Telecomunicaciones e Información de Estados Unidos (NTIA), publicado en 2021, define elementos mínimos para que esa información sea identificable y compartible. La SBOM no es un escáner de seguridad ni una garantía de ausencia de fallos.

Tres tarjetas explican que una SBOM identifica producto, dependencias y posibles cruces con avisos
Diagrama original de Gaia Genius Hub basado en el informe de NTIA. No representa un análisis realizado sobre software de terceros.

Qué debe poder identificar un inventario útil

El documento de NTIA, sección IV organiza los mínimos en campos de datos, soporte para automatización y prácticas de generación y uso. Entre los campos figuran proveedor, nombre y versión del componente, identificadores adicionales cuando existan, relación de dependencia, autor de los datos y fecha de elaboración. La versión importa: «incluimos la biblioteca B» puede ser insuficiente si un aviso afecta solo a determinadas versiones. La relación importa también: una dependencia puede llegar a través de otro paquete, no aparecer como una instalación directa.

NTIA menciona formatos legibles por máquinas, como SPDX y CycloneDX, para intercambiar la información. Un archivo en uno de esos formatos tampoco prueba por sí solo que el inventario esté completo. Debe conocerse su alcance: producto o versión objetivo, componentes que la herramienta pudo observar, dependencias desconocidas y momento en que se generó. Si el software cambia y la SBOM no se actualiza, la respuesta a «¿estamos afectados?» puede quedar desfasada.

Pregunta ante un aviso Dato que ayuda Comprobación adicional
¿Usamos el componente? Nombre e identificador Alias, paquetes renombrados y dependencias indirectas
¿Qué versión? Versión y fecha del inventario Comparación con el rango exacto del aviso
¿Dónde está? Relación con producto y otros componentes Despliegues reales y versiones instaladas
¿Hay riesgo explotable? La SBOM solo orienta la búsqueda Configuración, función vulnerable y análisis del proveedor

Una SBOM puede servir como índice de búsqueda; la decisión de parchear o mitigar requiere el aviso original, su alcance técnico y el entorno donde corre el producto. La guía de CISA para consumidores de SBOM sitúa el inventario dentro de la gestión de riesgo de la cadena de suministro, junto a otros datos y prácticas. No lo presenta como sustituto de ellas.

Secuencia de cuatro pasos con un producto A, una librería B y un aviso ficticio que exige comprobar versión y uso real
Ejemplo enteramente hipotético de Gaia Genius Hub; las versiones 2.0–2.2 no corresponden a una vulnerabilidad real.

Ejemplo hipotético paso a paso

Imagina un programa A cuya SBOM fechada hoy enumera la librería B, versión 2.1. Mañana aparece un aviso hipotético que afecta a B entre las versiones 2.0 y 2.2. El primer cruce da un posible afectado porque 2.1 cae dentro del intervalo. Esa coincidencia justifica investigar, pero aún no demuestra que el código vulnerable se ejecute en A ni que exista explotación activa. Tampoco autoriza a declarar «no afectado» si el inventario omitía dependencias que no pudo detectar.

La secuencia razonable es: identificar la versión del producto desplegado, comprobar que su SBOM corresponde a esa misma compilación, leer el aviso del fabricante o proyecto, confirmar condiciones de explotación y aplicar la actualización o mitigación indicada. Después se genera o recibe una SBOM nueva para la versión corregida y se conserva el historial de la decisión. El ejemplo no sustituye a la respuesta a incidentes ni a los controles de un equipo de seguridad.

Dos errores frecuentes al comprar o recibir software

El primero es pedir «una SBOM» sin especificar qué producto y versión cubre, cómo se entrega y cuándo se actualizará. El segundo es tratar cualquier componente listado como una vulnerabilidad confirmada. En ambos casos el documento puede existir y seguir siendo poco útil. Antes de aceptarlo, comprueba que el proveedor identifica el producto, declara los componentes o dependencias que no pudo identificar y ofrece una vía para recibir correcciones. Esas preguntas proceden del enfoque de alcance, frecuencia y prácticas del informe de NTIA; no garantizan por sí solas un nivel de seguridad.

Existe además un documento de CISA de agosto de 2025 sobre nuevos elementos mínimos, publicado como borrador para comentarios, cuya portada aclara que no representa la posición final del Gobierno de Estados Unidos. Por eso este artículo se apoya en el informe final de NTIA y presenta el texto de CISA de 2025 solo como borrador; no lo transforma en una obligación vigente.

La conclusión útil

La SBOM responde «¿qué componentes podría contener esta versión de software?» con una estructura que permite automatizar búsquedas. Un aviso de seguridad responde otra pregunta: «¿qué versiones y condiciones son vulnerables?». Cruzar ambos conjuntos acelera el triage, pero la conclusión depende de la integridad del inventario y de la comprobación técnica. La transparencia es un punto de partida verificable, no un sello mágico.

Fuentes y agradecimientos