pydantic/monty

A minimal, secure Python interpreter written in Rust for use by AI

何を解決するか

Monty は、AI モデルによって生成された Python コードを安全かつ効率的に実行するための高パフォーマンスで安全なサンドボックスを提供します。重いコンテナ、仮想マシン、または外部のサンドボックスサービスの必要性を排除し、起動やコマンド実行時に大きな遅延が発生する問題を解消します。

動作方法

Rust で書かれた Monty は、Python インタープリタ VM であり、VM 内部でメモリ、実行時間、再帰の制限を直接強制します。ファイルシステム、環境変数、ネットワークへのアクセスはデフォルトで不可です。サンドボックスは、特定の関数とマウントを通じてホストシステムとやり取りするのみで、AI 生成コードが不正なホストリソースにアクセスできないようにします。

対象ユーザー

スケールして安全かつ効率的に AI 生成された Python コードを実行できる AI エージェントやアプリケーションを開発する開発者。

特徴

  • 超低遅延: Docker やサンドボックスサービスと比べて、約 5ms で起動・コマンド実行が可能(数百〜数千ミリ秒かかる場合と比較)。
  • 状態の永続化: 一時停止されたインタープリタはバイト列にシリアライズでき、後で再開可能。
  • 多言語サポート: Python、JavaScript/TypeScript、Rust 用の公式バインディングを提供。
  • 厳格な隔離: サンドボックス内では、ファイルシステム、ネットワーク、環境変数へのネイティブアクセスが禁止されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト