Monty: Rust-basierte Python-Subset-Sandbox läuft in WebAssembly

Simon Willison – Blog Original ≈2 Min. Lesezeit
Anzeige

In der KI-Entwicklung wird immer häufiger nach sicheren Ausführungsumgebungen für untrusted Code gesucht. Pydantic hat mit Monty einen neuen Ansatz vorgestellt, der genau das ermöglicht: ein schlankes, Python‑ähnliches Subset, das in Rust implementiert ist und sowohl als Rust‑Bibliothek als auch als Python‑Paket verfügbar ist.

Monty läuft komplett in WebAssembly und bietet damit eine „Sandbox in einer Sandbox“. Durch die Nutzung von Rust profitiert es von extrem schnellen Startzeiten – im Mikrosekundenbereich statt der üblichen Millisekunden bei herkömmlichen Containern. Das macht es ideal für die Ausführung von LLM‑generiertem Code, der direkt in Agenten eingebettet wird.

Die wichtigsten Eigenschaften von Monty sind: Es unterstützt ein handliches Subset von Python, das gerade genug Funktionalität für die meisten Agenten‑Aufgaben liefert. Der Zugriff auf das Host‑System ist vollständig blockiert – Dateisystem, Umgebungsvariablen und Netzwerkzugriff werden ausschließlich über vom Entwickler kontrollierte externe Funktionsaufrufe bereitgestellt. Gleichzeitig können beliebige Host‑Funktionen eingebunden werden, solange sie explizit freigegeben werden.

Ein schneller Einstieg ist möglich, indem man das Tool uv nutzt: uv run --with pydantic-monty python -m asyncio. Anschließend kann man Monty-Code direkt im interaktiven Prompt ausführen. Obwohl Monty noch keine Klassen unterstützt, reicht das Subset für die meisten Anwendungsfälle aus und lässt sich leicht erweitern.

Tools wie Monty zeigen, wie man mit minimalem Overhead sichere, schnelle und kontrollierte Ausführungsumgebungen für KI‑Modelle schaffen kann. Für Entwickler, die LLM‑Code in ihre Systeme integrieren wollen, bietet Monty eine attraktive Alternative zu komplexen Container‑Lösungen.

Ähnliche Artikel