Pular para o conteúdo
Skillpedia
Código em geral35 mil · #5853

implementing-code-signing-for-artifacts

Ensina seu agente de IA a colocar projetos no ar e cuidar da infraestrutura.

O que ela faz

Esta ferramenta adiciona uma "assinatura digital" aos seus arquivos de programa. Isso garante que os arquivos não foram alterados por ninguém e que vieram de uma fonte confiável, como se fosse um selo de autenticidade.

Quando usar

  • ✓Quando você quer ter certeza de que um arquivo de programa não foi modificado por hackers.
  • ✓Quando você precisa provar aos seus clientes que o software é realmente seu e não foi adulterado.
  • ✓Quando você quer que seu sistema rejeite automaticamente qualquer programa que não tenha essa "assinatura" oficial.

Exemplo do que pedir para a IA

“Assine digitalmente os arquivos do meu programa para garantir que eles não foram alterados.”

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-code-signing-for-artifacts/SKILL.md

Mensagem pronta para colar

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

A ferramenta usa métodos criptográficos (como GPG ou Sigstore) para criar uma assinatura única para cada arquivo. Essa assinatura é verificada posteriormente para confirmar a integridade e a origem do arquivo.

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-code-signing-for-artifacts

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-code-signing-for-artifacts/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 Assinatura de Código para Artefatos

Quando Usar

  • Ao estabelecer a verificação de integridade de artefatos para prevenir adulteração na cadeia de suprimentos
  • Quando a conformidade exige prova criptográfica de que os artefatos de build são autênticos e não foram modificados
  • Ao distribuir software para clientes que precisam verificar a identidade do publicador
  • Ao implementar pipelines de implantação com confiança zero que rejeitam artefatos não assinados
  • Ao atender aos requisitos SLSA Nível 2+ para proveniência e integridade

Não use para criptografar artefatos (a assinatura fornece integridade, não confidencialidade), para assinatura específica de imagens de contêiner (use cosign) ou para autenticação de código-fonte (use assinatura de commit).

Pré-requisitos

  • Par de chaves GPG para assinatura tradicional ou conta Sigstore para assinatura sem chave
  • Certificado de assinatura de código de uma Autoridade Certificadora para distribuição pública
  • Pipeline de CI/CD com acesso a chaves de assinatura ou provedor de identidade
  • Infraestrutura de verificação em pipelines de implantação

Fluxo de Trabalho

Etapa 1: Gerar e Gerenciar Chaves de Assinatura

# Generate GPG key for artifact signing
gpg --full-generate-key --batch <<EOF
Key-Type: eddsa
Key-Curve: ed25519
Subkey-Type: eddsa
Subkey-Curve: ed25519
Name-Real: CI Build System
Name-Email: ci-signing@company.com
Expire-Date: 1y
%no-protection
EOF

# Export public key for distribution
gpg --armor --export ci-signing@company.com > signing-key.pub

# Export private key for CI/CD (store in secrets manager)
gpg --armor --export-secret-keys ci-signing@company.com > signing-key.priv

Etapa 2: Assinar Artefatos de Build em CI/CD

# .github/workflows/build-sign.yml
name: Build and Sign

on:
  push:
    tags: ['v*']

jobs:
  build-sign:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      id-token: write  # For Sigstore keyless signing
    steps:
      - uses: actions/checkout@v4

      - name: Build artifacts
        run: |
          make build
          sha256sum dist/* > dist/checksums.sha256

      - name: Import GPG Key
        run: |
          echo "${{ secrets.GPG_PRIVATE_KEY }}" | gpg --batch --import
          gpg --list-secret-keys

      - name: Sign artifacts
        run: |
          for file in dist/*; do
            gpg --detach-sign --armor --local-user ci-signing@company.com "$file"
          done

      - name: Install cosign for keyless signing
        uses: sigstore/cosign-installer@v3

      - name: Keyless sign with Sigstore
        run: |
          for file in dist/*.tar.gz; do
            cosign sign-blob "$file" \
              --output-signature "${file}.sig" \
              --output-certificate "${file}.cert" \
              --yes
          done

      - name: Create Release with signed artifacts
        uses: softprops/action-gh-release@v2
        with:
          files: |
            dist/*
            dist/*.asc
            dist/*.sig
            dist/*.cert

Etapa 3: Verificar Assinaturas no Pipeline de Implantação

# Verify GPG signature
gpg --import signing-key.pub
gpg --verify artifact.tar.gz.asc artifact.tar.gz

# Verify Sigstore keyless signature
cosign verify-blob artifact.tar.gz \
  --signature artifact.tar.gz.sig \
  --certificate artifact.tar.gz.cert \
  --certificate-identity ci-signing@company.com \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

# Verify checksums
sha256sum --check checksums.sha256

Etapa 4: Assinar Pacotes npm com Proveniência

{
  "scripts": {
    "prepublishOnly": "npm run build && npm run test"
  },
  "publishConfig": {
    "provenance": true
  }
}
# Publish npm package with provenance attestation
npm publish --provenance

Conceitos Chave

Termo Definição
Assinatura de Código Processo criptográfico de assinar artefatos de software para verificar a identidade do publicador e a integridade do artefato
Assinatura Desanexada Assinatura armazenada em um arquivo separado do artefato, permitindo distribuição independente
Assinatura Sem Chave Abordagem do Sigstore usando certificados de curta duração vinculados a identidades OIDC em vez de chaves de longa duração
Proveniência Metadados que descrevem como, onde e por quem um artefato foi construído
Log de Transparência Log imutável (Rekor) que registra todos os eventos de assinatura para auditoria pública
Cadeia de Confiança Cadeia hierárquica da CA raiz ao certificado de assinatura, estabelecendo confiança na identidade do signatário
SLSA Supply-chain Levels for Software Artifacts — framework que define níveis de segurança da cadeia de suprimentos

…

Perguntas frequentes

O que é uma assinatura digital?

É como um selo de segurança que prova que um arquivo é autêntico e não foi alterado desde que foi assinado.

Qual a diferença entre assinar e criptografar?

Assinar garante a autenticidade e a integridade (quem fez e se não foi alterado). Criptografar protege o conteúdo, tornando-o ilegível sem uma chave.

Preciso de uma chave especial para assinar?

Sim, você precisa de um par de chaves (uma pública e uma privada) ou usar um serviço como Sigstore que gerencia isso para você de forma mais simples (keyless).

Detalhes

Descrição original do autor

Implements code signing for build artifacts (binaries, packages, containers) using GPG, Sigstore, and platform-specific signing tools, establishing trust chains and verifying signatures in deployment pipelines. Use when establishing artifact integrity checks against supply-chain tampering, proving authenticity to customers, building zero-trust pipelines that reject unsigned artifacts, or meeting S

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5853
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