AIエージェント向けのフォーク型microVMサンドボックス。起動済みのFirecracker親VMから子VMをcopy-on-writeで作成し、KVMで分離。実行中VMのライブBRANCHにも対応。
jingkaihe/matchlock
ネットワークの許可リストとホスト側からのシークレット注入に対応した、AIエージェントを一時的なmicroVMで実行するLinuxベースのCLI。
- スター
- 644
- フォーク
- 38
- 未解決の Issue
- 3
- 最終コミット
- 20 日前
これは何?
Matchlockは、破棄可能なmicroVM内でAIエージェントを実行するコマンドラインツールです。各サンドボックスは1秒未満で起動する完全なLinux環境で、ホストマシンに触れることなく、エージェントがパッケージをインストールしたりファイルを書き込んだりできます。実行が終わるとVMは破棄され、ボリュームのオーバーレイマウントも分離されたスナップショットとして、実行後に消去されます。
--allow-hostまたは--secretを指定すると、ネットワークアクセスはデフォルトで制限され、明示的に列挙したホストにのみ接続できます。シークレットはホスト上のTLS MITMプロキシ経由で注入されるため、サンドボックスから見えるのはプレースホルダー値だけで、実際の認証情報がVMに入ることはありません。また、ポートフォワーディング付きの長時間稼働サンドボックス、VM内のBuildKitを使ったDockerfileからのイメージ構築、Go、Python、TypeScriptのSDKにも対応しています。
LinuxではKVM、Apple Silicon搭載のmacOSでは同じCLIで動作します。このプロジェクトは実験的な段階にあり、互換性を損なう変更が入る可能性があります。
主な機能
- 011秒未満で起動する一時的なmicroVM内でエージェントを実行します。
- 02ネットワークアクセスを許可リストで制限し、列挙されたホストにのみ接続できるようにします。
- 03ホスト側のTLS MITMプロキシ経由でAPIキーを注入するため、シークレットがVMに入ることはありません。
- 04exec、attach、ポートフォワーディングに対応した長時間稼働サンドボックスを利用できます。
- 05VM内のBuildKitを使ってDockerfileからイメージを構築します。
- 06Go、Python、TypeScriptのSDKを提供します。
ユースケース
- ホストマシンを危険にさらすことなく、AIコーディングエージェントに任意のコードを実行させる。
- キーをサンドボックス内に置かずに、エージェントのコードからサードパーティのLLM APIを呼び出す。
- 外部への通信が制限された破棄可能なLinux環境で、信頼できないスクリプトを実行する。
- SDKを通じて、アプリケーションに分離されたコード実行機能を組み込む。
クイックスタート
- 1
Homebrew リポジトリをタップします
brew tap jingkaihe/essentials - 2
Homebrew で matchlock をインストールします
brew install matchlock - 3
一時的な microVM でテストコマンドを実行します
matchlock run --image alpine:latest cat /etc/os-release
使う前に知っておきたいこと
- このプロジェクトは実験的なもので、互換性を損なう変更が行われる場合があります。
- Linux(KVM 使用)と Apple Silicon 搭載の macOS のみをサポートしています。
- Linux では、ホストのセットアップに sudo matchlock setup linux の実行が必要な場合があります。
収録されている特集
トピック
よくある質問
- matchlock とは?
- ネットワークの許可リストとホスト側からのシークレット注入に対応した、AIエージェントを一時的なmicroVMで実行するLinuxベースのCLI。 Matchlockは、破棄可能なmicroVM内でAIエージェントを実行するコマンドラインツールです。各サンドボックスは1秒未満で起動する完全なLinux環境で、ホストマシンに触れることなく、エージェントがパッケージをインストールしたりファイルを書き込んだりできます。実行が終わるとVMは破棄され、ボリュームのオーバーレイマウントも分離されたスナップショットとして、実行後に消去されます。
- matchlock は無料で使えますか?ライセンスは?
- matchlock は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- matchlock は今もメンテナンスされていますか?
- 活発にメンテナンス中。matchlock の最終コミットは 2026年10月4日 です。
- matchlock は何に使えますか?
- ホストマシンを危険にさらすことなく、AIコーディングエージェントに任意のコードを実行させる。 キーをサンドボックス内に置かずに、エージェントのコードからサードパーティのLLM APIを呼び出す。 外部への通信が制限された破棄可能なLinux環境で、信頼できないスクリプトを実行する。 SDKを通じて、アプリケーションに分離されたコード実行機能を組み込む。
- matchlock のインストール方法は?
- Homebrew リポジトリをタップします: brew tap jingkaihe/essentials Homebrew で matchlock をインストールします: brew install matchlock 一時的な microVM でテストコマンドを実行します: matchlock run --image alpine:latest cat /etc/os-release
- matchlock はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/jingkaihe/matchlock
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
HTTP APIで制御する、Firecracker microVM内でエージェントやユーザーのコードを隔離実行するサンドボックス基盤。
Firecracker microVMとコンテナを単一のLinux CLI実行ファイルにまとめるツール。
信頼できないコードを軽量なVMサンドボックスで実行する、CLI・HTTP API・Python SDKで操作可能なKubernetesベースのセルフホスト型基盤。
コンテナを使わず、OSレベルで任意のプロセスのファイルシステムとネットワークへのアクセスを制限する軽量なCLI兼ライブラリ。
OpenVMMとLinuxゲストを基盤に、ハードウェアで隔離された超軽量マイクロVMサンドボックスで、信頼できないワークロードを実行します。