Zum Inhalt

Firecracker-Setup (Stufe 3)

Stufe 3 fuehrt Oneshot-Kommandos, eigene Ausgabe-Parser, MCP-stdio-Server, PTY-Sitzungen und verwaltete CLI-Worker in einer frischen Firecracker-microVM aus. Die ausgewaehlte ToolClad-Grenze und der oeffentliche FirecrackerRunner nutzen dasselbe Gast-Protokoll und denselben unabhaengigen Supervisor. Ein VM-Start oder ein VMM-Ende kann das Ergebnis des angeforderten Kommandos nicht ersetzen. Host-Kernel, VMM, Gast-Image und Betreiberkonfiguration bleiben vertrauenswuerdige Komponenten. Die Isolation ist keine Garantie gegen alle Ausbruchswege.

Stufe 3 ist Teil des Open-Source-Runtimes. Sie benoetigt keinen Lizenzschluessel und keinen Enterprise-Build: Die Crates symbi-sandbox-guest und symbi-sandbox-supervisor sind in diesem Repository enthalten, sodass Sie das Gast-Image selbst bauen, pruefen und reproduzieren koennen.

Die verbindliche, aktuelle Anleitung ist das englische Firecracker-Setup. Es beschreibt die Provisionierung der Artefakte, den passenden symbi-sandbox-guest als Gast-PID 1, Kernel und Rootfs sowie das begrenzte vsock-Protokoll in Version 5 mit den Modi oneshot, stdio und PTY. Ein Host-Arbeitsverzeichnis wird nicht automatisch in die VM uebertragen; die serielle Konsole liefert keine Tool-Ergebnisse. Veraltete Gast-Images werden anhand des Fingerabdrucks abgelehnt, bevor ein Kommando gesendet wird.

Feste read_file-, list_files- und grep_files-Operationen nutzen explizite, schreibgeschuetzte source_roots ueber den begrenzten Datei-Broker des Runtimes; diese Wurzeln werden nie zu Gast-Mounts oder automatischen Importen. Deklarierte Dateien fuer Kommando, MCP und PTY verwenden begrenzte Byte-Uebertragungen des Protokolls 5 und eine separate output_roots-Obergrenze fuer neue Host-Ausgaben. Siehe Quellabfragen und Dateifreigaben. Git nutzt einen eigenen begrenzten Snapshot-Stream mit versiegeltem Gast-Dateisystem.

Isolierte Browser-Ausfuehrung bleibt nicht verfuegbar; nicht unterstuetzte Pfade schlagen explizit fehl. Natives HTTP bleibt eine Operation des Host-Brokers, eigene Parser werden in die ausgewaehlte VM gesendet. Siehe Kommando-Isolation und Branch-Abdeckung.

Bei verwalteter CLI-Ausfuehrung vergibt das Runtime genau zwei Gast-zu-Host-Faehigkeiten: CID 2, Port 4051 erreicht den gesteuerten Tool-Broker dieses Laufs, Port 4052 seinen geschuetzten Inferenz-Broker. Andere Ports haben keinen Endpunkt, und die Projektkonfiguration kann diese Socket-Faehigkeiten nicht auswaehlen.

Der normale Supervisor laeuft unter dem Benutzerkonto und reserviert Gast-CPU und Gast-Speicher im gemeinsamen Pool. Er richtet weder einen jailer noch Host-cgroups ein und reserviert keinen VMM-Zusatzspeicher.

Der optionale verwaltete Host-Dienst ergaenzt gepruefte Artefakte, den jailer, separate VMM-Identitaeten, Host-cgroups und Speicherreservierungen einschliesslich VMM-Aufschlag. systemd ueberwacht den Dienst und die Bereinigung. service_uid = 0 verlangt diesen Dienst; bei dessen Ausfall wird kein lokaler Ersatz gestartet. Docker/gVisor brauchen eine separat zugeteilte Kapazitaet. Ein Broker fuer Netzwerkziele wird nicht bereitgestellt.

Build, gezielte Tests und Docker-Regressions-E2E sind erfolgreich. Der privilegierte Host-E2E mit KVM, Dienstabsturz und Watchdog ist noch ausstehend. Dieses Profil gilt erst nach erfolgreicher Pruefung auf dem Zielhost als validiert. Das Test-Image und die Regressionsfaelle belegen keine vollstaendige Eindaemmung. Die Host-Anleitung enthaelt Provisionierung und Test.