Pular para o conteúdo
Skillpedia
Segurança35 mil · #5960

implementing-sigstore-for-software-signing

Faz seu agente implementar assinatura e verificação de software usando Sigstore para garantir a proveniência.

O que ela faz

Esta ferramenta ajuda a garantir que o software que você usa é autêntico e não foi alterado. Ela cria uma assinatura digital para o software usando sua identidade online (como sua conta Google ou GitHub), sem que você precise gerenciar senhas complexas.

Quando usar

  • ✓Ao publicar novas versões de um programa.
  • ✓Para verificar se um programa baixado é o original.
  • ✓Em sistemas automáticos que criam e testam software.

Exemplo do que pedir para a IA

“Assine esta imagem de container com minha conta do GitHub.”

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-sigstore-for-software-signing/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-sigstore-for-software-signing/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele usa uma ferramenta chamada Cosign para criar uma assinatura digital. Essa assinatura é vinculada à sua identidade online (OIDC) e registrada em um log público (Rekor) para que qualquer pessoa possa verificar.

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-sigstore-for-software-signing

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-sigstore-for-software-signing/SKILL.md -o SKILL.md
Conteú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 Sigstore para Assinatura de Software

Quando Usar

  • Assinar imagens de contêiner e artefatos de software sem gerenciar chaves criptográficas de longa duração
  • Estabelecer proveniência verificável para saídas de compilação em pipelines de CI/CD usando vinculação de identidade OIDC
  • Consultar o log de transparência Rekor para auditar quando e por quem um artefato foi assinado
  • Verificar se as imagens de contêiner puxadas de registros foram assinadas por identidades e emissores autorizados
  • Integrar a verificação Sigstore em controladores de admissão do Kubernetes para impor políticas de imagem assinada

Não use para assinar artefatos que exigem fluxos de trabalho de assinatura offline ou "air-gapped" onde a autenticação OIDC não está disponível, para ambientes que não conseguem alcançar a infraestrutura pública Sigstore (Fulcio, Rekor) e não possuem uma instância privada implantada, ou como substituto para a assinatura tradicional PGP/GPG onde a conformidade regulatória exige procedimentos específicos de gerenciamento de chaves.

Pré-requisitos

  • Cosign CLI v2.4+ instalado (go install github.com/sigstore/cosign/v2/cmd/cosign@latest ou lançamento binário)
  • Acesso a um provedor de identidade OIDC suportado pelo Fulcio (Google, GitHub, Microsoft ou um emissor OIDC personalizado)
  • Credenciais do registro de contêiner (para assinar imagens de contêiner) com acesso de push para armazenar objetos de assinatura
  • Python 3.9+ com sigstore, requests e cryptography pacotes para o agente de automação
  • Acesso à rede para fulcio.sigstore.dev, rekor.sigstore.dev e tuf-repo-cdn.sigstore.dev (ou URLs de instância Sigstore privada)

Fluxo de Trabalho

Passo 1: Instalar e Configurar o Cosign

Instale o Cosign e verifique se ele consegue alcançar a infraestrutura Sigstore:

  • Instalar a partir do lançamento binário: Baixe o binário apropriado da página de lançamentos do Cosign no GitHub e verifique seu checksum. No Linux: curl -LO https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64 && chmod +x cosign-linux-amd64 && sudo mv cosign-linux-amd64 /usr/local/bin/cosign
  • Verificar instalação: Execute cosign version para confirmar a versão e verificar a conectividade com os serviços Sigstore com cosign initialize, que busca a raiz de confiança TUF.
  • Configurar infraestrutura personalizada (opcional): Se estiver executando uma pilha Sigstore privada, defina as flags --fulcio-url, --rekor-url e --oidc-issuer ou use as variáveis de ambiente COSIGN_REKOR_URL e COSIGN_FULCIO_URL.

Passo 2: Assinatura Sem Chave com Cosign e Fulcio

Realize a assinatura baseada em identidade onde o Fulcio emite um certificado de curta duração vinculado à sua identidade OIDC:

  • Assinar uma imagem de contêiner: Execute cosign sign <IMAGE_DIGEST>, que aciona um fluxo de autenticação OIDC. O Cosign gera um par de chaves efêmero, obtém um certificado de curta duração do Fulcio vinculando a chave pública à identidade OIDC, assina o digest da imagem e registra o evento de assinatura no Rekor. A chave privada é destruída imediatamente após a assinatura.
  • Assinar um blob (arquivo): Execute cosign sign-blob <file> --bundle artifact.sigstore.json para assinar arquivos arbitrários. O pacote contém a assinatura, certificado, timestamp e prova de inclusão do Rekor.
  • Assinatura não interativa em CI: Defina a variável de ambiente SIGSTORE_ID_TOKEN com um token OIDC válido (por exemplo, do GitHub Actions OIDC ou GCP workload identity) para pular o fluxo de autenticação baseado em navegador:
    export SIGSTORE_ID_TOKEN=$(curl -sH "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
      "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=sigstore" | jq -r '.value')
    cosign sign $IMAGE_DIGEST
    
  • Provedores OIDC suportados: Google (https://accounts.google.com), GitHub (https://github.com/login/oauth), Microsoft (https://login.microsoftonline.com), GitLab (https://gitlab.com) e provedores personalizados registrados com uma instância Fulcio privada.

Passo 3: Verificar Artefatos Assinados

Verifique se os artefatos foram assinados por identidades esperadas de emissores OIDC esperados:

  • Verificar uma imagem de contêiner: Execute cosign verify <IMAGE_URI> --certificate-identity=name@example.com --certificate-oidc-issuer=https://accounts.google.com para confirmar que a imagem foi assinada pela identidade especificada. O Cosign valida a cadeia de certificados, verifica a prova de inclusão do Rekor e verifica se a assinatura corresponde ao digest atual da imagem.
  • Verificar um blob assinado: Execute cosign verify-blob <file> --bundle artifact.sigstore.json --certificate-identity=name@example.com --certificate-oidc-issuer=https://accounts.google.com

…

Perguntas frequentes

Preciso criar senhas ou chaves secretas?

Não, ele usa sua identidade online (como Google ou GitHub) para assinar, um processo chamado 'keyless'.

O que é 'proveniência criptográfica'?

É uma forma de provar quem criou ou assinou um software e garantir que ele não foi modificado desde então.

O que acontece se eu não tiver acesso à internet?

Este método requer acesso à internet para se conectar aos serviços Sigstore (Fulcio, Rekor). Ele não funciona para ambientes totalmente offline.

Detalhes

Descrição original do autor

Implements Sigstore-based software signing and verification using Cosign keyless signing, Rekor transparency log verification, and Fulcio certificate authority integration to establish cryptographic provenance for container images, binaries, and software artifacts, including OIDC-based identity binding and CI/CD pipeline integration. Use when setting up keyless container/artifact signing, verifyin

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5960
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas