Seguridad de la Cadena de Suministro
Prácticas para asegurar la integridad y seguridad de todas las dependencias, herramientas y procesos que componen el pipeline de desarrollo de software.
¿Qué es?
La seguridad de la cadena de suministro de software protege contra ataques que comprometen dependencias, herramientas de build o procesos de distribución. Ataques como SolarWinds y Log4Shell demostraron su importancia.
Vectores de ataque
| Vector | Ejemplo real | Mitigación |
|---|---|---|
| Dependencias maliciosas | Typosquatting en npm/PyPI | Lockfiles, dependency review |
| Compromiso de build | SolarWinds (2020) | Builds herméticos, SLSA Level 3+ |
| Inyección en CI/CD | Codecov breach (2021) | Permisos mínimos, secretos rotados |
| Imágenes comprometidas | Imágenes base con vulnerabilidades | Escaneo con Trivy, imágenes firmadas |
Prácticas de mitigación
- SBOM: Software Bill of Materials (inventario de dependencias)
- Dependency scanning: Snyk, Dependabot, Trivy
- Firma de artefactos: cosign, Sigstore
- SLSA: Supply-chain Levels for Software Artifacts (framework de madurez)
- Lockfiles: versiones exactas de dependencias
SLSA Levels
| Level | Requisitos |
|---|---|
| 1 | Documentación del proceso de build |
| 2 | Build service hosted, logs retenidos |
| 3 | Build aislado, provenance verificable |
| 4 | Build hermético, two-party review |
¿Por qué importa?
Los ataques a la cadena de suministro de software explotan la confianza en dependencias de terceros. Un solo paquete comprometido puede afectar a miles de aplicaciones. Verificar firmas, auditar dependencias y usar SBOMs son prácticas defensivas esenciales.
Referencias
Contenido relacionado
- DevSecOps
Integración de prácticas de seguridad en todo el ciclo de vida del desarrollo de software, automatizando controles de seguridad en el pipeline de CI/CD.
- Seguridad de Contenedores
Prácticas y herramientas para asegurar contenedores en todo su ciclo de vida: construcción de imágenes, runtime, orquestación y cumplimiento.
- Escaneo de Vulnerabilidades
Proceso automatizado de identificar vulnerabilidades conocidas en código, dependencias, contenedores e infraestructura antes de que lleguen a producción.