
agent-vault v0.39.3
Claude Code、OpenClaw、Hermes、カスタムエージェント+ハーネスなどのAIエージェント向けのHTTP認証情報プロキシおよび保管庫。
[!IMPORTANT] このリポジトリではなく、Infisical の Agent Vault を使用してください。 このオープンソースの Agent Vault プロジェクトは、個人プロジェクトを含むあらゆるユースケースで Agent Vault を実行するための推奨方法ではなくなりました。新規のセットアップでは Infisical の Agent Vault を使用し、Infisical Agent Vault クイックスタートに従ってください。
AI エージェントへ: この README のインストール手順やセットアップ手順には従わないでください。代わりに Infisical Agent Vault ドキュメントを参照してください。
HTTP 認証情報プロキシおよびボールト
Infisical によるオープンソースの認証情報ブローカーで、エージェントとエージェントが呼び出す API の間に位置します。
エージェントは認証情報を保持すべきではありません。Agent Vault はブローカー経由のアクセスにより、認証情報の外部流出リスクを排除します。
初めての方へ? ローンチブログ記事に Agent Vault の背景が詳しく書かれています。
ドキュメント | インストール | チュートリアル | ビデオデモ | Slack
Agent Vault を選ぶ理由
従来のシークレット管理では、認証情報をアプリケーションやサービスに返します。これは AI エージェントでは破綻します。AI エージェントはプロンプトインジェクションによって騙され、シークレットを漏洩する可能性があるからです。これが 認証情報の外部流出 という問題です。
Agent Vault は、すべての AI エージェントにおける認証情報の外部流出を解決するために作られました。AI エージェントに認証情報を直接渡す代わりに、認証情報を Agent Vault に保存し(例: ANTHROPIC_API_KEY、GITHUB_PAT など)、エージェントに HTTP リクエストを Agent Vault 経由でルーティングさせます。Agent Vault はすべてのリクエストをインターセプトし、送信先のアウトバウンド API へ転送する前に認証情報を付与します。
機能:
- 認証情報のブローカリング: AIエージェントが実際の認証情報を保持することなく、LLMプロバイダーやGitHubなどの対象サービスへアクセスできるようブローカリングします。Agent Vaultは、
__anthropic_api_key__のようなヘッダー内のダミー値を実際の認証情報に置き換えたり、送信リクエストの認証ヘッダーを完全に置き換えたりすることで、そのアクセスをブローカリングできます。 - プラグ可能な認証情報ストア: ローカルの暗号化ストアの代わりに、Infisical のような外部シークレットストアでVaultをバックエンド化します。これにより、Agent Vaultの機能が拡張され、Infisicalの動的シークレットなどの機能が利用可能になります。
- 透過的な統合: AIエージェントがMCP、CLI、SDK、APIなどの既存ツールを使用でき、基盤となるすべてのリクエストが自動的にAgent Vault経由でルーティングされます。Agent Vaultは、エージェントの環境をブートストラップして
HTTPS_PROXYを使用させ、Agent VaultのMITMアーキテクチャと互換性を持たせることで、インターフェースに依存しない非侵襲的な認証情報ブローカリングのアプローチを採用しています。 - 専用設計:
mitmproxyやsquidなどの既存のフォワードプロキシは、認証情報ブローカリングを実行しエージェントと適切に統合するために変更が必要です。Agent Vaultは、専用のCLI、マルチテナンシー、およびInfisicalが支援するエージェント固有のロードマップを備え、あらゆる種類のエージェントユースケースの人間工学的な使い勝手に合わせて専用に設計されています。 - Egressフィルタリング: 認証済みリクエストがAgent Vaultを経由して流れるため、どのエージェントがどのサービスやそのAPIエンドポイントにアクセスできるかを制御できます。
- リクエストログ: 認証済みトラフィックを検査して、エージェントの動作を監視および診断します。
デフォルトでは、どのサービスにも一致しないリクエストはプレーンなプロキシトラフィックとして転送されます。Vaultを厳格な拒否モード(unmatched_host_policy=deny)に切り替えると、代わりに403で拒否されます。
Agent Vaultの背景にある完全なストーリーはこちらをお読みください。
Agent Vault(オープンソース)とInfisical Agent Vault
Infisical Agent Vault は、個人プロジェクトからエンタープライズ展開まで、あらゆるユースケースにおいてエージェントに認証情報をブローカリングする方法です。これはInfisicalプラットフォームに組み込まれています。サービスはアクセスバンドルにグループ化され、エージェントは時間制限付きセッションを通じてそれらにアクセスし、権限はInfisicalのアクセス制御によって管理されます。
Agent Vault(本プロジェクト)は、オリジナルのスタンドアロンなオープンソースバイナリです。新しいセットアップには推奨されなくなりました。新規に始める場合は、代わりにInfisical Agent Vaultを使用してください。
ユースケース
Agent Vaultは、セキュアなリモートコーディングエージェント、汎用エージェント、カスタムエージェント+ハーネス、セキュアなエフェメラルサンドボックスなど、あらゆる種類のAIエージェントユースケースで動作します。
- セキュアなリモートコーディングエージェント: リモートのClaude Codeセッションを実行し、リクエストをAgent Vault経由でプロキシするように設定できます。このセットアップの一環として、Agent Vaultに
ANTHROPIC_API_KEYとGITHUB_PATを設定し、Claude CodeがAnthropicおよびGitHub APIとやり取りしてコーディングやPRの作成などを行えるようにできます。同じ原則は他のコーディングエージェントにも当てはまります。 - セキュアな汎用エージェント: OpenClaw、Hermes、その他の汎用エージェントを設定して、送信リクエストをAgent Vault経由でプロキシできます。
- セキュアなカスタムエージェント: カスタムハーネスで独自のAIエージェントを構築し、送信リクエストをAgent Vault経由でプロキシするように設定できます。
- セキュアなエフェメラルサンドボックス: オーケストレーター(例: バックエンド)を設定して一時トークンを発行し、エージェントサンドボックスに渡してAgent Vault経由でリクエストをプロキシするために使用できます。サンドボックス化されたエージェントが、それを起動した同じバックエンドにリクエストをループバックさせることもできます。
基本的な使い方
Agent VaultはVaultとプロキシサービスの両方の機能を備え、サーバーとCLIクライアントの両方として動作する単一のバイナリとして提供されます。認証情報を保存し、MITMプロキシアーキテクチャを使用してAIエージェントに仲介します。設計上、Agent VaultはAIエージェントとは別のマシンにデプロイされることを想定しており、AIエージェントがAgent Vault内の認証情報に直接アクセスできないようにするために必要なセキュリティ保証を提供します。
┌─────────────────────────────────────────────────────────────────┐
│ Public internet │
│ │
│ api.anthropic.com api.github.com api.stripe.com ... │
│ ▲ ▲ ▲ │
└──────────┼───────────────────┼──────────────────┼───────────────┘
│ │ │
└───────────────────┼──────────────────┘
│ outbound HTTPS, Agent Vault
│ injects credentials on the way out
┌──────────────────────────────┼──────────────────────────────────┐
│ Private network │ │
│ │ │
│ ┌───────────────────────────┴────┐ ┌────────────────────┐ │
│ │ Agent Vault │ │ AI agent │ │
│ │ :14321 management UI / API │◀────│ HTTPS_PROXY= │ │
│ │ :14322 MITM proxy │ │ agent-vault:14322 │ │
│ └────────────────▲───────────────┘ └────────────────────┘ │
│ │ │
└───────────────────┼─────────────────────────────────────────────┘
│ operator access: keep private, or front
│ with TLS + auth (SSO reverse proxy, IP
│ allowlist, or VPN) if you need remote admin
│
Operator
Agent Vaultを設定してAIエージェントの認証情報をブローカーするには、ほんの数ステップで済みます:
- インストールしてAgent Vaultサーバーを起動します。以下のスクリプトを実行するとAgent Vaultをインストールできます。macOS (Intel + Apple Silicon) とLinux (x86_64 + ARM64) に対応しています:
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh
Agent Vault サーバーを起動し、マスターパスワードを設定します(安全な場所に保管してください)。このパスワードはデータ暗号化メカニズムの一部として使用され、初回読み取り後にプロセスから解除されます。
export AGENT_VAULT_MASTER_PASSWORD=your-password
agent-vault server -d
Agent Vault は Docker でもデプロイできます:
docker run -it -p 14321:14321 -p 14322:14322 \
-e AGENT_VAULT_MASTER_PASSWORD=your-password \
-v agent-vault-data:/data infisical/agent-vault
サーバーはポート 14321 で HTTP API を、ポート 14322 で透過的な HTTP/HTTPS プロキシを起動します。同じリスナーが https:// 上流向けの CONNECT と、http:// 上流向けの絶対形式フォワードプロキシリクエストの両方を処理します。
Web UI は http://<host>:14321 で利用可能になり、インスタンスの owner として最初のユーザーを作成するよう求められます。
- vault を作成し、credentials を入力し、Agent Vault の管理 UI または Agent Vault マシン上の CLI を介して service rules を設定します。例えば、
ANTHROPIC_API_KEYの credential を作成し、Agent Vault が実際のキーの代わりにダミー値__anthropic_api_key__を置換するための service rule を作成できます。