Como executar com segurança as ferramentas nativas do llama.cpp (exec_shell_command) com multi-sandboxing no Linux

O projeto llama.cpp recentemente adicionou suporte nativo a ferramentas em seu llama-server, permitindo que o modelo chame funções como get_datetime e — a poderosa, mas perigosa — exec_shell_command. Um usuário do Reddit compartilhou um fluxo de trabalho detalhado com múltiplos sandboxes para usar exec_shell_command com segurança em tarefas como RAG web (buscar URLs ao vivo) sem arriscar o sistema host.
Detalhes principais da fonte
- Modelo usado:
Qwen3.6-35B-A3B_MTP-UD-Q8_K_XL.ggufcom decodificação especulativa MTP - Flags do 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 - Pilha de múltiplos sandboxes: Firejail + smolvm (VM Alpine Linux) + usuário Linux dedicado para execução de ferramentas
Configuração passo a passo
- Habilitar ferramentas no llama-server: inicie com
--tools get_datetime,exec_shell_command(teste comget_datetimeprimeiro) - Instalar o Firejail (ex.:
sudo pacman -S firejailno Arch) - Criar usuário isolado:
sudo useradd -m vmagents; sudo passwd vmagents - Mudar para
vmagentse instalar smolvm:curl -sSL https://smolmachines.com/install.sh | bash - Criar uma VM Alpine mínima:
smolvm machine create minivm --image alpine --net
smolvm machine start --name minivm - Criar
minivm-execem~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
Tornar executável:chmod +x minivm-exec - Criar
vm-execno diretório~/.local/bin/do seu próprio usuário:
#!/bin/sh sudo su - vmagents -c "minivm-exec $*"
Tornar executável. - Na interface web do llama-server, instrua o modelo a usar
vm-execcomo wrapper, ex.:
Anteponha qualquer comando a ser executado com o wrapper de sandbox vm-exec. Use wget para buscar conteúdo web adicionando a opção "-U Mozilla" como string de user agent do navegador.
Depois peça para recuperar uma URL ao vivo e analisar o conteúdo.
Como o sandbox funciona
Os comandos são executados dentro de uma VM Alpine Linux temporária (minivm) criada pelo smolvm, que por sua vez é encapsulada em um sandbox Firejail. Isso isola acesso à rede, sistema de arquivos e espaço de processos. O script vm-exec no host invoca toda a cadeia como o usuário vmagents, impedindo qualquer escalada para o diretório home do usuário host ou arquivos críticos do sistema. A VM é parada após cada comando, garantindo que nenhum estado persistente de ações maliciosas permaneça.
Para quem é este guia
Desenvolvedores que executam servidores LLM locais e desejam permitir com segurança a execução de código ou busca na web por meio de ferramentas agênticas sem expor o sistema operacional host.
📖 Leia a fonte completa: r/LocalLLaMA
👀 See Also

Configuração do OpenClaw para automação de navegador com humano no circuito usando Docker, Chromium e noVNC
Um desenvolvedor compartilha sua configuração de contêiner Docker que permite ao OpenClaw lidar com CAPTCHAs e aprovações durante a execução usando Chromium com noVNC para acesso remoto, exigindo ~300MB de RAM e inicializações a frio de 3 segundos.

VPS vs Máquina Dedicada: Onde Executar o OpenClaw
Nenhum

Problemas e Soluções de Configuração do NemoClaw no Windows
As instalações do NemoClaw no Windows falham com três erros específicos: ambiente não suportado no Git Bash, porta 18789 já em uso e falha na construção do Docker durante a instalação do OpenClaw. A causa raiz é que o NemoClaw não foi desenvolvido com o Windows em mente, exigindo o WSL2 Ubuntu para uma configuração bem-sucedida.

Lista de Verificação para Atualização do OpenClaw 3.22: Passos Práticos de um Desenvolvedor que Aprendeu na Dor
Um desenvolvedor compartilha etapas específicas de atualização para o OpenClaw 3.22, incluindo verificar variáveis de ambiente obsoletas, criar backups, executar comandos de migração e verificar a compatibilidade de plugins.