
Sicherheits-Gateway für KI-Agenten - API-Proxy mit isolierten Anmeldeinformationen und richtliniengesteuerte Remote-Ausführung (Conclaves). Reduzieren Sie den Schadensradius!
Wardgate ist ein Sicherheitsgateway, das zwischen KI-Agenten und der Außenwelt sitzt – es isoliert Anmeldedaten für API-Aufrufe, isoliert SSH-Schlüssel für die remote Befehlsausführung und steuert die Befehlsausführung in entfernten Umgebungen (Conclaves).
Gib deinen KI-Agenten Zugriff auf APIs, SSH-Schlüssel und Shell-Werkzeuge – ohne ihnen deine Anmeldedaten zu geben oder ihnen die direkte Ausführung anzuvertrauen.
KI-Agenten sind mächtig. Sie können deinen Kalender verwalten, deine E-Mails überprüfen, deine Aufgaben aktualisieren, Code schreiben und dein Leben automatisieren. Aber um das zu tun, brauchen sie Zugriff auf deine Konten und deine Systeme.
Sie sind außerdem wie ein superschlauer Teenager. Sie wissen viel, aber sie haben einen eigenen Kopf. Sie sind leichtgläubig (gegenüber Prompt-Injection). Und genau wie Teenager denken sie nicht wirklich nach. Über Konsequenzen nachzudenken, liegt definitiv über ihrem Horizont!
Das API-Problem. Containerisierung ist eine großartige Möglichkeit, deine Agenten zu isolieren. Aber sie ist kein Allheilmittel. Die Agenten bekommen deine Anmeldedaten trotzdem über Umgebungsvariablen oder auf andere Weise – sonst könnten sie dir nicht helfen. Und Projekte wie OpenClaw haben integrierte Zugriffskontrollfunktionen, aber du musst dem Agenten, der Anwendung oder allen tausenden Commits vertrauen, dass er seine eigenen Berechtigungen nicht ändert.
Das Ausführungsproblem. KI-Agenten rufen nicht nur APIs auf – sie führen Shell-Befehle aus. Die direkte Ausführung von Befehlen auf dem Rechner des Agenten ist gefährlich: Prompt-Injection kann zu rm -rf /, Datenerfassung per curl oder Schlimmerem führen. Selbst mit Sandboxing hat der Agent-Rechner Zugriff auf alles in seinem Dateisystem.
Das Risiko ist real:
Wardgate bietet zwei sich ergänzende Sicherheitsschichten:
API-Gateway – Agenten kommunizieren mit Wardgate. Wardgate kommuniziert mit APIs, SSH-, IMAP- oder SMTP-Servern. Deine Anmeldedaten verlassen Wardgate nie.
Conclaves – Isolierte remote Ausführungsumgebungen. Agenten senden Befehle durch Wardgate, das die Richtlinien prüft, bevor es an einen isolierten Container weiterleitet. Der Agent-Rechner hat keinen direkten Zugriff auf Conclave-Daten oder -Binärdateien.
flowchart LR
subgraph apiFlow [API Gateway]
Agent1[AI Agent] -->|HTTP| WG1[Wardgate]
WG1 -->|"credentials injected"| Service[External API]
end
subgraph conclaveFlow [Conclaves]
Agent2[AI Agent] -->|wardgate-cli exec| WG3[Wardgate]
WG3 -->|"policy checked"| Exec[wardgate-exec]
end
https://*.googleapis.com)rg, git, cat)git push)curl und verhindert Verbindungen zu beliebigen URLsDu möchtest KI-Agenten wie OpenClaw, AutoGPT oder benutzerdefinierte LLM-Werkzeuge nutzen – aber du fühlst dich nicht wohl dabei, ihnen direkten Zugriff auf dein Leben zu geben. Ich bin mir nicht sicher, ob ich mich jemals wohlfühlen werde mit KI-Agenten, die eingebaute Zugriffskontrolle haben.
Wardgate ermöglicht es dir, die Vorteile der KI-Automation zu nutzen, während eine Sicherheitsgrenze zwischen dem Agenten und deinen Konten erhalten bleibt.
Anwendungsfälle:
Anstatt deinem Agenten einen Todoist-API-Schlüssel zu geben, konfiguriere Wardgate mit einer Voreinstellung:
endpoints:
todoist:
preset: todoist
auth:
credential_env: WARDGATE_CRED_TODOIST_API_KEY
capabilities:
read_data: allow # Aufgaben, Projekte lesen
create_tasks: allow # Neue Aufgaben erstellen
close_tasks: allow # Aufgaben als erledigt markieren
delete_tasks: deny # Niemals löschen
Dein Agent ruft https://wardgate.internal/todoist/tasks auf – Wardgate fügt die echten Anmeldedaten ein und setzt deine Regeln durch.
Anstatt deinem Agenten einen SSH-Schlüssel zu geben, konfiguriere Wardgate mit einer Voreinstellung:
endpoints:
ssh:
preset: ssh
ssh:
host: prod.example.com
username: deploy
known_host: "prod.example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA..."
auth:
credential_env: WARDGATE_SSH_KEY_PROD
capabilities:
exec_commands: ask # Genehmigung für jeden Befehl erforderlich
Anstatt deinem Agenten zu erlauben, Befehle auf dem Rechner auszuführen, konfiguriere ein Conclave:
conclaves:
obsidian:
description: "Obsidian-Archiv (persönliche Notizen)"
key_env: WARDGATE_CONCLAVE_OBSIDIAN_KEY
cwd: /data/vault
rules:
- match: { command: "cat" }
action: allow
- match: { command: "rg" }
action: allow
- match: { command: "tee" }
action: ask # Menschliche Genehmigung erforderlich
- match: { command: "*" }
action: deny
Dein Agent führt wardgate-cli exec obsidian "rg 'meeting notes' ." aus – Wardgate prüft jeden Befehl gegen die Richtlinie, bevor er an die isolierte Umgebung weitergeleitet wird.
cp .env.example .env # Füge deine Anmeldedaten hinzu
cp config.yaml.example config.yaml # Konfiguriere Endpunkte und Conclaves
./wardgate -config config.yaml
Siehe INSTALL.md für alle Installationsmethoden (vorgebaute Binärdateien, Docker, aus dem Quellcode bauen).
go test ./...