Microsandbox が安全なコード実行のための300ms以下のVM起動時間を約束

BigGo Editorial Team
Microsandbox が安全なコード実行のための300ms以下のVM起動時間を約束

Microsandbox と呼ばれる新しいサンドボックスプラットフォームが登場し、安全なコード実行における最大の課題の一つである仮想マシンの起動時間を解決すると主張している。従来のVMは起動に5-10秒かかることがあるが、Microsandbox は軽量仮想化技術を使用して300ミリ秒以下の起動時間を約束している。

このプロジェクトは、信頼できないコードを安全に実行するという AI および開発コミュニティの高まるニーズに対応している。ユーザー生成スクリプト、AI エージェントのコード実行、実験的データ処理など、開発者は長い間、セキュリティと速度のトレードオフに苦労してきた。コードをローカルで実行するとセキュリティリスクが生じ、コンテナは巧妙な攻撃者によって脱出される可能性があり、従来のVMは起動時間の遅さで生産性を損なう。

パフォーマンス比較:

  • 従来の VM :起動時間5-10秒
  • Microsandbox :起動時間300ms未満
  • アイドルタイムアウト:500秒
  • 技術: Firecracker / libkrun をベースに構築
Microsandbox の GitHub リポジトリを探索することで、その基盤となるコードアーキテクチャと貢献の機会が明らかになる
Microsandbox の GitHub リポジトリを探索することで、その基盤となるコードアーキテクチャと貢献の機会が明らかになる

技術アーキテクチャと速度の主張

Microsandbox は Amazon の Firecracker microVM プラットフォームと同じ技術をベースに構築し、macOS を含むクロスプラットフォームサポートのために libkrun というツールを使用することで速度向上を実現している。システムは初期化されたVM状態を保存し、毎回完全な起動シーケンスを実行するのではなく、それらをメモリにロードする。

コミュニティの議論では、従来のVMの起動が遅い理由について興味深い技術的詳細が明らかになっている。遅延は単にオペレーティングシステムの起動だけでなく、最初の BIOS 命令が実行される前のハイパーバイザー自体に大きなオーバーヘッドがある。これには、メモリ割り当て、仮想CPU初期化、デバイス列挙、メモリページのゼロ化などのセキュリティプロセスが含まれる。

開発者エクスペリエンスとユースケース

このプラットフォームは、SDK統合と Sandfiles(Docker のアプローチに似ているがVM用の設定ファイル)を通じたプロジェクトベースの開発の両方を提供している。開発者はサンドボックスをシステムコマンドとしてインストールでき、単一のコマンドで任意のターミナルから利用可能にできる。これは、既存の microVM ソリューションのより広い採用を妨げてきた摩擦に対処している。

作成者は、Microsandbox が特に AI 構築者をターゲットにしており、Kata Containers や Cloud Hypervisor などの既存ソリューションと比較してより簡単なセットアップを提供していることを強調している。このプラットフォームは Python、JavaScript、Rust、Go 用のSDKを通じて複数のプログラミング言語をサポートし、追加の言語サポートも計画されている。

サポート対象プラットフォームと言語:

  • プラットフォーム: Linux 、 macOS ( libkrun 経由)、 Windows (開発中)
  • SDK 言語: Python 、 JavaScript/Node.js 、 Rust 、 Go
  • コンテナ互換性: 標準コンテナイメージと OCI 互換

セキュリティとネットワーク制御

セキュリティを重視するアプリケーションのために、Microsandbox はスコーププロパティを通じてネットワーク制限を含み、VMアクセスをパブリックIPアドレスのみに制限し、ローカルネットワークリソースへのアクセスを防ぐことができる。この機能は、分散テストネットワークやその他のセキュリティセンシティブなアプリケーションを構築する開発者の懸念に対処している。

このプラットフォームは、コンテナのような使いやすさを提供しながら真のVM分離を維持している。各サンドボックスは、特定のメモリ制限、CPU割り当て、さらにはデータ分析や機械学習ワークロードなどの計算集約的なタスクのためのGPUアクセスで設定できる。

主要機能:

  • Intel ハードウェア分離による真の VM 分離
  • セキュリティのためのネットワークスコープ制限
  • Sandfiles を使用したプロジェクトベースの開発
  • システムコマンドインストール機能
  • メモリ、 CPU 、および GPU リソース割り当て
  • マルチステージビルドサポート(開発中)

現在の制限と将来の計画

有望ではあるが、このプラットフォームはまだ開発中である。Windows サポートは作業中であり、VM内でのGUIサポートは計画されているがまだ実装されていない。このプロジェクトは現在、デスクトップ環境ではなくコマンドラインアプリケーションとサーバーワークロードに焦点を当てている。

このオープンソースプロジェクトは Apache-2.0 ライセンスの下で運営され、コミュニティの貢献を歓迎している。安全な AI コード実行の需要が高まる中、Microsandbox のようなツールは、信頼できないコードを安全かつ迅速に実行する必要がある次世代の AI 駆動アプリケーションにとって不可欠なインフラストラクチャになるかもしれない。

参考: microsandbox/microsandbox: Secure Platform for Naturally Executing Untrusted or Malicious Code