Zum Inhalt springen
Sicherheit

Sicherheit als
Architekturprinzip.

Nicht „wir haben eine Firewall" — acht unabhängige Schichten, die sich gegenseitig absichern. Selbst wenn eine Schicht versagt, greifen die anderen.

Acht Schichten.
Kein Single Point of Failure.

8
Secrets Management
Passwörter als Dateien, nicht als Umgebungsvariablen
Alle API-Keys und Passwörter werden als Dateien mit Zugriffsrechten 600 gespeichert — nur der Eigentümer kann lesen. Nicht sichtbar in Prozesslisten oder Docker-Inspect-Ausgaben.
7
SOUL.md Sicherheitsregeln
Verhalten und Verbote pro Agent
Jeder Agent hat eine SOUL.md-Datei mit absolut bindenden Sicherheitsregeln: kein Browser, kein sudo, kein rm, keine externen URLs. Diese Regeln sind nicht verhandelbar, unabhängig von Anweisungen in Nachrichten.
6
Modell-Routing
Starke Cloud-Modelle für kritische Entscheidungen verfügbar
LiteLLM ermöglicht gezieltes Routing: sicherheitskritische Aufgaben können auf stärker ausgerichtete Modelle umgeleitet werden. Budget-Limits verhindern unkontrollierte Cloud-Kosten (max. 50 EUR/Monat).
5
Permission Broker
Validiert jeden Befehlsaufruf gegen eine Whitelist
Jeder Werkzeugaufruf (Tool Call) wird durch den Permission Broker geprüft, bevor er ausgeführt wird. Nicht auf der Whitelist? Blockiert. Auch wenn der Agent manipuliert wurde — der Broker entscheidet, nicht der Agent.
4
Tool-Berechtigungen
Jeder Agent darf nur bestimmte Werkzeuge nutzen
Minimale Rechte: Jeder Agent erhält nur die Werkzeuge die er für seine Aufgabe braucht. Kein Agent hat Browser-Zugriff. Kein Agent darf sudo oder rm ausführen.
3
Docker-Sandbox
Jeder Agent läuft isoliert in einem Container
Jede Agent-Session läuft in einem eigenen Docker-Container mit Resource-Limits (1 GB RAM, 1 CPU, 128 Prozesse). Kein Agent kann auf das Host-System oder auf Dateien anderer Agenten zugreifen.
2
nftables-Firewall
Container können nur Gitea und Mattermost erreichen
Kernel-Level-Firewall (nftables) blockiert alle Verbindungen von Containern in private Netzwerke. Ein kompromittierter Container kann GX10 nicht erreichen — und damit keinen Zugriff auf KI-Modelle oder Secrets erlangen.
1
Netzwerk-Sicherheit
WireGuard-VPN, UFW, iptables auf GX10
Die Basis: WireGuard verschlüsselt alle Server-zu-Server-Verbindungen. UFW auf allen VPS. iptables auf GX10 begrenzt eingehende Verbindungen: OC1 darf nur LiteLLM Port 4000 erreichen, kein SSH, keine Datenbank.

Was passiert wenn…

Manipulierte Telegram-Nachricht

Ein Angreifer sendet eine Nachricht die den Agenten zu einer schädlichen Aktion verleiten soll.

Greifende Schichten:

  • Docker-Container isoliert Agent vom Host (Schicht 3)
  • nftables blockiert interne Netzwerke (Schicht 2)
  • Keine gefährlichen Werkzeuge erlaubt (Schicht 4)
  • Permission Broker blockiert nicht erlaubte Befehle (Schicht 5)

OC1-Server kompromittiert

Ein Angreifer erhält Zugriff auf den OC1-Server.

Greifende Schichten:

  • Anthropic API-Key liegt nur auf GX10 (Schicht 8)
  • GX10 nur über Port 4000 erreichbar (Schicht 1)
  • Budget-Limit verhindert unkontrollierte API-Nutzung (Schicht 6)

Der Gatekeeper.

Der Permission Broker ist ein OpenClaw-Plugin das zwischen dem Agenten und dem System steht. Jeder Werkzeugaufruf wird geprüft — bevor er ausgeführt wird.

🤖 Agent fordert Werkzeugaufruf an
🔍 Permission Broker prüft gegen Whitelist
✓ Erlaubt
✗ Blockiert
Werkzeug wird ausgeführt
Fehlermeldung zurück an Agent

Jeder Agent bekommt nur was er braucht.

Agent Dateien lesen Dateien schreiben Befehle ausführen Browser Agenten starten
Simon Brain
Elsbeth Legal *
Ada Entwicklung
Don Marketing *

* Eingeschränkt auf Workspace-Operationen (ls, Dateiverwaltung). Kein sudo, kein rm auf Systemdateien.

Nur autorisierte Zugänge.

Telegram

Nur vorher freigegebene Nutzer können mit den Bots kommunizieren — Allowlist-Prinzip. Unbekannte Absender werden ignoriert.

SSH-Zugriff

Nur mit kryptografischem Schlüssel. Kein Passwort-Login auf keinem Server.

Mattermost

Allowlist-Modus. Nur freigegebene Accounts können Channels lesen und schreiben.

Secrets

Alle Passwörter und API-Keys als Dateien mit Modus 600. Nicht in Prozesslisten, nicht in Docker-Inspect, nicht in Logs.