Sicherheit ist kein Feature — es ist eine Architektur. Jede Schicht schützt die inneren Ebenen. Ein Angreifer muss alle acht Schichten überwinden, um an die Kern-Daten zu kommen.
Defense-in-Depth
Acht Schichten, die sich gegenseitig absichern. Selbst wenn eine fällt, halten die anderen.
Von außen nach innen: Netzwerk-Sicherheit → Firewall → Container-Isolation → Tool-Limits → Permission Broker → Modell-Routing → Verhaltensregeln → Secrets als Dateien.
WireGuard + UFW
VPN verbindet alle Server. UFW blockiert alle nicht explizit erlaubten Ports. Keine externen Discovery-Server.
nftables-Firewall
Container können keine privaten Netze erreichen. Nur erlaubte Ziel-IPs und Ports.
Docker-Sandbox
Isolierte Container für jeden Agenten. Kein Host-Zugriff, keine privilegierten Modi.
Tool-Berechtigungen
Nur bestimmte Werkzeuge erlaubt (git-proxy, mm-post, exec-Allowlist). Keine unbekannten Binaries.
Permission Broker
Validiert jeden Befehl gegen Whitelist. Blockiert nicht erlaubte Aktionen.
Modell-Routing
Große Cloud-Modelle für kritische Entscheidungen. Lokale Modelle für sensible Daten.
SOUL.md Regeln
Verhaltensregeln pro Agent: keine Secrets im Code, keine externen URLs, keine destruktiven Befehle.
Secrets Management
Passwörter als verschlüsselte Dateien, nie als Umgebungsvariablen. API-Keys nur auf GX10.
Was passiert bei einem Angriff?
Stell dir vor, ein Angreifer kompromittiert den OC1-Server:
- Kein Zugriff auf API-Keys: Sie liegen nur auf GX10 (lokal, verschlüsselt).
- Kein Host-Zugriff: Docker-Isolation verhindert Zugriff auf den Host.
- Keine nicht erlaubten Befehle: Permission Broker blockiert alles außer der Whitelist.
- Budget-Limits: Cloud-API-Nutzung ist begrenzt — kein finanzieller Schaden.
Die inneren Schichten halten, auch wenn eine äußere fällt.