18 000 organizaciones comprometidas. Sistema de build manipulado, las actualizaciones firmadas se convirtieron en arma.
SLSA: la cadena de suministro que los hackers ya no pueden romper.
Supply-chain Levels for Software Artifacts. El framework que convierte los pipelines de build en pruebas forenses, y el único estándar que satisface el CRA, NIS2 y el EU AI Act con evidencia criptográfica.
Cuatro ataques, una misma clase.
Manipulación entre el código fuente y el usuario final. La seguridad de código clásica no llega hasta aquí. Es precisamente esa brecha la que cierra SLSA.
Dos meses sin detectar. Credenciales de numerosos pipelines CI/CD sustraídas.
Ataque a la cadena de suministro en varias fases. El propio vendor fue víctima de otro ataque a la cadena de suministro.
Dos años de ingeniería social. CVSS 10.0. Descubierto solo por la casualidad de una persona.
La pregunta no es si, sino cuándo.
Cuatro cifras que todo CISO debería conocer hoy, y que explican por qué SLSA ya no puede faltar en ninguna estrategia de pipeline.
Qué es SLSA, y qué no es.
Antes de abrir el debate sobre niveles y pipelines conviene aclararlo: SLSA resuelve un problema concreto, y exactamente solo ese.
Supply-chain Levels for Software Artifacts
Framework de seguridad de OpenSSF (Linux Foundation), lanzado en 2021 por Google. Se pronuncia “sal-sa”. Clasifica los pipelines de build en niveles de confianza medibles: de L0 (sin garantía) a L3 (endurecido, aislado, firmado).
Ni una bala de plata, ni una herramienta que comprar.
- Ni un pen test, ni un escáner de código.SLSA no comprueba el contenido de los artefactos, sino la integridad de su origen.
- No sustituye al SBOM.SLSA complementa al SBOM con una provenance demostrable: ambos son complementarios.
- Ni un producto, ni la compra de una herramienta.Un framework con requisitos y niveles, no un modelo de licencia.
- No es una checklist de compliance.Un threat model con contramedidas concretas, no casillas obligatorias.
Las ocho amenazas a lo largo de la cadena de suministro.
Cuatro fases, ocho vectores de ataque concretos. SLSA aborda en primer lugar la fase de build y distribución; la protección de la fuente y la verificación del consumidor surgen como tracks propios.
Tres términos, el resto es detalle.
Si entiendes estos tres términos, has entendido SLSA. Todo lo demás son variantes de implementación.
Provenance
Documento legible por máquina: qué se construyó, a partir de qué fuente, con qué builder, con qué parámetros. Formato: in-toto Attestation.
Build Platform
La plataforma CI/CD que construye el artefacto. Genera la provenance y la firma. Ejemplos: GitHub Actions, GitLab CI, Tekton Chains.
Verifier
Componente que comprueba antes del despliegue: si la provenance es correcta, si la firma es válida, si el artefacto cumple la policy.
Cuatro niveles, del Salvaje Oeste a la fortaleza.
Cada nivel se apoya en el anterior. Más seguridad, menos confianza-de-palabra.
Sin garantías
Sin estándar de build, sin provenance. Estado por defecto de muchos proyectos internos.
La provenance existe
Proceso de build documentado. La provenance se genera, legible por máquina.
Provenance firmada
Build en una plataforma alojada. Provenance firmada criptográficamente.
Plataforma de build endurecida
Aislamiento, sin pasos definidos por el usuario, provenance no falsificable.
¿Qué hay que hacer en concreto? La matriz del Build Track.
Tres “—” se convierten en tres “✓”. Ese es exactamente el camino de “confía en mí” a “demuéstralo”.
| Requisito | L1 | L2 | L3 |
|---|---|---|---|
| El proceso de build sigue un procedimiento consistente | ✓ | ✓ | ✓ |
| La provenance se genera automáticamente | ✓ | ✓ | ✓ |
| La provenance es completa (incluye todas las entradas del build) | ✓ | ✓ | ✓ |
| La provenance es auténtica (firmada por el builder) | — | ✓ | ✓ |
| El build se ejecuta en una plataforma de build alojada | — | ✓ | ✓ |
| La plataforma de build aísla los builds entre sí | — | — | ✓ |
| La provenance es no falsificable (el usuario no puede falsearla) | — | — | ✓ |
¿Cómo es en concreto una provenance?
Legible por máquina, firmada, totalmente auditable. Lo que se esconde tras el formato in-toto Statement v1.
{ "_type": "https://in-toto.io/Statement/v1", "subject": [{ "name": "vamisec-app:v1.2.3", "digest": { "sha256": "a3f5…e91b" } }], "predicateType": "https://slsa.dev/provenance/v1", "predicate": { "buildDefinition": { "buildType": "https://slsa-framework.github.io/…", "externalParameters": { "source": "git+https://github.com/vamisec/app", "ref": "refs/tags/v1.2.3" }, "internalParameters": { "runner": "ubuntu-22.04" } }, "runDetails": { "builder": { "id": "https://github.com/actions/runner" }, "metadata": { "invocationId": "…", "startedOn": "2026-05-20T08:14:02Z" } } } }
Lo que revela la provenance
subjectQué artefacto: nombre + hash SHA-256. Identificable de forma única.
externalParametersQué fuente: URL de Git, tag de commit, controlable por el usuario.
builder.idQué builder lo construyó: identidad firmada criptográficamente.
metadataCuándo, cuánto tiempo, con qué invocation ID: totalmente auditable.
SLSA L3 en GitHub Actions, en 15 líneas.
Nada de teoría, ningún nuevo silo de herramientas. Reusable Workflow de slsa-framework, firma Sigstore vía OIDC, Verifier CLI en el lado del consumidor. Open Source, listo para producción.
name: release on: push: tags: ['v*'] jobs: build: permissions: id-token: write # Sigstore OIDC contents: read actions: read uses: slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml@v2.0.0 with: go-version: '1.22' config-file: .slsa-goreleaser.yml
Lo que ocurre automáticamente
- 1El build se ejecuta en una VM de runner de GitHub aislada.
- 2La provenance se genera automáticamente.
- 3Firmada con Sigstore (keyless, OIDC).
- 4Provenance adjuntada como release asset.
- 5Verificable públicamente vía
slsa-verifier.
Verificación en el lado del consumidor: una sola línea.
$ slsa-verifier verify-artifact app-binary \ --provenance-path app-binary.intoto.jsonl \ --source-uri github.com/vamisec/app \ --source-tag v1.2.3 PASSED: Verified SLSA provenance
Esta comprobación pertenece a cada admission controller, cada pipeline CD, cada wrapper de package manager. Por defecto: no verificado = no desplegado.
El ecosistema: Open Source, listo para producción.
No construyes nada desde cero: compones a partir de bloques open source maduros. No hace falta ninguna licencia comercial.
GitHub Actions
Provenance SLSA L3 nativa vía slsa-github-generator. Firma Sigstore out of the box.
GitLab CI
Generación de provenance integrada, conforme a in-toto, a partir de GitLab 16+.
Tekton Chains
Plataforma de build nativa de Kubernetes con soporte SLSA nativo para stacks cloud-native.
Sigstore (Cosign)
Keyless signing vía OIDC + transparency log. El estándar de facto para contenedores y artefactos.
in-toto Attestation
El formato estándar para los provenance statements. Basado en JSON, estructurado, firmable.
SLSA Verifier
CLI open source de OpenSSF. Comprueba la provenance frente a la policy: una línea, un código de salida.
Para quién resulta especialmente relevante SLSA.
Si decides o implementas en alguno de estos puntos, SLSA pertenece a tu objetivo técnico, antes de que el plazo del CRA se convierta en una emergencia.
CISOs y Heads of AppSec
Asegurar la cadena de suministro de software en términos regulatorios, sin levantar un nuevo silo de herramientas.
DevSecOps Leads
Endurecer los pipelines CI/CD con patrones de implementación concretos, no solo teoría.
Compliance y auditores
Evidencia técnica para el CRA artículo 13, NIS2 artículo 21(2)(d), EU AI Act artículo 15.
Equipos de plataforma
Construir o evaluar plataformas de build alojadas, conformes a SLSA desde el primer día.
Por qué SLSA deja de ser opcional a más tardar en 2027.
Cuatro reglamentos de la UE, un requisito común: seguridad demostrable de la cadena de suministro. SLSA aporta la prueba técnica.
Artículo 13: “Cybersecurity by Design”. Identificación de componentes y gestión de vulnerabilidades a lo largo de la cadena de suministro. Aplicable a partir del 11/12/2027.
Artículo 21(2)(d): la seguridad de la cadena de suministro como medida obligatoria de gestión de riesgos. Transpuesta en Alemania mediante la NIS2UmsuCG.
Artículo 15: exactitud, robustez, ciberseguridad. Para la IA de alto riesgo, una provenance trazable del build y del entrenamiento es obligatoria.
Gestión del riesgo de terceros para entidades financieras. Los proveedores de software deben acreditar de forma demostrable procesos endurecidos.
XZ Utils, y por qué SLSA no lo habría impedido.
Una mirada honesta a los límites del framework. Cuándo basta el pipeline y cuándo hace falta más.
Lo que los equipos hacen mal en el primer intento.
Seis errores que vemos con regularidad en auditorías. Conocerlos te ahorra el costoso segundo intento.
Generar la provenance, pero no verificarla
Una prueba sin comprobación es teatro. La verificación pertenece al admission controller, no al backlog.
Migrar todos los repositorios a la vez
Empieza por el artefacto productivo más crítico. Aprende. Escala. El big bang siempre fracasa.
Custom Build Steps en workflows L3
Los scripts definidos por el usuario hacen falsificable la provenance. Los Reusable Workflows sin código de usuario son obligatorios.
Sin policy, solo firma
Una firma válida no dice nada sobre la identidad del builder. La policy impone: ¿quién puede construir por nosotros?
Tratar SBOM y SLSA como competidores
Se complementan. SBOM = qué. SLSA = cómo. Aportar ambos, verificar ambos.
El Sigstore-Root como caja negra
Sigstore se basa en un trust root público. Entiende en qué confías de forma implícita. Para requisitos muy altos: un trust root privado.
Del statu quo a L3: el camino realista.
Seis meses para pasar de “works on my machine” a una provenance no falsificable para los artefactos críticos. Nada de big bang, sino cuatro fases.
Inventario
¿Qué pipelines de build existen? ¿Quién construye los artefactos productivos? ¿Qué builds se ejecutan en local (“works on my machine”)?
Alcanzar L1
Estandarizar los builds. Definición de build como código (YAML). Generar la provenance, aunque aún no esté firmada.
Alcanzar L2
Builds solo en plataformas alojadas. Firmar la provenance con Sigstore. Los consumidores verifican.
L3 para artefactos críticos
Hosted builders con aislamiento. Reusable Workflows sin pasos de build definidos por el usuario. Provenance no falsificable.
Cinco frases: no necesitas más.
Si de esta página solo te llevas una cosa, que sean estas cinco afirmaciones, en exactamente este orden.
SLSA es un framework de requisitos para pipelines de build: no es una herramienta ni un producto.
Provenance + Verifier convierten “confía en mí” en “demuéstralo”.
L1 se alcanza en semanas, L3 en meses. Ninguno escala mediante big bang.
El SBOM responde al qué, SLSA responde al cómo. Necesitas ambos.
CRA, NIS2, DORA, AI Act: todos exigen seguridad demostrable de la cadena de suministro. SLSA la aporta.
Valeri Milke
“La seguridad no es un producto: es un proceso. Y un proceso que no es demostrable no existe en una auditoría.”
Estándares que después conocerás de memoria.
FAQ.
¿Cuánto suele tardar la implantación de SLSA L3?
¿Qué herramientas necesito en concreto para SLSA L3?
¿En qué se diferencia SLSA del SBOM?
¿Necesito SLSA si todavía no estoy sujeto al CRA?
¿Cómo apoya VamiSec en concreto la implantación?
A prueba de auditoría.Demostrable.En producción.
Antes de empezar, habla con un experto. 30 minutos de consulta inicial con un plan concreto para tu pipeline, sin compromiso y gratis.
Solicitar una consulta inicial- Comprobación de madurez de tu pipeline de build actual
- Roadmap L0 → L3 con estimación del esfuerzo
- Patrones de código concretos para GitHub Actions / Verifier
- Mapeo de tus obligaciones: CRA · NIS2 · DORA · AI Act
- Resumen escrito y recomendaciones