Plimsoll logo

Plimsoll

開く

エージェント生成コード向けのオープンソース・サンドボックス。実際の隔離レベルを返し、最低レベルを強制し、API 認証情報を実行環境の外に保ちます。

共有:
代替ツールを見る

Plimsoll

Plimsoll は、AI エージェントが書いたコードなどの信頼できないコードを実行するための Apache-2.0 オープンソース・サンドボックスサービスです。単に実行環境を「サンドボックス」と呼ぶのではなく、各結果が実際に使われた隔離レベルを返し、呼び出し側が実行前に最低許容レベルを指定できます。プロジェクトは弱い順に process、container、kernel、vm を定義しています。現在のバックエンドが指定した下限に届かないときは、弱い設定で黙って実行せず、実行前に拒否します。

主な機能

  • 実際の隔離レベルを報告: 実行ごとにプロバイダーとレベルが返ります。デーモンは起動時に設定を検査し、クライアントも結果を再確認できます。
  • 複数の実行バックエンド: ローカルの QuickJS WebAssembly は開発向けです。Docker では runc または gVisor を使え、E2B と Docker Cloud Sandboxes は VM ベースの選択肢を提供します。実際の境界は選んだバックエンドと設定に依存します。
  • 認証情報ブローカーと許可: 実行は明示的に許可された API ルートだけをブローカー経由で呼び出せます。ブローカーはサンドボックスの外で実行ごとの認証情報を付与するため、コードは元の API キーも無制限のネットワークも受け取りません。
  • 実行記録: リクエストと結果にはハッシュが付きます。別プログラムの plimsoll-attest は検証済みの記録へ署名し、欠けたリンクを拒否し、実行を再生できます。
  • エージェントフレームワークとの接続: 公式リポジトリは Vercel AI SDK、Google ADK、Agno、CrewAI、Trigger.dev、Mastra 向けのパッケージまたはガイドと、MCP 向けの配置パターンを記載しています。

実用的な使い方

まず、エージェントに小さな変換またはテストを実行させます。go run ./examples/minimal はデーモンも認証情報も不要な最初の例ですが、公式に process レベルとされ、悪意あるコードへの境界にはなりません。信頼できないコードには Docker + gVisor か VM プロバイダーを設定し、呼び出し側で最低隔離レベルを指定し、必要な API ルートだけを許可します。返されたレベルと実行記録をエージェントの出力と一緒に保存し、意図的に禁止リクエストも試して、本番投入前に拒否されることを確認してください。

料金と制約

Plimsoll 自体は無償でセルフホスト可能な Apache-2.0 ソフトウェアです。公式のホスト型料金表はありません。費用は Docker ホスト、E2B、Docker Cloud Sandboxes などの選択した基盤と、エージェントが使うモデルや API サービスで発生します。vm レベルが無料とは限らず、ローカル Docker を VM 隔離とみなすべきでもありません。

比較

E2B は microVM サンドボックスのホスト型 SDK です。Plimsoll は E2B を使えますが、最低レベル契約、許可、実行記録の扱いを追加します。OpenSandbox は汎用サンドボックスプロトコルとランタイムを提供します。Plimsoll はより狭い範囲で、呼び出し側に実行境界とその証拠を見せることに集中しています。

リスクと次の手順

保守者は Plimsoll を pre-1.0、単一作者、第三者セキュリティ監査未実施で、破壊的変更があり得ると明記しています。報告されるレベルはプロバイダーの証拠であり、ハードウェアの証明ではありません。特にファイルやインタープリター状態を保持するセッションでは、ポリシーとバックエンド設定をセキュリティレビューの対象にしてください。getting-started ガイドを読み、拒否パスを一度試してから、機密コードや認証情報を扱うエージェントへ接続するのが安全です。

FAQ

Plimsoll だけで信頼できないコードは安全になりますか?

いいえ。設定済みの境界を報告し強制しますが、実際の保護はプロバイダー、ポリシー、ホスト、脅威モデルに依存します。ローカルの process プロバイダーは悪意あるコード向けではないと公式が明記しています。

エージェントは API キーを見ずに API を呼べますか?

はい。許可とブローカーのルートを設定すると、ブローカーがサンドボックス外で実行ごとの認証情報を付与します。許可に含まれないルートは通りません。

これはエージェントフレームワークですか?

いいえ。エージェントフレームワークから呼び出す実行基盤であり、モデル、プランナー、人によるレビューを置き換えません。

コメント

まだコメントがありません。最初のコメントを投稿してください!