Sicherheit • August 2026

Zero-Trust Sandboxing für KI-Code: Härtung gegen Path-Traversal und CPU-Watchdogs 🔒

Das Ausführen von KI-generiertem Bytecode auf einem Host-System erfordert striktes Zero-Trust Sandboxing. Ein unvertrauenswürdiges oder fehlerhaftes AST-Programm könnte versuchen, Directory-Traversals durchzuführen, Endlosschleifen zu starten oder den Host-Speicher zu erschöpfen. Im Audit-Release v2.11.2-audit (Commit 1572173) und v2.12.0 haben wir umfassenden Path-Traversal-Schutz und Quota-Absicherungen eingeführt.

1. Das Bedrohungsmodell: Unvertrauenswürdige AST-Ausführung

Wenn ein KI-Agent Code über knc_execute ausführt, muss die Laufzeit davon ausgehen, dass der AST bösartige Pfad-Sequenzen (wie ../ Traversals oder Null-Byte-Injektionen \0) oder Ausführungsschleifen enthalten könnte, die 100% CPU verbrauchen.

2. validate_fs_path(): Der Path-Traversal Schild

In io.rs und bridge.rs laufen Dateioperationen wie IO.WriteFile, IO.ReadFile und native Schreibzugriffe nun strikt durch validate_fs_path() und validate_fs_path_write().

Pfade, die aus dem zugewiesenen Arbeitsverzeichnis ausbrechen wollen oder verdächtige Zeichen enthalten, werden sofort mit einem Sandbox-Zugriffsfehler abgelehnt. Zudem validiert storage.rs Key-Parameter in store_value() und load_value() gegen /, \, .. und Null-Bytes.

3. CPU-Watchdog Härtung (500ms Schwellenwert)

Um zu verhindern, dass Endlosschleifen den Ausführungsthread blockieren, enthält KnotenCore einen aktiven CPU-Watchdog. In v2.12.0 wurde das Standard-Timeout in machine.rs von 50ms auf 500ms angehoben.

Dies bietet ausreichend Spielraum für komplexe JIT-Berechnungen und garantiert gleichzeitig, dass nicht-terminierende Schleifen abgebrochen werden, bevor sie Systemressourcen erschöpfen.

4. Multi-Tenant Isolate Quotas

Über CPU-Timeouts hinaus ist jedes Isolate an IsolateQuota-Limits gebunden (maximaler Speicher und Befehlszähler). Sitzungen, die ihr Quota überschreiten, erhalten einen -32000 Quota Exceeded Fehler, was Host-Stabilität bei Multi-Tenant-Workloads sichert.