コンテンツにスキップ
Dev Classmethod Jp Smolvm Llm

マイクロVM「smolvm」でLLMが生成したコードをOCIイメージごと安全に動かしてみる

  • URL: https://dev.classmethod.jp/articles/smolvm-llm/
  • 日付: 2026-06-07
  • Tier: Tier 3
  • 要旨: Rust製マイクロVM実行エンジン「smolvm」を使い、LLMが生成したコードをOCIイメージごとハードウェアレベルで隔離された環境で安全に実行する方法を実測付きで紹介。Dockerコンテナ(OSレベル分離)とFirecracker VM(125ms以下)の中間に位置し、200ms未満で起動しながらHWレベルの分離を実現する。

詳細

smolvmの主な特徴

  • HWレベル隔離(ハイパーバイザ境界)、200ms未満起動、Dockerデーモン不要
  • デフォルトでネットワークOFF(--netで明示許可)、OCI互換イメージをそのまま利用可能
  • smolvm packでOCIイメージをVM実行バイナリとともにパッケージ化し、Dockerレジストリなしで配布・起動可能

実測値

  • machine run --image python:3.12(毎回pullあり): 約37〜40秒
  • pack run(2回目以降): 約3秒(10倍以上高速化)

用途の棲み分け

  • Dockerの代替ではなく「信頼できないコードを安全に動かすサンドボックス」として設計
  • macOSでは常駐VMなしにHypervisor.frameworkを直接利用

LLM生成コード実行への応用

  • デフォルトのネットワーク遮断設計により、信頼できないコードの外部通信リスクを低減
  • smolvm pack化すれば完全オフライン環境でも動作可能