Cosign
O que é Cosign?
CosignCLI open source do projeto Sigstore para assinar, verificar e atestar artefactos OCI e outros softwares, em modo com ou sem chaves de longa duração.
O Cosign é a ferramenta de utilizador da stack Sigstore. Permite assinar imagens de contentor, artefactos OCI, blobs, SBOM e atestações in-toto, e guardar as assinaturas junto do artefacto ou num registo OCI. Em modo keyless, usa o Fulcio para obter um certificado efémero ligado a uma identidade OIDC e regista a assinatura no Rekor; em modo com chave, utiliza chaves tradicionais, tokens de hardware ou chaves geridas por um KMS. As políticas de verificação podem exigir identidades de confiança (por exemplo, um workflow específico do GitHub Actions), reusable workflows ou predicados de atestação. O Cosign é a ferramenta de assinatura por defeito em muitos pipelines CI e em sistemas de admission do Kubernetes (Kyverno, Connaisseur, OPA Gatekeeper) para impor integridade da cadeia de fornecimento.
● Exemplos
- 01
cosign sign --identity-token $OIDC_TOKEN ghcr.io/org/app:v1.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, em modo com ou sem chaves de longa duração. 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, em modo com ou sem chaves de longa duração.
Como funciona Cosign?
O Cosign é a ferramenta de utilizador da stack Sigstore. Permite assinar imagens de contentor, artefactos OCI, blobs, SBOM e atestações in-toto, e guardar as assinaturas junto do artefacto ou num registo OCI. Em modo keyless, usa o Fulcio para obter um certificado efémero ligado a uma identidade OIDC e regista a assinatura no Rekor; em modo com chave, utiliza chaves tradicionais, tokens de hardware ou chaves geridas por um KMS. As políticas de verificação podem exigir identidades de confiança (por exemplo, um workflow específico do GitHub Actions), reusable workflows ou predicados de atestação. O Cosign é a ferramenta de assinatura por defeito em muitos pipelines CI e em sistemas de admission do Kubernetes (Kyverno, Connaisseur, OPA Gatekeeper) para impor integridade da cadeia de fornecimento.
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
- appsec№ 1044
Sigstore
Projeto open source da Linux Foundation que facilita assinar, verificar e proteger artefactos de software combinando chaves efémeras, identidades OIDC e um registo de transparência.
- appsec№ 784
Assinatura de pacotes
Aplicação de uma assinatura criptográfica a um pacote de software para que os consumidores verifiquem a identidade do publicador e que o artefacto não foi alterado após a publicação.
- appsec№ 870
Atestação de proveniência
Declaração assinada e verificável por máquina que descreve como um artefacto de software foi produzido - fonte, sistema de build, parâmetros e dependências - para os consumidores confiarem na sua origem.
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts: conjunto escalonado de requisitos publicado pelo OpenSSF que endurece progressivamente a forma como o software é construído, assinado e verificado contra manipulação da cadeia de fornecimento.
- appsec№ 1069
Segurança da cadeia de fornecimento de software
Disciplina que protege cada elo da produção de software - código-fonte, dependências, build, assinatura, distribuição e deploy - contra manipulação, código malicioso e perda de integridade.
- appsec№ 522
in-toto
Framework aberto que atesta criptograficamente cada passo de uma cadeia de fornecimento de software, permitindo aos consumidores verificar que o artefacto foi construído e manuseado exatamente como o dono do projeto pretendia.