Как безопасно запускать нативные инструменты 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

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

Исправления вызова инструментов Qwen 3.5 для агентского использования: статус сервера и обходные решения на стороне клиента
Гайды

Исправления вызова инструментов Qwen 3.5 для агентского использования: статус сервера и обходные решения на стороне клиента

Подробный анализ выявляет четыре ошибки, которые нарушают работу вызова инструментов Qwen 3.5 в агентских настройках, отслеживает исправления серверов по состоянию на апрель 2026 года и предоставляет клиентскую функцию на Python для парсинга XML-вызовов инструментов при сбоях серверов.

OpenClawRadar
5 распространенных ошибок настройки OpenClaw и как их исправить
Гайды

5 распространенных ошибок настройки OpenClaw и как их исправить

Практические решения пяти самых распространенных ошибок при настройке OpenClaw: отсутствие постоянной памяти, отсутствие исходящего доступа, перегруженный системный промпт, отсутствие поведения при ошибке и использование только одной модели.

OpenClawRadar
Opus 4.7 испортил 40% запросов; исправлением стало структурирование CLAUDE.md и навыков
Гайды

Opus 4.7 испортил 40% запросов; исправлением стало структурирование CLAUDE.md и навыков

После того как Opus 4.7 ухудшил ~40% промптов в 6 настройках, фракционный руководитель по ИИ исправил это, заменив ad-hoc промпты структурированными файлами Skill, иерархическим CLAUDE.md и отдельными файлами памяти — сократив использование токенов на 22% и количество итераций с 3–4 до 1–2.

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

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

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

OpenClawRadar