Rudi193-cmd/openclaw-skill-sap

Skill OpenClaw que aplica verificações do Protocolo de Autorização Segura (SAP) antes da execução de ferramentas MCP.

O que é openclaw-skill-sap?

O SAP Enforcer é um skill OpenClaw que impõe o Protocolo de Autorização Segura (SAP/1.0) em todas as chamadas de ferramentas MCP. Ele garante que nenhuma ferramenta seja executada sem que o aplicativo chamador possua um manifesto SAFE válido e assinado. Antes de despachar qualquer chamada de ferramenta, o skill executa o comando `sap-gate verify <app_id>` e, se o código de retorno for diferente de zero, a chamada é negada. Em caso de autorização, a chamada prossegue normalmente e a concessão é registrada em `~/.sap/log/grants.jsonl`; em caso de negação, a falha é apresentada ao usuário sem executar a ferramenta, e o evento é registrado em `~/.sap/log/gaps.jsonl`, sem repetição automática. O skill suporta registro de novos aplicativos com criação de pasta SAFE e assinatura GPG, além de revogação via remoção do arquivo de assinatura ou da pasta completa. Requer a instalação de `openclaw-sap-gate`, uma chave GPG configurada e a variável de ambiente `SAP_SAFE_ROOT` (padrão: `~/.sap/Applications`). É compatível com plataformas que utilizam MCP, como Claude Code, Cursor e Codex, e segue a especificação SAP/1.0 (RFC).

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add rudi193-cmd/openclaw-skill-sap

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

SAP Enforcer

Impõe autorização SAP/1.0 em todas as chamadas de ferramentas MCP. Sem manifesto SAFE = sem execução.

Como Funciona

Antes de despachar qualquer chamada de ferramenta MCP, execute:

sap-gate verify <app_id>

Onde app_id é o identificador do aplicativo chamador. Se o retorno for diferente de zero, negue a chamada da ferramenta.

Em Caso de Autorização

Prossiga normalmente com a chamada da ferramenta. A concessão é registrada automaticamente em ~/.sap/log/grants.jsonl.

Em Caso de Negação de Autorização

  1. NÃO execute a chamada da ferramenta
  2. Apresente a falha ao usuário:

    "Chamada de ferramenta negada: <app_id> não está autorizado. Verifique se sua pasta SAFE existe e se o manifesto está assinado."

  3. A negação é registrada automaticamente em ~/.sap/log/gaps.jsonl
  4. Não tente novamente sem instrução explícita do usuário

Registrando um Novo Aplicativo

Para autorizar um novo app_id:

# 1. Crie a pasta SAFE e o modelo de manifesto
sap-gate init <app_id>

# 2. Edite o manifesto em ~/.sap/Applications/<app_id>/safe-app-manifest.json

# 3. Assine-o com sua chave GPG
gpg --detach-sign --armor ~/.sap/Applications/<app_id>/safe-app-manifest.json
mv ~/.sap/Applications/<app_id>/safe-app-manifest.json.asc \
   ~/.sap/Applications/<app_id>/safe-app-manifest.json.sig

# 4. Verifique
sap-gate verify <app_id>

Revogando Autorização

Exclua a pasta SAFE ou o arquivo .sig:

# Revogar removendo a assinatura (preserva o manifesto para re-autorização)
rm ~/.sap/Applications/<app_id>/safe-app-manifest.json.sig

# Revogar completamente
rm -rf ~/.sap/Applications/<app_id>/

Pré-requisitos

  • openclaw-sap-gate instalado: pip install openclaw-sap-gate
  • Chave GPG configurada: gpg --list-keys
  • Variável de ambiente SAP_SAFE_ROOT definida (padrão: ~/.sap/Applications)

Referência do Protocolo

SAP/1.0 RFC: https://github.com/rudi193-cmd/sap-rfc

Habilidades Relacionadas