
Eine sichere* Laufzeitumgebung für autonome KI-Agenten. Richtlinien aus Verfassungen in einfachem Englisch. (*https://ironcurtain.dev)
Eine sichere* Laufzeitumgebung für autonome KI-Agenten, bei der die Sicherheitsrichtlinie aus einer für Menschen lesbaren Verfassung abgeleitet wird.
*Wenn jemand „secure“ schreibt, sollten Sie sofort skeptisch sein. Was meinen wir mit „secure“?
[!WARNING] Forschungsprototyp. IronCurtain ist ein Forschungsprojekt im Frühstadium, das untersucht, wie KI-Agenten sicher genug gemacht werden können, um wirklich nützlich zu sein. APIs, Konfigurationsformate und Architektur können sich ändern. Beiträge und Feedback sind willkommen.
Der Agent wird gebeten, ein Repository zu klonen und Änderungen zu pushen. Sowohl git_clone als auch git_push werden von der Policy-Engine eskaliert, aber der Auto-Genehmiger genehmigt sie automatisch — die vertrauenswürdige Eingabe des Benutzers aus dem Befehlsmodus (Ctrl-A) lieferte eine klare Absicht, sodass kein manuelles /approve erforderlich war.
Autonome KI-Agenten können Dateien verwalten, Git-Befehle ausführen, Nachrichten senden und in Ihrem Namen mit APIs interagieren. Aber heutige Agent-Frameworks geben dem Agenten dieselben Berechtigungen wie dem Benutzer, etwa vollständigen Zugriff auf das Dateisystem, Anmeldedaten und das Netzwerk. Sicherheitsforscher nennen das ambient authority, und es bedeutet, dass eine einzelne Prompt-Injection oder ein Multi-Turn-Drift dazu führen kann, dass ein Agent Dateien löscht, Daten exfiltriert oder bösartigen Code pusht.
Die übliche Antwort besteht darin, Agenten entweder auf eine enge Sandbox zu beschränken (was ihren Nutzen einschränkt) oder den Benutzer um Genehmigung für jede Aktion zu bitten (was ihre Autonomie einschränkt). Beides ist nicht zufriedenstellend.
IronCurtain geht einen anderen Weg: Drücken Sie Ihre Sicherheitsabsicht in einfachem Englisch aus und lassen Sie das System die Durchsetzung übernehmen.
Sie schreiben eine Verfassung, ein kurzes Dokument, das beschreibt, was Ihr Agent tun darf und was nicht. IronCurtain kompiliert diese mithilfe einer LLM-Pipeline in eine deterministische Sicherheitsrichtlinie, validiert die kompilierten Regeln anhand generierter Testszenarien und setzt die Richtlinie zur Laufzeit bei jedem Tool-Aufruf durch. Das Ergebnis ist ein Agent, der innerhalb von Grenzen, die Sie in natürlicher Sprache definieren, autonom arbeiten kann.
Die Kernideen:
IronCurtain unterstützt zwei Sitzungsmodi mit unterschiedlichen Vertrauensmodellen:
Integrierter Agent (Code-Modus) — IronCurtains eigener LLM-Agent schreibt TypeScript-Snippets, die in einer V8-Sandbox ausgeführt werden. IronCurtain kontrolliert den Agenten, die Sandbox und die Policy-Engine. Jeder Tool-Aufruf verlässt die Sandbox als strukturierte MCP-Anfrage, durchläuft die Policy-Engine (erlauben / verweigern / eskalieren) und erreicht erst dann den echten MCP-Server.
Docker-Agent-Modus — Ein externer Agent (Claude Code, Goose usw.) läuft in einem Docker-Container ohne Netzwerkzugriff. IronCurtain vermittelt die externen Effekte: LLM-API-Aufrufe laufen über einen TLS-terminierenden MITM-Proxy (Host-Allowlist, Fake-to-Real-Key-Swap), MCP-Tool-Aufrufe durchlaufen dieselbe Policy-Engine, und Paketinstallationen (npm/PyPI) laufen über einen validierenden Registry-Proxy.
In beiden Modi ist der Agent nicht vertrauenswürdig. Die Sicherheit hängt nicht davon ab, dass das Modell Anweisungen befolgt — sie wird an der Grenze durchgesetzt.
Vollständige Architektur mit Diagrammen, schichtweiser Vertrauensanalyse und macOS-Plattformhinweisen finden Sie in SANDBOXING.md.
isolated-vm; 24 und 26 installieren vorgefertigte Binärdateien, Node 22 kompiliert bei der Installation aus dem Quellcode und benötigt eine C/C++-Toolchain). Ungerade Versionen (23, 25) laufen, sind aber ungetestet — ironcurtain doctor warnt.container als alternativer Backend (VM pro Container; wird automatisch verwendet, wenn seine Dienste laufen — siehe containerRuntime in ironcurtain config)Als globales CLI-Tool (Endbenutzer):```bash npm install -g @provos/ironcurtain
**Aus dem Quellcode (Entwicklung):**```bash
git clone https://github.com/provos/ironcurtain.git
cd ironcurtain
npm install
1. Legen Sie Ihren API-Schlüssel fest:```bash export ANTHROPIC_API_KEY=sk-ant-...
Sie können Schlüssel auch in einer `.env`-Datei im Projektstammverzeichnis ablegen (wird automatisch über `dotenv` geladen) oder sie über `ironcurtain config` zu `~/.ironcurtain/config.json` hinzufügen. Umgebungsvariablen haben Vorrang vor den Werten der Konfigurationsdatei.
**2. Führen Sie den Erststart-Assistenten aus** (führen Sie dies explizit aus, bevor Sie den empfohlenen Mux-Pfad verwenden; er wird auch automatisch beim ersten Nicht-Mux-`ironcurtain start` ausgeführt):```bash
ironcurtain setup
Führt Sie durch die Einrichtung des GitHub-Tokens, den Web-Suchanbieter, die Modellauswahl und weitere Einstellungen. Erstellt ~/.ironcurtain/config.json mit Ihren Einstellungen.
IronCurtain wird mit einer Standardrichtlinie ausgeliefert, die auf die Entwicklererfahrung zugeschnitten ist — schreibgeschützte Vorgänge sind erlaubt, Mutationen (Schreibvorgänge, Pushes, PR-Erstellung) werden zur Genehmigung durch einen Menschen eskaliert. Sie können es direkt nach der Einrichtung verwenden.