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

Utiliser l'IA comme partenaire cognitif plutôt que comme usine à code
Un post sur Reddit propose un prompt système appelé 'Cognitive Authorship Copilot' qui force l'IA à agir comme un partenaire de programmation en binôme plutôt que comme un générateur de solutions autonome, avec trois niveaux d'intervention basés sur la complexité de la tâche.

Arrêtez de demander quel modèle d'IA utiliser : Acheminez les tâches vers les niveaux Haiku, Sonnet et Opus
Utilisez au moins trois modèles par type de tâche : niveau Haïku pour la lecture/résumé, niveau Sonnet pour écrire du code, et niveau Opus uniquement pour les refontes multi-fichiers et le débogage. La configuration d'un utilisateur achemine 40 % vers des modèles bon marché, 35 % vers des modèles intermédiaires, 25 % vers des modèles de pointe, pour un coût d'environ 30 à 40 $/mois.

Gestion des Déconnexions de Passerelle pour une Automatisation Efficace
Découvrez des solutions pratiques pour maintenir les opérations des agents de codage IA face aux déconnexions de passerelle. Les conseils incluent la surveillance avec Grafana, les scripts de reconnexion automatisés et l'utilisation de chemins redondants pour la fiabilité.

Liste de configuration d'OpenClaw : six étapes cruciales pour les nouveaux utilisateurs
Un post Reddit détaille six étapes de configuration essentielles pour les utilisateurs d'OpenClaw : changer le modèle par défaut d'Opus à Sonnet pour réduire les coûts, verrouiller l'hôte de la passerelle sur 127.0.0.1 pour la sécurité, créer un fichier SOUL.md pour la personnalité de l'agent, éviter d'installer des compétences initialement, ne pas créer plusieurs agents, et utiliser la commande /new pour gérer le contexte de conversation.