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

✍️ OpenClawRadar📅 Опубликовано: 7 июня 2026 г.🔗 Source
Как безопасно запускать нативные инструменты llama.cpp (exec_shell_command) с мульти-песочницей на Linux
Ad

Проект 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 для выполнения инструментов
Ad

Пошаговая настройка

  1. Включите инструменты в llama-server: запустите с --tools get_datetime,exec_shell_command (сначала протестируйте с get_datetime)
  2. Установите Firejail (например, sudo pacman -S firejail на Arch)
  3. Создайте изолированного пользователя: sudo useradd -m vmagents; sudo passwd vmagents
  4. Переключитесь на vmagents и установите smolvm: curl -sSL https://smolmachines.com/install.sh | bash
  5. Создайте минимальную Alpine VM:
    smolvm machine create minivm --image alpine --net
    smolvm machine start --name minivm
  6. Создайте 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
  7. Создайте vm-exec в папке ~/.local/bin/ вашего пользователя:
    #!/bin/sh
    sudo su - vmagents -c "minivm-exec $*"
    Сделайте исполняемым.
  8. В веб-интерфейсе 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

Ad

👀 Смотрите также

Обновление OpenClaw v2.0: Критический контрольный список перед обновлением для предотвращения критических изменений
Гайды

Обновление OpenClaw v2.0: Критический контрольный список перед обновлением для предотвращения критических изменений

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

OpenClawRadar
Отладка тайм-утов OpenClaw + Ollama (локальная модель): пять решений для тихих сбоев
Гайды

Отладка тайм-утов OpenClaw + Ollama (локальная модель): пять решений для тихих сбоев

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

OpenClawRadar
Карты потока: обучение интегралу диффузионной модели для ускоренной выборки
Гайды

Карты потока: обучение интегралу диффузионной модели для ускоренной выборки

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

OpenClawRadar
Интеграция OpenClaw с WhatsApp Cloud API
Гайды

Интеграция OpenClaw с WhatsApp Cloud API

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

OpenClawRadar