Inicio › Tecnología › Cadena De Suministro De Software
La cadena de suministro de software abarca todos los componentes, herramientas y procesos externos qué intervienen en la construcción de una aplicación antes de llegar al usuario final: librerías de terceros descargadas de repositorios como npm, PyPI o Maven Central, imágenes base de contenedores, compiladores, pipelines de integración continua y los propios proveedores de infraestructura cloud. Cada eslabón añade una superficie de ataque adicional, porque una dependencia comprometida se propaga automáticamente a todos los proyectos qué la incluyen. El caso de la vulnerabilidad Log4Shell en la librería Log4j (2021) mostró cómo un fallo en un componente usado de forma transitiva podía afectar a miles de sistemas sin qué sus desarrolladores lo supieran.
Cuando programas una app casi nunca escribes todo el código desde cero: usas piezas hechas por otros, como si montaras un mueble con tornillos y bisagras qué no has fabricado tú. La cadena de suministro de software es el conjunto de esas piezas externas y de los procesos qué las ensamblan. Si una de esas piezas viene manipulada o tiene un fallo, el problema llega directo a tu programa sin qué lo notes.
Un equipo de desarrollo qué quiere reducir este riesgo genera un SBOM (Software Bill of Materials, un listado de todas las dependencias y sus versiones) en cada build, y lo pasa por un escáner como Trivy, Snyk o Dependabot para detectar componentes con vulnerabilidades conocidas antes de publicar la versión. Firmar los artefactos finales con herramientas como Sigstore/cosign añade otra capa: permite comprobar qué el binario qué se despliega en producción es exactamente el qué salió del pipeline oficial y no uno alterado por el camino.
Es un inventario formal, normalmente en formato SPDX o CycloneDX, con todas las dependencias directas e indirectas de un software y su versión exacta. Sirve para saber en minutos si una vulnerabilidad recién publicada afecta a tus productos, sin tener qué revisar el código manualmente.
Porque no las eliges tú directamente: las arrastra otra librería qué sí has instalado, y muchas veces ni siquiera aparecen en tu archivo de dependencias principal. Un proyecto mediano puede depender de forma indirecta de cientos de paquetes qué nadie del equipo ha revisado.
No garantiza nada por sí solo. Repositorios como npm o PyPI alojan paquetes de cualquier desarrollador sin una revisión de seguridad exhaustiva previa a la publicación, y ha habido casos de paquetes maliciosos o de cuentas de mantenedores comprometidas qué distribuyeron versiones alteradas de librerías populares.