概要
「AIに任せたら重要なファイルを消してしまった」という話は以前から聞きますし、最近も見かけました。かといってサンドボックスを付けると、必要な処理までできなくなることも多いです。
もう少し細かく、「ワークスペース外でもこのフォルダは使ってよい。ただし、UserProfileへの書き込み・削除は禁止」といった設定をしたくなります。
それをやってくれるのが、まだプレビュー版ですが MXC です。
これを実験してみました。今回はWindowsで、最もシンプルで汎用性が高そうなプロセス単位の制御です。
注意:パブリックプレビューなので、「今はこういう動作をした」と読んでください。今後に破壊的変更どころか機能やコンセプトまで変わることもあり得ます。
最初に結論まとめ
- MXCのプロセス単位制御だけで、OpenClaw+GitHub Copilotという構成でのファイルアクセスを許可・禁止出来ました
- まだプレビューのまま汎用サンドボックスSDKのように進化しつつあるようなので、楽しみです
説明
プロセス単位で制御する仕組み
MXCには、VM・コンテナ・プロセスなど、いろいろな入れ方があるらしいです。その中で今回試したのは、MXCプロセスから起動した子プロセスに対して制御をかける方式です。
「そんな仕組みがWindowsにあるの?」と思ったのですが、UWP・ストアアプリの方式に近いもののようです。
このプロセス単位の制御は、AIエージェントに割と汎用的に使えそうです。私が知っている範囲では、AIエージェントには、親プロセスが1つあって、そこからツールやサブエージェントを使うタイプが多いです。Codex CLIやGitHub Copilot CLIもそうです。
そのため、親プロセスから制御をかける方式なら、こうしたエージェントに汎用的に効きます。たぶんGUI付きのタイプにも効くと思います。
自由すぎて注意が必要とされるOpenClawも、メインの処理はGatewayプロセス部分で動いているので、そこに入れれば効くはずです。
JSONファイルでポリシーを指定する
MXCでは、JSONファイルでポリシーを与えて細かく制御できます。
ファイルシステムには、ReadWrite・ReadOnly・Denyの指定があります。対応する項目は次のとおりです。
readwritePaths?: string[];
readonlyPaths?: string[];
deniedPaths?: string[];
これらでパスごとに許可や禁止を指定できます。ファイルシステム以外にも、ネットワークやクリップボードなどの制御があります。
OpenClawで試した結果
実際にOpenClawで使ってみたところ、制御は効きました。OpenClawからGitHub Copilotにログインして使う構成を取ってみたのですが、Gatewayからの操作も、GitHub Copilotからの操作も、どちらも制御できました。
許可したパスへのRead/Writeは成功し、禁止したパスの削除は禁止されました。必要な読み書きを許可しつつ、禁止した場所での削除を止められた形です。
まだパブリックプレビューですが、完成が楽しみです
7月時点で試した時にここまでが試せて、プレビューとして実用性を見られる段階にありました。
その後の3ヶ月で、プロセス制御以外の方式も含めた、汎用サンドボックスSDKのようなものへ進化しているらしいです。ただし、それらはまだ試していません。
まだパブリックプレビューですが、完成が楽しみです。


