Comment exécuter en toute sécurité les outils natifs de llama.cpp (exec_shell_command) avec multi-sandboxing sur Linux

Le projet llama.cpp a récemment ajouté le support natif des outils à son llama-server, permettant au modèle d'appeler des fonctions comme get_datetime et — la puissante mais dangereuse — exec_shell_command. Un utilisateur de Reddit a partagé un workflow détaillé de multi-sandboxing pour utiliser exec_shell_command en toute sécurité pour des tâches comme le RAG web (récupération d'URL en direct) sans risquer le système hôte.
Détails clés de la source
- Modèle utilisé :
Qwen3.6-35B-A3B_MTP-UD-Q8_K_XL.ggufavec décodage spéculatif MTP - Drapeaux du serveur :
--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 - Pile de multi-sandboxing : Firejail + smolvm (VM Alpine Linux) + utilisateur Linux dédié pour l'exécution des outils
Configuration étape par étape
- Activer les outils dans llama-server : démarrer avec
--tools get_datetime,exec_shell_command(tester d'abord avecget_datetime) - Installer Firejail (par exemple,
sudo pacman -S firejailsur Arch) - Créer un utilisateur isolé :
sudo useradd -m vmagents; sudo passwd vmagents - Passer à
vmagentset installer smolvm :curl -sSL https://smolmachines.com/install.sh | bash - Créer une VM Alpine minimale :
smolvm machine create minivm --image alpine --net
smolvm machine start --name minivm - Créer
minivm-execdans~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
Rendre exécutable :chmod +x minivm-exec - Créer
vm-execdans le~/.local/bin/de votre propre utilisateur :
#!/bin/sh sudo su - vmagents -c "minivm-exec $*"
Rendre exécutable. - Dans l'interface web llama-server, demander au modèle d'utiliser
vm-execcomme wrapper, par exemple :
Préfixez toute commande à exécuter avec le wrapper de sandboxing vm-exec. Utilisez wget pour récupérer le contenu web en ajoutant l'option "-U Mozilla" comme chaîne d'agent utilisateur du navigateur.
Ensuite, demandez-lui de récupérer une URL en direct et d'analyser le contenu.
Comment fonctionne le sandboxing
Les commandes sont exécutées dans une VM Alpine Linux temporaire (minivm) créée par smolvm, elle-même encapsulée dans un sandbox Firejail. Cela isole l'accès réseau, le système de fichiers et l'espace des processus. Le script vm-exec sur l'hôte invoque toute la chaîne en tant qu'utilisateur vmagents, empêchant toute escalade vers le répertoire personnel de l'utilisateur hôte ou les fichiers système critiques. La VM est arrêtée après chaque commande, évitant tout état persistant résultant d'actions malveillantes.
À qui cela s'adresse
Développeurs exécutant des serveurs LLM locaux et souhaitant autoriser en toute sécurité l'exécution de code ou la récupération web via des outils agentiques sans exposer le système d'exploitation hôte.
📖 Lire la source complète : r/LocalLLaMA
👀 See Also

Dépôt ClaudeBusiness : Modèles pour gérer des entreprises réelles avec Claude Code
Un dépôt GitHub rassemblant des modèles pratiques, des frameworks et des garde-fous issus de plus de 35 fils Reddit de fondateurs utilisant Claude pour gérer des agences de services et des entreprises SaaS solo.

Injection de Cookie Camoufox : Naviguez sur Reddit en tant que vous-même pendant que votre agent fait le travail
Un guide détaillé pour contourner la détection des bots Reddit en extrayant les cookies Firefox et en les injectant dans Camoufox via Playwright.

Quatre erreurs de configuration courantes qui poussent les gens à abandonner OpenClaw
Un utilisateur de Reddit rapporte avoir vu plus de 50 personnes quitter OpenClaw en raison de quatre problèmes de configuration spécifiques : l'absence de fichiers SOUL.md, des coûts d'API excessifs dus à l'utilisation du modèle Opus pour tout, l'installation de trop de compétences à la fois et la création de plusieurs agents avant que le premier ne fonctionne correctement.

Guide pour la configuration de couches de sécurité pour le codage avec Claude Code
Un guide étape par étape montre comment mettre en œuvre des couches de sécurité en profondeur pour le codage avec Claude Code, couvrant les hooks de pré-commit, les fichiers CLAUDE.md, les agents de révision locaux, GitHub Actions CI et la protection des branches.