Linuxでマルチサンドボックスを用いてllama.cppネイティブツール(exec_shell_command)を安全に実行する方法

✍️ OpenClawRadar📅 公開日: June 7, 2026🔗 Source
Linuxでマルチサンドボックスを用いてllama.cppネイティブツール(exec_shell_command)を安全に実行する方法
Ad

llama.cppプロジェクトは最近、llama-serverにネイティブツールサポートを追加し、モデルがget_datetimeや、強力だが危険なexec_shell_commandのような関数を呼び出せるようになりました。Redditユーザーが、ホストシステムを危険にさらすことなく、Web RAG(ライブURLの取得)などのタスクにexec_shell_commandを安全に使用するための詳細なマルチサンドボックス化ワークフローを共有しています。

ソースからの主な詳細

  • 使用モデル: 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をインストール(例:Archでは sudo pacman -S firejail
  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. ~vmagents/.local/bin/minivm-execを作成:
    #!/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. 自分のユーザーの~/.local/bin/vm-execを作成:
    #!/bin/sh
    sudo su - vmagents -c "minivm-exec $*"
    実行可能にする。
  8. llama-server Web UIで、モデルにラッパーとしてvm-execを使用するよう指示。例:
    実行するコマンドの前にサンドボックスラッパーvm-execを付けてください。Webコンテンツを取得するにはwgetを使用し、ブラウザのユーザーエージェント文字列としてオプション"-U Mozilla"を追加してください。
    次に、ライブURLを取得して内容を分析するよう依頼します。

サンドボックス化の仕組み

コマンドは、smolvmが作成した一時的なAlpine Linux VM(minivm)内で実行され、さらにそのVM自身がFirejailサンドボックスでラップされています。これにより、ネットワークアクセス、ファイルシステム、プロセス空間が隔離されます。ホスト上のvm-execスクリプトが、vmagentsユーザーとしてチェーン全体を起動し、ホストユーザーのホームディレクトリや重要なシステムファイルへのエスカレーションを防ぎます。各コマンドの実行後にはVMが停止されるため、悪意のあるアクションによる永続的な状態が残りません。

こんな方におすすめ

ローカルでLLMサーバーを実行し、ホストOSを危険にさらすことなくエージェンティックツールによるコード実行やWeb取得を安全に許可したい開発者向け。

📖 全文を読む: r/LocalLLaMA

Ad

👀 See Also

🦀
Guides

5マイクロ秒でJITコンパイル:Postgres pgrust用の高速JITの構築

pgrustのJITコンパイラはSQLクエリを約5μsでコンパイルし、すべてのクエリにJITを可能にします。著者は、AI支援によるアセンブリターゲティングが高速JITを実用的にする方法を説明しています。

OpenClawRadar
AGENTS.mdを正しく使う:正確性が25%向上するか、30%低下するか
Guides

AGENTS.mdを正しく使う:正確性が25%向上するか、30%低下するか

Augment CodeがAGENTS.mdファイルを直接比較テストした結果、最良のものはHaikuからOpusへのモデルアップグレードに匹敵する効果をもたらし、最悪のものは出力を悪化させることがわかりました。決定表、手続き的ワークフロー、段階的開示が効果的です。

OpenClawRadar
開発チームのための実践的Claudeコードワークフロー
Guides

開発チームのための実践的Claudeコードワークフロー

RedditユーザーがClaude Codeのベストプラクティスに関する内部プレゼンテーションを共有。モデル選択、構造化されたワークフロー、出力品質を向上させる具体的なプロンプト技術などを含む。

OpenClawRadar
エージェントスキルの安全性評価:導入前の重要な考慮事項
Guides

エージェントスキルの安全性評価:導入前の重要な考慮事項

新しいエージェントスキルをインストールすることで機能が向上する一方、リスクも伴います。システムを保護するために、これらのスキルの安全性を評価する方法を学びましょう。

OpenClawRadar