CommunityCodierung & Entwicklunggithub.com

SAP-Erzwingungs-Skill

Ein OpenClaw-Skill, der SAFE Authorization Protocol (SAP)-Prüfungen vor der Ausführung von MCP-Toolaufrufen durchsetzt.

Was ist SAP-Erzwingungs-Skill?

Dieser Skill erzwingt das SAFE Authorization Protocol (SAP/1.0) für jeden MCP-Toolaufruf. Er führt vor der Ausführung eines Toolaufrufs eine `sap-gate verify`-Prüfung durch und verweigert den Aufruf, wenn die Prüfung fehlschlägt. Der Skill protokolliert gewährte und verweigerte Zugriffe automatisch in JSONL-Dateien unter `~/.sap/log/`. Er unterstützt die Registrierung neuer Anwendungen, die Erstellung von SAFE-Manifesten und die GPG-Signierung. Voraussetzungen sind die Installation von `openclaw-sap-gate`, ein konfigurierter GPG-Schlüssel und die Umgebungsvariable `SAP_SAFE_ROOT`. Der Skill ist für Entwickler und Administratoren konzipiert, die eine feingranulare Autorisierung für MCP-Tools in OpenClaw-Umgebungen benötigen.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht SAP-Erzwingungs-Skill?

Erzwingt SAP/1.0-Autorisierung bei jedem MCP-Toolaufruf. Kein SAFE-Manifest = keine Ausführung.

Funktionsweise

Vor dem Ausführen eines MCP-Toolaufrufs wird ausgeführt:

sap-gate verify <app_id>

Wobei app_id die Kennung der aufrufenden Anwendung ist. Wenn dieser Befehl einen Fehler (ungleich Null) zurückgibt, wird der Toolaufruf verweigert.

Bei erfolgreicher Autorisierung

Der Toolaufruf wird normal ausgeführt. Die Gewährung wird automatisch in ~/.sap/log/grants.jsonl protokolliert.

Bei verweigerter Autorisierung

  1. Den Toolaufruf NICHT ausführen
  2. Den Fehler dem Benutzer anzeigen:

    "Toolaufruf verweigert: <app_id> ist nicht autorisiert. Überprüfen Sie, ob der SAFE-Ordner existiert und das Manifest signiert ist."

  3. Die Verweigerung wird automatisch in ~/.sap/log/gaps.jsonl protokolliert
  4. Nicht ohne ausdrückliche Benutzeranweisung wiederholen

Registrieren einer neuen Anwendung

Um eine neue app_id zu autorisieren:

# 1. SAFE-Ordner und Manifestvorlage erstellen
sap-gate init <app_id>

# 2. Manifest unter ~/.sap/Applications/<app_id>/safe-app-manifest.json bearbeiten

# 3. Mit GPG-Schlüssel signieren
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. Überprüfen
sap-gate verify <app_id>

Autorisierung widerrufen

Den SAFE-Ordner oder die .sig-Datei löschen:

# Widerruf durch Entfernen der Signatur (Manifest bleibt für erneute Autorisierung erhalten)
rm ~/.sap/Applications/<app_id>/safe-app-manifest.json.sig

# Vollständiger Widerruf
rm -rf ~/.sap/Applications/<app_id>/

Voraussetzungen

  • openclaw-sap-gate installiert: pip install openclaw-sap-gate
  • GPG-Schlüssel konfiguriert: gpg --list-keys
  • Umgebungsvariable SAP_SAFE_ROOT gesetzt (Standard: ~/.sap/Applications)

Protokollreferenz

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

Verwandte Skills