Firma de dependencias y artefactos
Verifique la procedencia con SLSA y Sigstore.
Firma de dependencias y artefactos es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.
Por qué importa la procedencia
Una SBOM le indica qué contiene un artefacto. La procedencia le indica de dónde proviene y cómo se compiló. La firma vincula un artefacto con un origen verificable, de modo que los consumidores puedan rechazar cualquier elemento que no haya producido su pipeline de confianza.
Sin procedencia, un atacante que sustituya un tarball en su registro resulta indistinguible de una versión legítima.
Digests, no etiquetas
La base de la integridad es el direccionamiento por contenido. Un hash criptográfico (digest) de un artefacto identifica de forma única esa secuencia exacta de bytes. Las etiquetas mutables como latest pueden redirigirse; un digest no.
# pull by immutable digest, not a tag
docker pull my-app@sha256:1d52838af602b4b5a831beb13a0e4d073280665ea7be7f69ce2382f29c5a613f
# compute a file digest
sha256sum release-1.4.0.tar.gzFundamentos de las firmas digitales
Una firma digital utiliza una clave privada para firmar el hash del artefacto; cualquiera que tenga la clave pública correspondiente puede verificarla. Esto proporciona dos garantías:
- Integridad — el artefacto no se modificó después de firmarlo
- Autenticidad — lo firmó quien posee la clave privada
La parte difícil no son las matemáticas, sino la gestión de claves y la distribución de la confianza: ¿cómo sabe un verificador en qué clave pública confiar?
Firma sin claves con Sigstore
La firma tradicional obliga a los equipos a proteger claves privadas de larga duración, que pueden filtrarse. Sigstore ofrece firma sin claves: emite un certificado de corta duración vinculado a una identidad OIDC (como una carga de trabajo de CI o el correo electrónico de un desarrollador), firma y registra el evento en un registro público de transparencia llamado Rekor.
No hay ninguna clave de larga duración que robar, y cada firma se puede auditar públicamente.
Firmar con Cosign
Cosign es la herramienta de Sigstore para firmar imágenes de contenedor y otros artefactos. En el modo sin claves utiliza el token OIDC del pipeline, por lo que no hay ningún archivo de claves en el disco.
# keyless sign in CI (uses ambient OIDC identity)
COSIGN_EXPERIMENTAL=1 cosign sign my-registry/my-app@sha256:1d5283...
# verify, asserting the expected signer identity
cosign verify my-registry/my-app@sha256:1d5283... \
--certificate-identity-regexp '.*@my-org\.com' \
--certificate-oidc-issuer https://accounts.google.comEl registro de transparencia
Sigstore registra cada evento de firma en Rekor, un registro público, de solo adición y con evidencia de manipulación. Este es un potente control de detección:
- Puede demostrar cuándo se firmó algo
- Un atacante que robe una identidad no puede firmar en secreto — el evento queda registrado públicamente
- Las firmas anómalas (identidad inesperada, fuera del horario habitual) se vuelven detectables
La transparencia convierte una intrusión silenciosa en evidencia observable.
SLSA: niveles de integridad de las compilaciones
SLSA (Supply-chain Levels for Software Artifacts) es un marco que evalúa el nivel de confianza de su proceso de compilación. Los niveles superiores exigen garantías más sólidas contra la manipulación.
- L1 — existe una procedencia documentada
- L2 — procedencia firmada procedente de un servicio de compilación alojado
- L3 — compilaciones reforzadas y aisladas; la procedencia no se puede falsificar, ni siquiera por alguien interno del pipeline
SLSA es una hoja de ruta: elija un nivel objetivo y cierre las brechas.
Atestaciones de procedencia de la compilación
Una atestación de procedencia es una declaración firmada que describe cómo se compiló un artefacto: el commit de origen, la identidad del compilador, los parámetros de compilación y las entradas. El formato in-toto lo estandariza.
# generate and attach SLSA provenance for an image
cosign attest --type slsaprovenance \
--predicate provenance.json \
my-registry/my-app@sha256:1d5283...
# verify provenance matches expected source repo
cosign verify-attestation --type slsaprovenance my-registry/my-app@sha256:1d5283...Aplicación de firmas en la admisión
La firma solo resulta útil si algo rechaza los artefactos sin firmar. En Kubernetes, un controlador de admisión puede bloquear cualquier imagen que no tenga una firma válida y procedencia de su identidad de confianza.
- Los controladores de políticas verifican las firmas de cosign antes de iniciar un pod
- Rechace las imágenes firmadas por identidades inesperadas
- Exija una procedencia que apunte a su repositorio de código fuente aprobado
Esto cierra el ciclo: los artefactos que no son de confianza nunca se ejecutan.
Firma de dependencias upstream
La procedencia es más valiosa cuando se extiende a lo que consume, no solo a lo que distribuye. Los ecosistemas están incorporando firma y procedencia nativas:
- npm provenance vincula un paquete publicado con su commit de origen y su ejecución de CI
- Las imágenes base de contenedores incluyen cada vez más firmas de cosign
- Los registros de lenguajes están probando la verificación respaldada por Sigstore
Prefiera las dependencias que publiquen una procedencia verificable y verifíquela durante la instalación cuando sea compatible.
Priorizar la verificación
Una estrategia de firma práctica se aplica por capas y se verifica de extremo a extremo:
- Fije las entradas mediante digest
- Firme sin claves los artefactos y adjunte la SBOM y las atestaciones de procedencia
- Regístrelo todo en un registro de transparencia
- Exija la verificación durante el despliegue mediante una política de admisión
La cadena solo es tan sólida como su eslabón no verificado más débil, así que verifique en cada punto de consumo.
Comprobación rápida: firma sin claves
Analice por qué la firma sin claves mejora la seguridad de la cadena de suministro.
Repaso: firma de dependencias y artefactos
Ha aprendido a demostrar la procedencia y a exigirla.
- Fije mediante digest, no mediante etiquetas mutables
- Las firmas digitales proporcionan integridad y autenticidad; el desafío es la gestión de claves
- Sigstore + cosign permiten firmar sin claves con un registro público de transparencia Rekor
- SLSA evalúa la integridad de las compilaciones; las atestaciones de procedencia registran cómo se compilaron los artefactos
- Las políticas de admisión rechazan durante el despliegue todo lo que no esté firmado o no sea de confianza
A continuación: reforzar el pipeline de CI/CD que produce estos artefactos.
Aprende Cyber Security Academy con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 76
- Lecciones
- 303
Preguntas frecuentes
¿La lección «Firma de dependencias y artefactos» es gratis?
Sí — el texto completo de «Firma de dependencias y artefactos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Firma de dependencias y artefactos»?
Verifique la procedencia con SLSA y Sigstore. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cyber Security Academy?
No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Firma de dependencias y artefactos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?
Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Amenazas a la cadena de suministro
- Lista de materiales de software (SBOM)
- Firma de dependencias y artefactos
- Protección de pipelines de CI/CD