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

✍️ OpenClawRadar📅 Publicado: 7 de junio de 2026🔗 Source
Cómo ejecutar de forma segura las herramientas nativas de llama.cpp (exec_shell_command) con múltiples sandboxes en Linux
Ad

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.gguf con 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

  1. Habilitar herramientas en llama-server: iniciar con --tools get_datetime,exec_shell_command (probar primero con get_datetime)
  2. Instalar Firejail (ej., sudo pacman -S firejail en Arch)
  3. Crear usuario aislado: sudo useradd -m vmagents; sudo passwd vmagents
  4. Cambiar a vmagents e instalar smolvm: curl -sSL https://smolmachines.com/install.sh | bash
  5. Crear una VM Alpine mínima:
    smolvm machine create minivm --image alpine --net
    smolvm machine start --name minivm
  6. Crear minivm-exec en ~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
  7. Crear vm-exec en el directorio ~/.local/bin/ de tu propio usuario:
    #!/bin/sh
    sudo su - vmagents -c "minivm-exec $*"
    Hacer ejecutable.
  8. En la interfaz web de llama-server, indicar al modelo que use vm-exec como 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.
Ad

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

Ad

👀 Ver también

Recuperar conversaciones eliminadas de Claude Desktop de la caché de Chromium
Guías

Recuperar conversaciones eliminadas de Claude Desktop de la caché de Chromium

Salga inmediatamente de Claude Desktop, busque el caché Chromium blockfile en %APPDATA%\Claude\Cache\Cache_Data (Windows), luego use los paquetes de Python ccl_chromium_reader y las bibliotecas de compresión estándar para extraer los cuerpos de respuesta HTTP que contienen el UUID de su conversación.

OpenClawRadar
Proyecto OpenClaw Sistema Operativo: Marco de Gestión de Múltiples Proyectos
Guías

Proyecto OpenClaw Sistema Operativo: Marco de Gestión de Múltiples Proyectos

Un framework que aísla proyectos con directorios estandarizados, utiliza cron para automatización en lugar de agentes para tareas predecibles, e implementa protocolos de respaldo obligatorios para reducir el uso de tokens y mejorar la consistencia de ejecución.

OpenClawRadar
OpenClaw 2026.3.7 interrumpe las llamadas a herramientas de Kimi, revertir a la versión 2026.3.2 soluciona la regresión.
Guías

OpenClaw 2026.3.7 interrumpe las llamadas a herramientas de Kimi, revertir a la versión 2026.3.2 soluciona la regresión.

La versión 2026.3.7 de OpenClaw tiene una regresión donde el proveedor de la API de Kimi genera XML <function_calls> crudo en lugar de ejecutar herramientas. La solución es volver a la versión 2026.3.2 y restaurar un archivo de configuración compatible.

OpenClawRadar
Un Solo Sopa, Un Solo Plato: Un Principio Cocinero Japonés para el Agotamiento por IA
Guías

Un Solo Sopa, Un Solo Plato: Un Principio Cocinero Japonés para el Agotamiento por IA

Takuya aplica el principio culinario japonés 'Ichiju Issai' para combatir la fatiga de la IA: simplifica tu stack tecnológico a una herramienta principal y una secundaria, como una comida de arroz, sopa y un plato.

OpenClawRadar