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

✍️ OpenClawRadar📅 Publicado: June 7, 2026🔗 Source
Como executar com segurança as ferramentas nativas do llama.cpp (exec_shell_command) com multi-sandboxing no Linux
Ad

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.gguf com 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
Ad

Configuração passo a passo

  1. Habilitar ferramentas no llama-server: inicie com --tools get_datetime,exec_shell_command (teste com get_datetime primeiro)
  2. Instalar o Firejail (ex.: sudo pacman -S firejail no Arch)
  3. Criar usuário isolado: sudo useradd -m vmagents; sudo passwd vmagents
  4. Mudar para vmagents e instalar smolvm: curl -sSL https://smolmachines.com/install.sh | bash
  5. Criar uma VM Alpine mínima:
    smolvm machine create minivm --image alpine --net
    smolvm machine start --name minivm
  6. Criar minivm-exec em ~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
  7. Criar vm-exec no diretório ~/.local/bin/ do seu próprio usuário:
    #!/bin/sh
    sudo su - vmagents -c "minivm-exec $*"
    Tornar executável.
  8. Na interface web do llama-server, instrua o modelo a usar vm-exec como 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

Ad

👀 See Also

Corrigindo a Invalidação do Cache KV do Claude Code com Backends Locais
Guides

Corrigindo a Invalidação do Cache KV do Claude Code com Backends Locais

As versões 2.1.36+ do Claude Code injetam cabeçalhos de telemetria dinâmica e atualizações de status do git em cada solicitação, quebrando a correspondência de prefixos e forçando o reprocessamento completo do prompt do sistema com mais de 20 mil tokens em backends locais como o llama.cpp. Uma correção de configuração em ~/.claude/settings.json pode reduzir o processamento de mais de 60 segundos para aproximadamente 4 segundos.

OpenClawRadar
Usando a IA como Parceira Cognitiva em vez de Fábrica de Código
Guides

Usando a IA como Parceira Cognitiva em vez de Fábrica de Código

Uma postagem no Reddit propõe um prompt de sistema chamado 'Cognitive Authorship Copilot' que força a IA a atuar como um parceiro de programação em par, em vez de um gerador autônomo de soluções, com três níveis de intervenção baseados na complexidade da tarefa.

OpenClawRadar
Repositório ClaudeBusiness: Padrões para Gerenciar Negócios Reais com Claude Code
Guides

Repositório ClaudeBusiness: Padrões para Gerenciar Negócios Reais com Claude Code

Um repositório no GitHub que reúne padrões práticos, frameworks e proteções de mais de 35 discussões no Reddit de fundadores usando Claude para gerenciar agências de serviços e negócios SaaS individuais.

OpenClawRadar
OpenClaw 4.1 com Gemma 4 Stack: Arquitetura Híbrida e Correções de Configuração
Guides

OpenClaw 4.1 com Gemma 4 Stack: Arquitetura Híbrida e Correções de Configuração

Uma postagem no Reddit detalha uma pilha de agentes locais otimizada que combina o OpenClaw 4.1 com o modelo Gemma 4 do Google, apresentando uma arquitetura híbrida, correções de configuração específicas para chamadas de ferramentas do Ollama e ajustes na janela de contexto.

OpenClawRadar