ASD

Protect Mcp Setup

Configura la aplicación de políticas Cedar y recibos firmados con Ed25519 para las llamadas a herramientas de Claude Code, dando rastros de auditoría criptográficos y evidencia lista para cumplimiento.

Reemplaza a: El log de sesión de Claude Code sin firmar ni auditar

Estrellas
38.8k

en todo el repo

Actividad
55

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
1

últimos 90 días

Contexto
1.6k tok

58 tok en reposo

Paquete
1 archivo

6 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill protect-mcp-setup --agent claude-code

Se instala solo en este repositorio.

Este skill reads environment config.

Qué hace

  • Evalúa cada llamada a herramientas de Claude Code contra una política Cedar antes de ejecutarla
  • Firma un recibo Ed25519 tras cada ejecución con hash de entrada/salida, política y decisión
  • Encadena los recibos mediante hash a través de parent_receipt_id
  • Bloquea la llamada (exit code 2) si Cedar deniega la acción
  • Permite verificar recibos offline con npx @veritasacta/verify

Úsalo cuando

  • Necesitas rastros de auditoría criptográficos para las acciones del agente
  • Quieres ejecución de herramientas controlada por políticas (policy-gated)
  • Trabajas en contextos regulados (finanzas, salud, investigación) que requieren evidencia verificable de cumplimiento

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Configura protect-mcp en mi proyecto de Claude Code
    • Necesito recibos firmados de cada llamada a Bash y Edit
    • Añade políticas Cedar para bloquear rm -rf en mis herramientas

    SKILL.md

    En inglés

    protect-mcp — Policy Enforcement + Signed Receipts

    Cryptographic governance for every Claude Code tool call. Each invocation is evaluated against a Cedar policy and produces an Ed25519-signed receipt that anyone can verify offline.

    Overview

    Claude Code runs powerful tools: Bash, Edit, Write, WebFetch. By default there is no audit trail, no policy enforcement, and no way to prove what was decided after the fact. protect-mcp closes all three gaps:

    • Cedar policies (AWS's open authorization engine) evaluate every tool call before execution. Cedar deny is authoritative.
    • Ed25519 receipts record each decision with its inputs, the policy that governed it, and the outcome. Receipts are hash-chained.
    • Offline verification via npx @veritasacta/verify. No server, no account, no trust in the operator.

    Problem

    AI agents make decisions that affect money, safety, and rights. The Claude Code session log records what happened, but the log is:

    • Mutable — anyone with access can edit it
    • Unsigned — there is no way to prove integrity
    • Operator-bound — verification requires trusting whoever holds the log

    For compliance contexts (finance, healthcare, regulated research), this is not sufficient. You need tamper-evident evidence that can be verified by third parties without trusting you.

    Solution

    Add protect-mcp to your Claude Code project:

    # 1. Install the plugin (adds hooks + skill to your project)
    claude plugin install wshobson/agents/protect-mcp
    
    # 2. Configure hooks in .claude/settings.json (see below)
    
    # 3. Start the receipt-signing server (runs locally, no external calls)
    npx protect-mcp@latest serve --enforce
    
    # 4. Use Claude Code normally. Every tool call is now policy-evaluated
    #    and produces a signed receipt in ./receipts/
    

    Hook Configuration

    Add the following to your project's .claude/settings.json:

    {
      "hooks": {
        "PreToolUse": [
          {
            "matcher": ".*",
            "hook": {
              "type": "command",
              "command": "npx protect-mcp@latest evaluate --policy ./protect.cedar --tool \"$TOOL_NAME\" --input \"$TOOL_INPUT\" || exit 2"
            }
          }
        ],
        "PostToolUse": [
          {
            "matcher": ".*",
            "hook": {
              "type": "command",
              "command": "npx protect-mcp@latest sign --tool \"$TOOL_NAME\" --input \"$TOOL_INPUT\" --output \"$TOOL_OUTPUT\" --receipts ./receipts/"
            }
          }
        ]
      }
    }
    

    What each hook does

    PreToolUse — Runs BEFORE the tool executes. Evaluates the tool call against your Cedar policy file. If Cedar returns deny, the hook exits with code 2 and Claude Code blocks the tool call entirely.

    PostToolUse — Runs AFTER the tool completes. Signs a receipt containing the tool name, input hash, output hash, decision, policy digest, and timestamp. Writes the receipt to ./receipts/<timestamp>.json.

    Cedar Policy File

    Create ./protect.cedar at the project root:

    // Allow read-only tools by default
    permit (
        principal,
        action in [Action::"Read", Action::"Glob", Action::"Grep", Action::"WebFetch"],
        resource
    );
    
    // Require explicit allow for destructive tools
    permit (
        principal,
        action == Action::"Bash",
        resource
    ) when {
        // Allow safe commands only
        context.command_pattern in ["git", "npm", "ls", "cat", "echo", "pwd", "test"]
    };
    
    // Never allow recursive deletion
    forbid (
        principal,
        action == Action::"Bash",
        resource
    ) when {
        context.command_pattern == "rm -rf"
    };
    
    // Require confirmation for writes outside the project
    forbid (
        principal,
        action in [Action::"Edit", Action::"Write"],
        resource
    ) when {
        context.path_starts_with != "."
    };
    

    Verification

    Verify a single receipt:

    npx @veritasacta/verify receipts/2026-04-15T10-30-00Z.json
    # Exit 0 = valid
    # Exit 1 = tampered
    # Exit 2 = malformed
    

    Verify the entire chain:

    npx @veritasacta/verify receipts/*.json
    

    Use the plugin's slash commands from within Claude Code:

    /verify-receipt receipts/latest.json
    /audit-chain ./receipts/ --last 20
    

    Receipt Format

    Each receipt is a JSON file with this structure:

    {
      "receipt_id": "rec_8f92a3b1",
      "receipt_version": "1.0",
      "issuer_id": "claude-code-protect-mcp",
      "event_time": "2026-04-15T10:30:00.000Z",
      "tool_name": "Bash",
      "input_hash": "sha256:a3f8...",
      "decision": "allow",
      "policy_id": "autoresearch-safe",
      "policy_digest": "sha256:b7e2...",
      "parent_receipt_id": "rec_3d1ab7c2",
      "public_key": "4437ca56815c0516...",
      "signature": "4cde814b7889e987..."
    }
    
    • Ed25519 signatures (RFC 8032)
    • JCS canonicalization (RFC 8785) before signing
    • Hash-chained to the previous receipt via parent_receipt_id
    • Offline verifiable — no network call, no vendor lookup

    Why This Matters

    Before After
    "Trust me, the agent only read files" Cryptographically provable: every Read logged and signed
    "The log shows it happened" The receipt proves it happened, and no one can edit it
    "You'd have to audit our system" Anyone can verify every receipt offline
    "Logs might be different by now" Ed25519 signatures lock the record at signing time

    Standards

    • Ed25519 — RFC 8032 (digital signatures)
    • JCS — RFC 8785 (deterministic JSON canonicalization)
    • Cedar — AWS's open authorization policy language
    • IETF draftdraft-farley-acta-signed-receipts

    Related

    Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere instalar el plugin protect-mcp, npx protect-mcp@latest serve --enforce corriendo localmente y un archivo ./protect.cedar en la raíz del proyecto.

    Necesita en el PATH:npx

    Variables de entorno:TOOL_INPUTTOOL_NAMETOOL_OUTPUT

    Detalles

    Creador
    wshobson
    Categoría
    Seguridad
    Licencia
    MIT
    Recursos incluidos
    Solo SKILL.md
    Repositorio
    wshobson/agents
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de wshobson/agents

    Este repo incluye 180 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo al seleccionar y colocar iconos, imágenes, SVGs, diagramas o infografías de apoyo aprobados en un PPTX editable.

    Costo de contexto al activarse
    344 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    el mes pasado
    herramientas desarrollo

    Úsalo al redactar o reparar una especificación JSON con coordenadas explícitas para un PPTX editable.

    Costo de contexto al activarse
    489 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para validar o reparar un PPTX editable en cuanto a geometría, accesibilidad, editabilidad nativa, linaje de fuente e integridad del paquete OOXML.

    Costo de contexto al activarse
    409 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para analizar un PPTX de referencia en modo solo lectura: estructura, tema, tipografía, ritmo de layout, diagnósticos, catálogos de plantillas derivados o inspección segura del paquete OOXML.

    Costo de contexto al activarse
    689 tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo al preparar la narrativa, las fuentes y el contexto de diseño para un nuevo deck PPTX editable.

    Costo de contexto al activarse
    415 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Skills relacionados

    Domina las mejores prácticas de seguridad en smart contracts para prevenir vulnerabilidades comunes e implementar patrones seguros en Solidity.

    Costo de contexto al activarse
    891 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    seguridad

    Configura un gating humano para las acciones de revisión de agentes IA en Claude Code, con un rastro de aprobación auditable criptográficamente y gates aplicados con Cedar.

    Costo de contexto al activarse
    1.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    seguridad

    Domina patrones de autenticación y autorización (JWT, OAuth2, sesiones, RBAC) para construir sistemas de control de acceso seguros y escalables.

    Costo de contexto al activarse
    669 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    seguridad