Cómo ejecutar de forma segura las herramientas nativas de llama.cpp (exec_shell_command) con múltiples sandboxes en Linux

El proyecto llama.cpp agregó recientemente soporte nativo de herramientas a su llama-server, lo que permite al modelo llamar funciones como get_datetime y — la poderosa pero peligrosa — exec_shell_command. Un usuario de Reddit compartió un flujo de trabajo detallado de múltiples sandboxes para usar exec_shell_command de forma segura en tareas como RAG web (obtener URL en vivo) sin arriesgar el sistema anfitrión.
Detalles clave de la fuente
- Modelo utilizado:
Qwen3.6-35B-A3B_MTP-UD-Q8_K_XL.ggufcon decodificación especulativa MTP - Banderas del servidor:
--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 - Pila de múltiples sandboxes: Firejail + smolvm (VM Alpine Linux) + usuario Linux dedicado para ejecución de herramientas
Configuración paso a paso
- Habilitar herramientas en llama-server: iniciar con
--tools get_datetime,exec_shell_command(probar primero conget_datetime) - Instalar Firejail (ej.,
sudo pacman -S firejailen Arch) - Crear usuario aislado:
sudo useradd -m vmagents; sudo passwd vmagents - Cambiar a
vmagentse instalar smolvm:curl -sSL https://smolmachines.com/install.sh | bash - Crear una VM Alpine mínima:
smolvm machine create minivm --image alpine --net
smolvm machine start --name minivm - Crear
minivm-execen~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
Hacer ejecutable:chmod +x minivm-exec - Crear
vm-execen el directorio~/.local/bin/de tu propio usuario:
#!/bin/sh sudo su - vmagents -c "minivm-exec $*"
Hacer ejecutable. - En la interfaz web de llama-server, indicar al modelo que use
vm-execcomo envoltorio, por ejemplo:
Antepón a cualquier comando a ejecutar el envoltorio de sandboxing vm-exec. Usa wget para obtener contenido web agregando la opción "-U Mozilla" como cadena de agente de usuario del navegador.
Luego pídele que recupere una URL en vivo y analice el contenido.
Cómo funciona el sandboxing
Los comandos se ejecutan dentro de una VM temporal de Alpine Linux (minivm) creada por smolvm, que a su vez está envuelta en un sandbox de Firejail. Esto aísla el acceso a la red, el sistema de archivos y el espacio de procesos. El script vm-exec en el anfitrión invoca toda la cadena como el usuario vmagents, evitando cualquier escalada al directorio home del usuario anfitrión o a archivos críticos del sistema. La VM se detiene después de cada comando, garantizando que no haya estado persistente de acciones maliciosas.
Para quién es esto
Desarrolladores que ejecutan servidores LLM locales y quieren permitir de forma segura la ejecución de código o la obtención de contenido web mediante herramientas agénticas sin exponer el sistema operativo anfitrión.
📖 Lee la fuente completa: r/LocalLLaMA
👀 Ver también

Usando el Patrón Dispatcher para Reducir los Costos de la API de Claude en un 95%
Un desarrollador redujo sus costos de la API de Claude de $800-$2,000/mes a aproximadamente $215/mes implementando un patrón de despachador que delega el trabajo pesado a Claude Code CLI en una suscripción Claude Max, mientras usa tokens mínimos de API para la orquestación.

Problemas y Soluciones de Configuración de Acceso Condicional de Claude Code O365 MCP
Un desarrollador comparte soluciones específicas para dos problemas encontrados al configurar el conector O365 MCP de Claude Code bajo políticas de acceso condicional: encontrar los ID de aplicación correctos para las reglas de políticas y resolver errores de autenticación relacionados con ubicaciones de servidores.
Actualización de una Raspberry Pi 5 NVMe a OpenClaw 9.3 mediante un clon por etapas
Un desarrollador actualizó un Raspberry Pi 5 de producción con NVMe de OpenClaw 2026v7.1-2 a 9.3 clonando a un Pi de repuesto, borrando el original y restaurando — con el agente conectándose por SSH para hacer el trabajo.
