implementing-image-provenance-verification-with-cosign
Assina e verifica a proveniência de imagens de contêiner com Sigstore Cosign. Usa assinatura OIDC e registros de transparência para segurança da cadeia de suprimentos.
O que ela faz
Esta ferramenta ajuda a garantir que as imagens de software que você usa são autênticas e não foram alteradas. Ela funciona assinando digitalmente as imagens e verificando essas assinaturas.
Quando usar
- ✓Ao usar imagens de software em ambientes críticos de segurança.
- ✓Para garantir que as imagens de software vêm de fontes confiáveis.
- ✓Para atender a requisitos de segurança e conformidade.
Exemplo do que pedir para a IA
“Como posso ter certeza de que a imagem de software que estou usando é a original e não foi modificada?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela usa uma ferramenta chamada Cosign para criar uma assinatura digital única para cada imagem. Ao usar a imagem, o Cosign verifica se a assinatura corresponde à imagem original.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-image-provenance-verification-with-cosignOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-image-provenance-verification-with-cosign/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Implementando Verificação de Proveniência de Imagem com Cosign
Visão Geral
Cosign é uma ferramenta Sigstore para assinar, verificar e anexar metadados a imagens de contêiner e artefatos OCI. Ele suporta assinatura baseada em chave e sem chave (OIDC), integra-se com Fulcio (autoridade certificadora) e Rekor (log de transparência), e habilita a segurança da cadeia de suprimentos para imagens de contêiner.
Quando Usar
- Ao implantar ou configurar a implementação de verificação de proveniência de imagem com capacidades Cosign em seu ambiente
- Ao estabelecer controles de segurança alinhados a requisitos de conformidade
- Ao construir ou melhorar a arquitetura de segurança para este domínio
- Ao conduzir avaliações de segurança que exigem esta implementação
Pré-requisitos
- Cosign CLI instalado
- Docker ou Podman para construir imagens
- Registro de contêiner compatível com OCI (Docker Hub, GHCR, GCR, ECR)
- Conta de provedor OIDC (GitHub, Google, Microsoft) para assinatura sem chave
Instalando Cosign
# Install via Go
go install github.com/sigstore/cosign/v2/cmd/cosign@latest
# Install via Homebrew
brew install cosign
# Install via script
curl -O -L "https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64"
sudo mv cosign-linux-amd64 /usr/local/bin/cosign
sudo chmod +x /usr/local/bin/cosign
# Verify installation
cosign version
Assinatura Baseada em Chave
Gerar Par de Chaves
# Generate cosign key pair (creates cosign.key and cosign.pub)
cosign generate-key-pair
# Generate key pair stored in KMS
cosign generate-key-pair --kms awskms:///alias/cosign-key
cosign generate-key-pair --kms gcpkms://projects/PROJECT/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY
cosign generate-key-pair --kms hashivault://transit/keys/cosign
Assinar Imagem com Chave
# Sign an image
cosign sign --key cosign.key ghcr.io/myorg/myapp:v1.0.0
# Sign with annotations
cosign sign --key cosign.key \
-a "build-id=12345" \
-a "git-sha=$(git rev-parse HEAD)" \
ghcr.io/myorg/myapp:v1.0.0
Verificar Imagem com Chave
# Verify signature
cosign verify --key cosign.pub ghcr.io/myorg/myapp:v1.0.0
# Verify with annotation check
cosign verify --key cosign.pub \
-a "build-id=12345" \
ghcr.io/myorg/myapp:v1.0.0
Assinatura Sem Chave (OIDC)
Assinar Sem Chave (Interativo)
# Keyless sign - opens browser for OIDC auth
cosign sign ghcr.io/myorg/myapp:v1.0.0
# The signature, certificate, and Rekor entry are created automatically
Assinar Sem Chave (CI/CD - Não Interativo)
# GitHub Actions (uses OIDC token automatically)
cosign sign ghcr.io/myorg/myapp:v1.0.0 \
--yes
# With explicit identity token
cosign sign ghcr.io/myorg/myapp:v1.0.0 \
--identity-token=$(cat /var/run/sigstore/cosign/oidc-token) \
--yes
Verificar Assinatura Sem Chave
# Verify by email identity
cosign verify ghcr.io/myorg/myapp:v1.0.0 \
--certificate-identity=builder@example.com \
--certificate-oidc-issuer=https://accounts.google.com
# Verify by GitHub Actions workflow
cosign verify ghcr.io/myorg/myapp:v1.0.0 \
--certificate-identity=https://github.com/myorg/myrepo/.github/workflows/build.yml@refs/heads/main \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com
# Verify with regex matching
cosign verify ghcr.io/myorg/myapp:v1.0.0 \
--certificate-identity-regexp=".*@example.com" \
--certificate-oidc-issuer=https://accounts.google.com
Atestações (SLSA Provenance)
Anexar Atestação SBOM
# Generate SBOM
syft ghcr.io/myorg/myapp:v1.0.0 -o cyclonedx-json > sbom.cdx.json
# Attach SBOM as attestation
cosign attest --key cosign.key \
--type cyclonedx \
--predicate sbom.cdx.json \
ghcr.io/myorg/myapp:v1.0.0
# Verify attestation
cosign verify-attestation --key cosign.pub \
--type cyclonedx \
ghcr.io/myorg/myapp:v1.0.0
Anexar Atestação de Verificação de Vulnerabilidade
# Run scan and save results
grype ghcr.io/myorg/myapp:v1.0.0 -o json > vuln-scan.json
# Attach scan results as attestation
cosign attest --key cosign.key \
--type vuln \
--predicate vuln-scan.json \
ghcr.io/myorg/myapp:v1.0.0
Atestação SLSA Provenance
# Attach SLSA provenance
cosign attest --key cosign.key \
--type slsaprovenance \
--predicate provenance.json \
ghcr.io/myorg/myapp:v1.0.0
# Verify SLSA provenance
cosign verify-attestation --key cosign.pub \
--type slsaprovenance \
ghcr.io/myorg/myapp:v1.0.0
Integração CI/CD
GitHub Actions
…
Perguntas frequentes
O que é 'proveniência de imagem'?
É a informação sobre a origem e o histórico de uma imagem de software, como quem a criou e quando.
Qual a diferença entre assinatura com chave e sem chave?
Assinatura com chave usa um par de chaves (pública e privada) que você gerencia. Assinatura sem chave usa sua identidade online (como uma conta Google ou GitHub) para assinar, tornando o processo mais simples.
O que são 'atestações'?
São informações adicionais sobre a imagem, como um relatório de vulnerabilidades ou uma lista de componentes (SBOM), que também são assinadas digitalmente para garantir sua integridade.
Detalhes
Descrição original do autor
Signs and verifies container image provenance with Sigstore Cosign, covering key-based and keyless OIDC signing (Fulcio, Rekor transparency log), SLSA attestations, and enforcing signature verification through Kubernetes admission control. Use when signing images for supply chain security, setting up keyless OIDC signing, attaching attestations, or enforcing a verified-images-only policy at admiss
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5897
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC