Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 252

Cosign

Revisado porCybersecurity entrepreneur & security researcher

O que é Cosign?

CosignCLI open source do projeto Sigstore para assinar, verificar e atestar artefactos OCI e outros softwares, usando fluxos com ou sem chaves.


O Cosign é a ferramenta virada para o utilizador da stack Sigstore, criada para responder aos ataques à cadeia de fornecimento — desde o SolarWinds a pacotes npm sequestrados — que visam o pipeline de compilação e distribuição em vez dos sistemas em execução. Consegue assinar imagens de contentor, artefactos OCI, blobs, SBOM e atestações in-toto, guardando as assinaturas junto do artefacto num registo OCI.

A sua inovação definidora é a assinatura sem chaves (keyless). Em vez de pedir aos programadores que guardem uma chave privada de longa duração, o Cosign solicita um certificado ao Fulcio, uma autoridade de certificação que verifica uma identidade OIDC (um workflow do GitHub Actions, um utilizador Google ou GitHub) e emite um certificado válido por cerca de dez minutos. O Cosign assina dentro dessa janela e depois descarta a chave privada efémera; como os certificados têm vida tão curta, não há necessidade de listas de revogação nem de OCSP. O evento de assinatura é registado no Rekor, um registo de transparência apenas de acréscimo (append-only) e à prova de adulteração, para que qualquer pessoa possa mais tarde provar o que foi assinado, por qual identidade e quando.

As políticas de verificação podem, assim, exigir quem assinou em vez de qual chave assinou — por exemplo, "só são admitidas imagens compiladas pelo nosso reusable workflow release.yml". Controladores de admissão do Kubernetes como o Kyverno, o Connaisseur e o OPA Gatekeeper impõem estas verificações no momento do deploy, e as atestações produzidas pelo Cosign sustentam a proveniência SLSA, transformando afirmações de compilação de outro modo autodeclaradas em afirmações criptograficamente verificáveis.

flowchart TD
  A[Job de CI compila a imagem] --> B[cosign sign --identity-token OIDC]
  B --> C[Fulcio verifica a identidade OIDC<br/>emite certificado de ~10 min]
  C --> D[Cosign assina, descarta a chave]
  D --> E[Assinatura + cert registados no Rekor<br/>registo de transparência]
  E --> F[Envia imagem + assinatura para o registo]
  F --> G[Controlador de admissão<br/>Kyverno / Connaisseur]
  G --> H{Assinado por identidade/<br/>workflow de confiança?}
  H -->|Sim| I[Deploy permitido]
  H -->|Não| J[Bloqueado]

Exemplos

  1. 01

    cosign sign --identity-token $OIDC_TOKEN ghcr.io/org/app:v1.2

  2. 02

    Política Kyverno que verifica se as imagens de produção foram assinadas por um workflow específico do GitHub Actions.

Perguntas frequentes

O que é Cosign?

CLI open source do projeto Sigstore para assinar, verificar e atestar artefactos OCI e outros softwares, usando fluxos com ou sem chaves. Pertence à categoria Segurança de aplicações da cibersegurança.

O que significa Cosign?

CLI open source do projeto Sigstore para assinar, verificar e atestar artefactos OCI e outros softwares, usando fluxos com ou sem chaves.

Como se defender contra Cosign?

As defesas contra Cosign costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para Cosign?

Nomes alternativos comuns: cosign.

Termos relacionados