Как безопасно запускать нативные инструменты llama.cpp (exec_shell_command) с мульти-песочницей на Linux

Проект llama.cpp недавно добавил встроенную поддержку инструментов для llama-server, позволяя модели вызывать такие функции, как get_datetime и — мощную, но опасную — exec_shell_command. Пользователь Reddit поделился подробным рабочим процессом с несколькими уровнями изоляции для безопасного использования exec_shell_command для задач вроде веб-RAG (загрузка живых URL) без риска для хост-системы.
Ключевые детали из источника
- Используемая модель:
Qwen3.6-35B-A3B_MTP-UD-Q8_K_XL.ggufс MTP-спекультивным декодированием - Флаги сервера:
--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 - Стек изоляции: Firejail + smolvm (Alpine Linux VM) + выделенный пользователь Linux для выполнения инструментов
Пошаговая настройка
- Включите инструменты в llama-server: запустите с
--tools get_datetime,exec_shell_command(сначала протестируйте сget_datetime) - Установите Firejail (например,
sudo pacman -S firejailна Arch) - Создайте изолированного пользователя:
sudo useradd -m vmagents; sudo passwd vmagents - Переключитесь на
vmagentsи установите smolvm:curl -sSL https://smolmachines.com/install.sh | bash - Создайте минимальную Alpine VM:
smolvm machine create minivm --image alpine --net
smolvm machine start --name minivm - Создайте
minivm-execв~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
Сделайте исполняемым:chmod +x minivm-exec - Создайте
vm-execв папке~/.local/bin/вашего пользователя:
#!/bin/sh sudo su - vmagents -c "minivm-exec $*"
Сделайте исполняемым. - В веб-интерфейсе llama-server попросите модель использовать обёртку
vm-exec, например:
Добавьте sandboxing-обёртку vm-exec перед каждой командой. Используйте wget для загрузки веб-страниц с опцией "-U Mozilla" в качестве строки User-Agent.
Затем попросите её загрузить живой URL и проанализировать содержимое.
Как работает изоляция
Команды выполняются внутри временной Alpine Linux VM (minivm), созданной smolvm, которая сама по себе обёрнута в песочницу Firejail. Это изолирует сетевой доступ, файловую систему и пространство процессов. Скрипт vm-exec на хосте запускает всю цепочку от имени пользователя vmagents, предотвращая доступ к домашней директории хост-пользователя или критическим системным файлам. Виртуальная машина останавливается после каждой команды, не оставляя постоянного состояния после вредоносных действий.
Для кого это
Для разработчиков, запускающих локальные LLM-серверы и желающих безопасно разрешить выполнение кода или загрузку веб-страниц через инструменты-агенты, не подвергая хост-ОС риску.
📖 Читать полный источник: r/LocalLLaMA
👀 Смотрите также

Обновление OpenClaw v2.0: Критический контрольный список перед обновлением для предотвращения критических изменений
Последнее обновление OpenClaw включает 12 критических изменений, новую систему плагинов и более 30 исправлений безопасности. В этом руководстве описаны пять важных проверок, которые необходимо выполнить перед обновлением, включая переименование переменных окружения, миграцию каталога состояния и перенастройку автоматизации браузера.

Отладка тайм-утов OpenClaw + Ollama (локальная модель): пять решений для тихих сбоев
Разработчик определил пять основных причин беззвучных таймаутов агентов OpenClaw с локальными моделями Ollama, такими как Gemma 4 26B, включая блокирующий генератор слагов, системный промпт на 38 тысяч символов и скрытые таймауты. Исправления включают отключение хуков, изменение конфигураций и настройку параметров Ollama.

Карты потока: обучение интегралу диффузионной модели для ускоренной выборки
Сандер Дилеман объясняет карты потоков — нейронные сети, которые напрямую предсказывают интеграл ОДУ диффузионной модели, обеспечивая более быструю семплировку, обучение на основе вознаграждения и управляемость.

Интеграция OpenClaw с WhatsApp Cloud API
Разработчик настроил OpenClaw для прямого взаимодействия с WhatsApp через официальный облачный API Meta и задокументировал процесс настройки, чтобы помочь другим избежать разрозненной документации.