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

protect-mcp-setup

Ajuda seu agente a configurar a segurança e a criar registros assinados para chamadas de ferramentas. É útil para projetos que precisam de auditoria criptográfica ou controle de acesso.

O que ela faz

Esta ferramenta garante que as ações de um agente de IA sejam seguras e verificáveis. Ela verifica se cada comando que o agente tenta executar segue regras pré-definidas e cria um registro assinado de tudo o que aconteceu.

Quando usar

  • ✓Ao configurar um projeto que precisa de segurança extra.
  • ✓Quando é importante ter provas de que as ações do agente foram aprovadas.
  • ✓Para garantir que o agente não execute comandos perigosos.

Exemplo do que pedir para a IA

“Configure a segurança e os registros para as ferramentas do Claude Code.”

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/protect-mcp/skills/protect-mcp-setup/SKILL.md

Mensagem pronta para colar

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

Antes de cada comando, um sistema verifica se ele é permitido por regras. Depois que o comando é executado, um registro assinado é criado com as informações do comando.

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 protect-mcp-setup

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/protect-mcp/skills/protect-mcp-setup/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.

protect-mcp — Aplicação de Políticas + Recibos Assinados

Governança criptográfica para cada chamada de ferramenta do Claude Code. Cada invocação é avaliada contra uma política Cedar e produz um recibo assinado por Ed25519 que qualquer um pode verificar offline.

Visão Geral

O Claude Code executa ferramentas poderosas: Bash, Edit, Write, WebFetch. Por padrão, não há trilha de auditoria, nenhuma aplicação de política e nenhuma maneira de provar o que foi decidido após o fato. protect-mcp fecha todas as três lacunas:

  • Políticas Cedar (o motor de autorização aberto da AWS) avaliam cada chamada de ferramenta antes da execução. A negação Cedar é autoritativa.
  • Recibos Ed25519 registram o nome de cada ferramenta que foi executada, assinada com sua chave.
  • Verificação offline via npx @veritasacta/verify. Sem servidor, sem conta, sem confiança no operador.

Problema

Agentes de IA tomam decisões que afetam dinheiro, segurança e direitos. O log da sessão do Claude Code registra o que aconteceu, mas o log é:

  • Mutável — qualquer pessoa com acesso pode editá-lo
  • Não assinado — não há como provar a integridade
  • Vinculado ao operador — a verificação requer confiança em quem detém o log

Para contextos de conformidade (finanças, saúde, pesquisa regulamentada), isso não é suficiente. Você precisa de evidências à prova de adulteração que possam ser verificadas por terceiros sem confiar em você.

Solução

Adicione protect-mcp ao seu projeto Claude Code:

# 1. Install the plugin (adds hooks + skill to your project)
claude plugin install wshobson/agents/protect-mcp

# 2. Create ./protect.cedar (see below). The plugin installs the hooks.

# 3. Create the signing key once (protect-mcp 0.7.4 sign does not create it).
#    An existing key is never replaced. See references/receipt-format.md to rotate.
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
echo "/protect-mcp.key" >> .gitignore

# 4. Use Claude Code normally. Every tool call is now policy-evaluated
#    and produces a signed receipt in ./receipts/

Configuração de Hooks

A instalação do plugin adiciona ambos os hooks de hooks/hooks.json. Cada hook executa um script empacotado com o plugin:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": ".*",
        "hooks": [
          { "type": "command", "command": "\"${CLAUDE_PLUGIN_ROOT}\"/hooks/evaluate.sh" }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": ".*",
        "hooks": [
          { "type": "command", "command": "\"${CLAUDE_PLUGIN_ROOT}\"/hooks/sign.sh" }
        ]
      }
    ]
  }
}

O Claude Code passa o evento do hook para o comando como JSON via stdin e não define variáveis TOOL_NAME ou TOOL_INPUT. evaluate.sh lê tool_name e tool_input dessa carga útil e os passa para protect-mcp como flags; sign.sh lê tool_name apenas, porque o signer 0.7.4 não registra mais nada. Defina PROTECT_MCP_POLICY, PROTECT_MCP_RECEIPTS e PROTECT_MCP_KEY para alterar os caminhos padrão. Quando o arquivo de política está ausente, o hook PreToolUse imprime um aviso no stderr e permite a chamada.

O que cada hook faz

PreToolUse — Executa ANTES da ferramenta ser executada. Avalia a chamada da ferramenta contra seu arquivo de política Cedar. Se o Cedar retornar deny, o hook sai com o código 2 e o Claude Code bloqueia totalmente a chamada da ferramenta.

PostToolUse executa APÓS a ferramenta ser concluída. Ele assina um recibo que nomeia a ferramenta e o anexa a ./receipts/receipts.jsonl. O protect-mcp 0.7.4 não registra a entrada ou saída da ferramenta.

Arquivo de Política Cedar

Crie ./protect.cedar na raiz do projeto:

// Ferramentas somente leitura: uma regra pode nomear várias ferramentas em `when`. Adicione WebFetch
// com sua própria regra de URL.
permit (principal, action == Action::"MCP::Tool::call", resource) when {
    resource == Tool::"Read" || resource == Tool::"Glob" || resource == Tool::"Grep"
};

// Somente comandos seguros; git limitado a subcomandos de leitura
permit (principal, action == Action::"MCP::Tool::call", resource == Tool::"Bash") when {
    context has input && context.input has command &&
    (context.input.command like "git status*" || context.input.command like "git diff*" ||
     context.input.command like "git log*" || context.input.command like "git show*" ||
     context.input.command like "npm*" || context.input.command like "ls*" ||
     context.input.command like "cat*" || context.input.command like "echo*" ||
     context.input.command like "pwd*" || context.input.command like "test*")
};


…
Perguntas frequentes

O que são 'Cedar policies'?

São um conjunto de regras que definem o que o agente de IA pode ou não fazer com as ferramentas.

O que são 'Ed25519 receipts'?

São como recibos digitais assinados que provam quais comandos foram executados e que eles foram aprovados, sem que ninguém possa alterá-los depois.

Como eu verifico esses registros?

Você pode usar uma ferramenta chamada `npx @veritasacta/verify` para verificar os registros offline, sem precisar de internet ou confiar em um servidor.

Detalhes

Descrição original do autor

Configure Cedar policy enforcement and Ed25519 signed receipts for Claude Code tool calls. Use when setting up projects that need cryptographic audit trails, policy-gated tool execution, or compliance-ready evidence of agent actions.

repo: wshobson/agents

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas