Sicheres Ausführen von llama.cpp nativen Tools (exec_shell_command) mit mehrfacher Sandboxing unter Linux

Das llama.cpp-Projekt hat kürzlich native Tool-Unterstützung zu seinem llama-server hinzugefügt, die es dem Modell ermöglicht, Funktionen wie get_datetime und das mächtige, aber gefährliche exec_shell_command aufzurufen. Ein Reddit-Benutzer hat einen detaillierten Multi-Sandboxing-Workflow veröffentlicht, um exec_shell_command sicher für Aufgaben wie Web-RAG (Abruf von Live-URLs) zu nutzen, ohne das Hostsystem zu gefährden.
Wichtige Details aus der Quelle
- Verwendetes Modell:
Qwen3.6-35B-A3B_MTP-UD-Q8_K_XL.ggufmit MTP spekulativer Dekodierung - Server-Flags:
--jinja --tools get_datetime,exec_shell_command --temp 0.6 --top-p 0.95 --top-k 20 --presence-penalty 1.5 --min-p 0.00 --chat-template-kwargs '{"preserve_thinking":true}' --spec-type draft-mtp --spec-draft-n-max 1 - Multi-Sandboxing-Stack: Firejail + smolvm (Alpine Linux VM) + dedizierter Linux-Benutzer für die Tool-Ausführung
Schritt-für-Schritt-Einrichtung
- Tools in llama-server aktivieren: starten mit
--tools get_datetime,exec_shell_command(zuerst mitget_datetimetesten) - Firejail installieren (z.B.
sudo pacman -S firejailauf Arch) - Isolierten Benutzer erstellen:
sudo useradd -m vmagents; sudo passwd vmagents - Zu
vmagentswechseln und smolvm installieren:curl -sSL https://smolmachines.com/install.sh | bash - Minimale Alpine VM erstellen:
smolvm machine create minivm --image alpine --net
smolvm machine start --name minivm minivm-execerstellen in~vmagents/.local/bin/:
#!/bin/sh smolvm machine start --name minivm >/dev/null firejail smolvm machine exec --name minivm -- $* 2>/dev/null smolvm machine stop --name minivm >/dev/null
Ausführbar machen:chmod +x minivm-execvm-execerstellen im eigenen Benutzer-~/.local/bin/:
#!/bin/sh sudo su - vmagents -c "minivm-exec $*"
Ausführbar machen.- In der llama-Web-Oberfläche das Modell anweisen,
vm-execals Wrapper zu verwenden, z.B.:
Stelle jedem auszuführenden Befehl den Sandbox-Wrapper vm-exec voran. Verwende wget, um Webinhalte abzurufen, und füge die Option "-U Mozilla" als Browser-User-Agent-String hinzu.
Dann bitte es, eine Live-URL abzurufen und den Inhalt zu analysieren.
Wie das Sandboxing funktioniert
Befehle werden in einer temporären Alpine Linux VM (minivm) ausgeführt, die von smolvm erstellt und selbst in eine Firejail-Sandbox eingebettet wird. Dies isoliert Netzwerkzugriff, Dateisystem und Prozessraum. Das vm-exec-Skript auf dem Host ruft die gesamte Kette als Benutzer vmagents auf und verhindert so eine Eskalation in das Home-Verzeichnis des Host-Benutzers oder zu kritischen Systemdateien. Die VM wird nach jedem Befehl gestoppt, sodass kein dauerhafter Zustand von bösartigen Aktionen erhalten bleibt.
Für wen das gedacht ist
Entwickler, die lokale LLM-Server betreiben und sichere Codeausführung oder Web-Fetching über agentische Tools ermöglichen möchten, ohne das Host-Betriebssystem zu gefährden.
📖 Vollständige Quelle lesen: r/LocalLLaMA
👀 Siehe auch

Effizientes Management von OpenClaw-Instanzen für mehrere Benutzer
Erkunden Sie Strategien, die von Nutzern auf r/openclaw geteilt werden, um mehrere OpenClaw-Instanzen zu verwalten. Erfahren Sie, wie Mitglieder der Community Automatisierung und Lastverteilung nutzen, um optimale Leistung zu erzielen.

Zwei Telegram-Bots in einer Gruppe verbinden: Zustellungssemantik über HTTP
Ein Entwickler teilt einen praktischen Ansatz, um zwei unabhängige Telegram-Bots im selben Gruppenchat zu verbinden. Dabei werden die Lücken bei der Bot-zu-Bot-Zustellung von Telegram mit HTTP-Relays, ACKs, Deduplizierung und streng begrenzten Feeds überbrückt.

Vier Methoden, um den ChatGPT-Verlauf in Claudes Gedächtnis zu übertragen
Claude bietet jetzt Memory-Import für ChatGPT-Daten, aber es gibt vier Ansätze mit unterschiedlichen Kompromissen: integrierter Import für Geschwindigkeit, kuratierte Abstraktion für Kontrolle, vollständiger Export zur Bewahrung oder eine hybride Methode, die alle drei kombiniert.

OpenClaw Memory Plugin Testergebnisse und empfohlener Stack
Ein Reddit-Nutzer testete alle OpenClaw-Speicher-Plugins und stellte fest, dass die Standard-Markdown-Einrichtung Token-Aufblähung und Instruktionskompression verursacht. Die empfohlene Einrichtung kombiniert Obsidian für menschenlesbare Notizen, QMD für tokenfreie Suche und SQLite für strukturierte Daten.