概要
microsandbox は、信頼できないユーザーやAI生成コードを安全かつ高速に実行するための 超軽量仮想化環境 を提供。 microVM による堅牢な分離、 200ms未満の即時起動、 自己ホスト型 の柔軟性を実現。 OCI対応 で標準コンテナイメージ利用可能、 AI統合 も容易。 SDK・プロジェクト管理機能 で開発・運用が効率化。 多様なユースケースに最適な セキュリティと利便性 を両立。
microsandboxとは?
- 信頼できないコード (AI生成、ユーザー投稿、実験用コードなど)の安全な実行基盤
- 従来手法の課題
- ローカル実行: 悪意あるコードでシステム全体が危険
- コンテナ: カーネル共有による高度な攻撃リスク
- 従来VM: 10秒以上の起動遅延で生産性低下
- クラウド: 柔軟性や独立性に欠ける
- microsandboxの特徴
- microVMによる真の分離 とセキュリティ
- 200ms未満の高速起動 で即時利用
- 自己ホスト でインフラ完全管理
- OCI準拠 で標準コンテナイメージ対応
- MCP対応 でAIツールとの連携が容易
SDK クイックスタート
-
サーバー起動
- インストール:
curl -sSL https://get.microsandbox.dev | sh - サーバー起動:
msb server start --dev - MCPサーバーとして Claude・Agno等 のAIツールと連携可能
- 必要に応じてイメージ取得:
msb pull microsandbox/python
- インストール:
-
SDKインストール
- Python:
pip install microsandbox - JavaScript:
npm install microsandbox - Rust:
cargo add microsandbox - 他言語SDKも順次拡充中
- Python:
-
コード実行例
- Python
import asyncio from microsandbox import PythonSandbox async def main(): async with PythonSandbox.create(name="test") as sb: exec = await sb.run("name = 'Python'") exec = await sb.run("print(f'Hello {name}!')") print(await exec.output()) # Hello Python! asyncio.run(main()) - JavaScript
import { NodeSandbox } from "microsandbox"; async function main() { const sb = await NodeSandbox.create({ name: "test" }); try { let exec = await sb.run("var name = 'JavaScript'"); exec = await sb.run("console.log(`Hello ${name}!`)"); console.log(await exec.output()); // Hello JavaScript! } finally { await sb.stop(); } } main().catch(console.error); - Rust
use microsandbox::{SandboxOptions, PythonSandbox}; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let mut sb = PythonSandbox::create(SandboxOptions::builder().name("test").build()).await?; let exec = sb.run(r#"name = "Python""#).await?; let exec = sb.run(r#"print(f"Hello {name}!")"#).await?; println!("{}", exec.output().await?); // Hello Python! sb.stop().await?; Ok(()) } - 初回起動時はイメージ取得のため時間がかかるが、以降は高速実行
- Python
プロジェクト管理機能
-
パッケージマネージャ風ワークフロー
msb initで Sandboxfile 作成・環境定義msb add app --image python --cpus 1 --memory 1024 --start 'python -c "print(\"hello\")"'- appという名のsandboxをSandboxfileに登録
- Sandboxfile例
sandboxes: app: image: python memory: 1024 cpus: 1 scripts: start: python -c "print(\"hello\")" msb run --sandbox appまたはmsr appでsandbox起動- プロジェクト内のsandboxは ./menvに永続化、再起動しても状態維持
-
一時的なsandbox実行
msb exe --image pythonまたはmsx python- 実験・単発用途に最適、終了時に完全削除
-
システムワイドなsandboxインストール
msb install --image alpineまたはmsi alpine- 任意のターミナルからsandbox名で即起動
msi alpine:20250108 slim-linuxのように 複数インスタンス管理 や 用途別命名 が可能- インストール済みsandboxは 状態維持、毎回同じ作業環境
主なユースケース
-
コーディング・開発環境
- AIエージェントが本格的な開発ツールでアプリ構築
- Git操作・依存管理・テストまで 完全分離環境 で安全実行
- ミリ秒単位の起動 で高速フィードバック
- AIペアプログラミング、教育、コード自動生成基盤
-
データ分析
- AIによる 安全なデータ処理・分析・レポート生成
- NumPy・Pandas・TensorFlow等の強力ライブラリ利用
- プライバシー重視の金融・医療・研究用途
-
Webブラウジングエージェント
- AIによる 安全なWeb自動操作・データ抽出
- 価格比較、調査、フォーム自動入力など
- テスト・自動化・情報収集ツール基盤
-
即時アプリホスティング
- AIが生成したツール・プロトタイプを 即座に共有・公開
- ゼロセットアップ、 自動リソース管理・クリーンアップ
- 教育・デモ・ユーザー向け即時価値提供
サーバーアーキテクチャ概要
- クライアント側
- ビジネスロジック→microsandbox SDK
- サーバー側
- microsandbox serverが 信頼できないコードをmicroVMで実行
- microVMごとに Python/Node等の独立環境 を提供
開発・ライセンス
- 開発参加歓迎
- セットアップ・ビルド・テスト・リリース方法はDevelopment Guide参照
- 貢献ガイドラインはCONTRIBUTING.md
- ライセンス
- Apache License 2.0 採用
- GitHub Star History
- 多くの支持・成長を記録
microsandbox は、AI時代の 安全・高速・柔軟なコード実行基盤 として、開発者・AIエージェント・自動化ツールに最適な選択肢。