Cosign
¿Qué es Cosign?
CosignCLI open source del proyecto Sigstore para firmar, verificar y atestiguar artefactos OCI y otro software, usando flujos con o sin claves de larga duración.
Cosign es la herramienta de usuario del stack Sigstore. Permite firmar imágenes de contenedor, artefactos OCI, blobs, SBOM y atestaciones in-toto, y almacenar la firma junto al artefacto o en un registro OCI. En modo keyless utiliza Fulcio para obtener un certificado efímero ligado a una identidad OIDC y registra la firma en Rekor; en modo "keyed" usa claves tradicionales, tokens hardware o claves respaldadas por un KMS. Las políticas de verificación pueden exigir identidades de confianza (por ejemplo, un workflow concreto de GitHub Actions), workflows reusables o predicados de atestación. Cosign es la herramienta de firma predeterminada en muchos pipelines CI y sistemas de admisión Kubernetes (Kyverno, Connaisseur, OPA Gatekeeper) para imponer integridad en la cadena de suministro.
● Ejemplos
- 01
cosign sign --identity-token $OIDC_TOKEN ghcr.io/org/app:v1.2
- 02
Política Kyverno que verifica que las imágenes de producción están firmadas por un workflow concreto de GitHub Actions.
● Preguntas frecuentes
¿Qué es Cosign?
CLI open source del proyecto Sigstore para firmar, verificar y atestiguar artefactos OCI y otro software, usando flujos con o sin claves de larga duración. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa Cosign?
CLI open source del proyecto Sigstore para firmar, verificar y atestiguar artefactos OCI y otro software, usando flujos con o sin claves de larga duración.
¿Cómo funciona Cosign?
Cosign es la herramienta de usuario del stack Sigstore. Permite firmar imágenes de contenedor, artefactos OCI, blobs, SBOM y atestaciones in-toto, y almacenar la firma junto al artefacto o en un registro OCI. En modo keyless utiliza Fulcio para obtener un certificado efímero ligado a una identidad OIDC y registra la firma en Rekor; en modo "keyed" usa claves tradicionales, tokens hardware o claves respaldadas por un KMS. Las políticas de verificación pueden exigir identidades de confianza (por ejemplo, un workflow concreto de GitHub Actions), workflows reusables o predicados de atestación. Cosign es la herramienta de firma predeterminada en muchos pipelines CI y sistemas de admisión Kubernetes (Kyverno, Connaisseur, OPA Gatekeeper) para imponer integridad en la cadena de suministro.
¿Cómo defenderse de Cosign?
Las defensas contra Cosign combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Cosign?
Nombres alternativos comunes: cosign.
● Términos relacionados
- appsec№ 1044
Sigstore
Proyecto open source de la Linux Foundation que facilita firmar, verificar y proteger artefactos de software combinando claves efímeras, identidades OIDC y un registro de transparencia.
- appsec№ 784
Firma de paquetes
Aplicación de una firma criptográfica a un paquete de software para que los consumidores verifiquen la identidad del publicador y que el artefacto no se ha alterado tras su publicación.
- appsec№ 870
Atestación de procedencia
Declaración firmada y verificable por máquina que describe cómo se produjo un artefacto de software —fuente, sistema de build, parámetros y dependencias— para que los consumidores confíen en su origen.
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts: conjunto escalonado de requisitos publicado por OpenSSF que endurece progresivamente la forma de construir, firmar y verificar software frente a manipulaciones de la cadena de suministro.
- appsec№ 1069
Seguridad de la cadena de suministro de software
Disciplina que protege cada eslabón de la producción de software —fuente, dependencias, build, firma, distribución y despliegue— frente a manipulación, código malicioso y pérdida de integridad.
- appsec№ 522
in-toto
Marco abierto que atestigua criptográficamente cada paso de una cadena de suministro de software, para que los consumidores verifiquen que el artefacto se construyó y manejó exactamente como pretendía el propietario del proyecto.