Pular para o conteúdo
Skillpedia
Segurança41 mil · #4954

signed-audit-trails-recipe

Ajuda seu agente a criar registros de auditoria seguros. É útil para rastrear ações de forma confiável e detectar alterações não autorizadas.

O que ela faz

Esta ferramenta cria um registro seguro e verificável de todas as ações que um agente de IA realiza. Cada ação é avaliada por regras de segurança e, em seguida, assinada digitalmente, permitindo que qualquer pessoa verifique se não foi alterada.

Quando usar

  • ✓Em áreas regulamentadas (finanças, saúde) para provar o comportamento do agente.
  • ✓Em processos de desenvolvimento automatizado (CI/CD) para garantir que as regras foram seguidas.
  • ✓Quando você precisa que outra pessoa verifique as ações do seu agente sem confiar em você diretamente.

Exemplo do que pedir para a IA

“Configure o registro de auditoria assinado para minhas chamadas de ferramenta.”

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/wshobson/agents/blob/main/plugins/signed-audit-trails/skills/signed-audit-trails-recipe/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/signed-audit-trails/skills/signed-audit-trails-recipe/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa um plugin que primeiro verifica cada comando com uma política de segurança (Cedar) e depois gera uma assinatura digital (Ed25519) para o resultado. Essa assinatura permite a verificação posterior sem precisar de conexão com a internet ou confiança no operador.

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 wshobson/agents --skill signed-audit-trails-recipe

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/signed-audit-trails/skills/signed-audit-trails-recipe/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.

Trilhas de Auditoria Assinadas para Chamadas de Ferramentas do Claude Code

Um guia prático no estilo "cookbook" para recibos criptograficamente assinados em cada chamada de ferramenta do Claude Code. Esta é a habilidade de ensino. Para a implementação em tempo de execução, instale o plugin protect-mcp.

O que isso oferece a você

Cada chamada de ferramenta (Bash, Edit, Write, WebFetch) é:

  1. Avaliada contra uma política Cedar antes da execução. Se a política negar a chamada, a ferramenta não será executada.
  2. Assinada como um recibo Ed25519 após a execução. Os recibos são canônicos JCS e verificáveis offline por qualquer pessoa com a chave pública.

Um auditor, regulador ou contraparte pode verificar cada recibo posteriormente (Passo 5). Nenhuma chamada de rede, nenhuma consulta a fornecedor, nenhuma confiança no operador.

Quando usar o padrão

  • Ambientes regulamentados (finanças, saúde, infraestrutura crítica) onde você precisa de evidências à prova de adulteração do comportamento do agente
  • Pipelines de CI/CD onde você deseja provar que um portão de política foi mantido para cada etapa automatizada de compilação
  • Colaboração multipartidária onde uma contraparte deseja verificar o comportamento do seu agente sem confiar no seu operador
  • Contextos de conformidade (Artigo 12 do EU AI Act, proveniência SLSA para software construído por agentes) onde o registro padrão não é suficiente

Passo 1: Instale a configuração do hook

Instale o plugin protect-mcp com /plugin install protect-mcp. Seus hooks executam evaluate.sh antes de cada chamada de ferramenta e sign.sh após ela. Ambos os scripts leem o evento do hook do stdin, pois o Claude Code não define variáveis TOOL_NAME ou TOOL_INPUT. Veja references/hook-wiring.md para a configuração do hook e o que cada script passa para o protect-mcp.

O protect-mcp 0.7.4 não cria a chave de assinatura e, sem uma chave, os recibos ficam sem assinatura. Crie ./protect-mcp.key uma vez. O comando nunca substitui uma chave existente:

if [ ! -e ./protect-mcp.key ]; then
  d=$(mktemp -d) && npx protect-mcp@0.7.4 init --dir "$d" && mv "$d/keys/gateway.json" ./protect-mcp.key
fi

Forneça aos auditores o valor publicKey desse arquivo. Não comite o arquivo, pois ele também contém a chave privada.

Adicione a chave privada e o diretório de recibos a .gitignore:

echo "/protect-mcp.key" >> .gitignore
echo "/receipts/" >> .gitignore

Passo 2: Escreva uma política Cedar

Crie ./protect.cedar a partir do exemplo em references/cedar-policy.md. Ele permite ferramentas somente leitura e uma lista curta de comandos Bash, nega encadeamento de shell e comandos destrutivos, e limita gravações no projeto com segmentos de .. negados.

Passo 3: Use o Claude Code normalmente

Inicie o Claude Code. Cada chamada de ferramenta passa por ambos os hooks:

You: Please read the README and summarize it.

Claude: I will read README.md.
  [PreToolUse: Read ./README.md -> allow]
  [Tool: Read executes]
  [PostToolUse: receipt rcpt-a8f3c9d2 signed to ./receipts/]

... summary of README ...

Uma sessão de 20 chamadas de ferramenta anexa 20 recibos a ./receipts/receipts.jsonl.

Passo 4: Inspecione um recibo

O protect-mcp 0.7.4 anexa cada recibo como uma linha de ./receipts/receipts.jsonl. Imprima o mais novo:

tail -n 1 ./receipts/receipts.jsonl | python3 -m json.tool

O recibo é um envelope v2 assinado que nomeia a ferramenta e não contém chave pública. Veja references/receipt-format.md para um exemplo e os campos assinados.

Passo 5: Verifique os recibos

Passe o valor publicKey de ./protect-mcp.key para o verificador:

PUB=$(node -p 'JSON.parse(require("fs").readFileSync("./protect-mcp.key")).publicKey')
npx @veritasacta/verify@0.9.2 --replay-chain ./receipts/receipts.jsonl --key "$PUB"

Códigos de saída:

Código Significado
0 Todos os recibos verificados
1 Um recibo falhou na verificação (adulterado, chave errada ou linha malformada)
2 O arquivo de recibos não pôde ser lido

Passo 6: Demonstre a detecção de adulteração

Altere o decision do recibo mais novo de allow para deny:

python3 -c "
import json
path = './receipts/receipts.jsonl'
lines = open(path).read().splitlines()
r = json.loads(lines[-1])
r['payload']['decision'] = 'deny'
lines[-1] = json.dumps(r)
open(path, 'w').write('\n'.join(lines) + '\n')
"

npx @veritasacta/verify@0.9.2 --replay-chain ./receipts/receipts.jsonl --key "$PUB"

O verificador sai com o código 1 e relata qual linha falhou. A assinatura Ed25519 não corresponde mais aos bytes canônicos JCS do

…

Perguntas frequentes

O que é uma trilha de auditoria assinada?

É um registro de ações que foi criptograficamente assinado, garantindo que ele não foi alterado após a criação e que pode ser verificado por qualquer pessoa com a chave pública.

Por que usar Cedar?

Cedar é uma linguagem de política que permite definir regras de segurança para controlar quais ações o agente pode realizar, garantindo que ele opere dentro dos limites esperados.

Como alguém verifica as ações?

Qualquer pessoa pode usar a chave pública fornecida para verificar as assinaturas digitais nos registros. Se a verificação for bem-sucedida, significa que o registro é autêntico e não foi modificado.

Detalhes

Descrição original do autor

Step-by-step cookbook for setting up cryptographically signed audit trails on Claude Code tool calls. Use when explaining, evaluating, or demonstrating the pattern before committing to the protect-mcp runtime hooks. Covers Cedar policy, Ed25519 receipts, offline verification, tamper detection, CI/CD integration, and SLSA composition.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4954
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas