サンドボックスによる隔離
Agentino におけるサンドボックスの階層構造と、安全性を担保する分離の仕組みを説明します。 安全にコードを実行するための信頼クラスの分け方や、ホスト環境との隔離機構について確認できます。
二段のサンドボックス
Agentino のサンドボックスは、二つの段で構成されます。
- Workflow 全体: AOP からコンパイルされたコード(AI が生成した任意のコード)を実行する環境
- 内側の Fs / Shell: エージェントが呼ぶファイル操作やコード実行を行う環境
どちらの段も、ホストから隔離された環境で動作します。
ホスト側が認証情報を保持し、サンドボックス内には認証情報そのもの(トークンや API キーの値)が入りません。
ただし、GitHub 接続を登録したプロジェクトでは、内側の段の workspace プロファイルに、基盤の Broker を通してだけ使える暗号化された値が入ります。
詳しくは認証情報の保護を参照してください。
信頼クラスの分離
サンドボックスは、ネットワーク到達性に応じて二つの信頼クラスに分かれます。
- Broker 到達クラス: 基盤の Broker に届く環境で、Git 操作などを行います
- 隔離クラス: 出入りをすべて拒否する環境で、PDF の読み取りやコード実行などを行います
隔離クラスが Broker に接続できると、AI が生成したコードが基盤を迂回して認証情報を行使できるため、この分離は不変条件です。
カーネルレベルの分離
サンドボックスは、Host Machine やほかのテナント、ほかのユーザーから、カーネルレベルで分離されます。 これにより、サンドボックス内で何が起きても、ホストやほかのテナントに影響が及ぶことはありません。
