
Claude Code、OpenClaw、Hermes、カスタムエージェント+ハーネスなどのAIエージェント向けのHTTP認証情報プロキシおよび保管庫。
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13673/44535c3b743fabeae983d55743aede6bd9a4f33398d242d40b02e53addfd03ec.png" alt="Agent Vault" />
</p>
<p align="center"><strong>HTTPクレデンシャルプロキシ&ボールト</strong></p>
<p align="center">
<a href="https://infisical.com">Infisical</a> によるオープンソースのクレデンシャルブローカーで、エージェントとそれらが呼び出すAPIの間に位置します。<br>
エージェントはクレデンシャルを保持すべきではありません。Agent Vaultはブローカーアクセスにより、クレデンシャル流出リスクを排除します。
</p>
<p align="center">
<strong>初めてですか? <a href="https://infisical.com/blog/agent-vault-the-open-source-credential-proxy-and-vault-for-agents">ローンチブログ記事</a>でAgent Vaultの全貌をご覧ください。</strong>
</p>
<p align="center">
<a href="https://docs.agent-vault.dev">ドキュメント</a> | <a href="https://docs.agent-vault.dev/installation">インストール</a> | <a href="https://docs.agent-vault.dev/tutorial">チュートリアル</a> | <a href="https://youtu.be/AkyMmDSX8b4">ビデオデモ</a> | <a href="https://infisical.com/slack">Slack</a>
</p>
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13673/84edf1ace4d1884e0aa043c9c798bd32b61ded32f1e3785cf85deca6285de361.gif" alt="Agent Vault デモ" />
</p>
## Agent Vaultの必要性
従来のシークレット管理では、アプリケーションやサービスにクレデンシャルを返却していました。しかしAIエージェントでは、プロンプトインジェクションによって騙されてシークレットを漏洩する可能性があります。これがクレデンシャル流出の問題です。
Agent Vaultは、すべてのAIエージェントのクレデンシャル流出を解決するために作成されました。AIエージェントに直接クレデンシャルを与える代わりに、Agent Vaultに(例:`ANTHROPIC_API_KEY`、`GITHUB_PAT`など)保存し、エージェントにHTTPリクエストをAgent Vault経由でルーティングさせます。Agent Vaultはすべてのリクエストを傍受し、クレデンシャルを添付してから対象の外部APIに転送します。
機能:
- **Credential Brokering(クレデンシャルブローカー)**: LLMプロバイダーやGitHubなどの対象サービスへのアクセスを、エージェントが実際のクレデンシャルを保持せずにブローカーします。Agent Vaultは、`__anthropic_api_key__` のようなヘッダーのダミー値を実際のクレデンシャルに置換したり、通過する外部リクエストの認証ヘッダーを完全に置き換えることで、そのアクセスをブローカーできます。
- **[Pluggable Credential Stores](https://github.com/infisical/agent-vault/blob/main/docs/learn/credential-stores.mdx)(プラグ可能なクレデンシャルストア)**: ローカルの暗号化ストアの代わりに、[Infisical](https://infisical.com) のような外部シークレットストアでボールトをバックアップできます。これにより、Agent Vaultの機能が拡張され、Infisicalの[動的シークレット](https://infisical.com/docs/documentation/platform/dynamic-secrets/overview)などの機能を含めることができます。
- **Transparent Integration(透過的な統合)**: AIエージェントがMCP、CLI、SDK、APIなどの既存のツールを使用し、すべての基盤となるリクエストが自動的にAgent Vault経由でルーティングされるようにします。Agent Vaultは、エージェントの環境を `HTTPS_PROXY` を使用するようにブートストラップし、Agent VaultのMITMアーキテクチャと互換性を持たせることで、インターフェースに依存しない非侵襲的なアプローチでクレデンシャルブローカーを行います。
- **Purpose-Built Design(専用設計)**: 既存のフォワードプロキシ(`mitmproxy` や `squid` など)は、クレデンシャルブローカーを実行しエージェントとうまく統合するために修正が必要です。Agent Vaultは、専用CLI、マルチテナンシー、そして[Infisical](https://github.com/Infisical/infisical) がバックアップするエージェント固有のロードマップを備え、あらゆるタイプのエージェントユースケースの人間工学に合わせて専用に設計されています。
- **Egress Filtering(出力フィルタリング)**: 認証されたリクエストがAgent Vaultを通過するため、どのエージェントがどのサービスやAPIエンドポイントにアクセスできるかを制御できます。
- **Request Logging(リクエストログ)**: 認証されたトラフィックを検査して、エージェントの動作を監視および診断できます。
デフォルトでは、どのサービスにも一致しないリクエストは通常のプロキシトラフィックとして転送されます。ボールトを厳格な拒否モード(`unmatched_host_policy=deny`)に切り替えると、代わりに403で拒否されます。
Agent Vaultの背景にある全ストーリーは[こちら](https://infisical.com/blog/agent-vault-the-open-source-credential-proxy-and-vault-for-agents)をご覧ください。
## ユースケース
Agent Vaultは、セキュアなリモートコーディングエージェント、汎用エージェント、カスタムエージェント+ハーネス、セキュアな一時サンドボックスなど、あらゆる種類のAIエージェントのユースケースで動作します。
- **セキュアなリモートコーディングエージェント**: リモートのClaude Codeセッションを実行し、Agent Vaultを経由してリクエストをプロキシするように設定できます。この設定の一部として、`ANTHROPIC_API_KEY` と `GITHUB_PAT` をAgent Vaultに設定することで、Claude CodeがAnthropicおよびGitHub APIと連携してコーディングやPRの作成などを行えるようになります。同じ原則が他のコーディングエージェントにも適用されます。
- **セキュアな汎用エージェント**: OpenClaw、Hermes、その他の汎用エージェントを、外部リクエストをAgent Vault経由でプロキシするように設定できます。
- **セキュアなカスタムエージェント**: カスタムハーネスを備えた独自のAIエージェントを構築し、外部リクエストをAgent Vault経由でプロキシするように設定できます。
- **セキュアな一時サンドボックス**: オーケストレーター(バックエンドなど)を設定して一時トークンを発行し、それをエージェントサンドボックスに渡してAgent Vault経由でリクエストをプロキシできます。サンドボックス化されたエージェントが、立ち上げ元の同じバックエンドにリクエストをループバックすることも可能です。
## 基本的な使い方
Agent 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エージェントのクレデンシャルをブローカーできます:
1. Agent Vaultサーバーを[インストール](https://docs.agent-vault.dev/installation)して起動します。以下のスクリプトを実行してAgent Vaultをインストールできます。macOS(Intel + Apple Silicon)およびLinux(x86_64 + ARM64)をサポートしています:
```bash
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh
```
Agent Vaultサーバーを起動し、マスターパスワードを設定します(安全な場所に保管してください)。このパスワードはデータ暗号化メカニズムの一部として使用され、最初の読み取り後にプロセスから削除されます。
```bash
export AGENT_VAULT_MASTER_PASSWORD=your-password
agent-vault server -d
```
Agent VaultはDockerでもデプロイできます:
```bash
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` で利用可能になり、インスタンスの**オーナー**となる最初のユーザーを作成するよう求められます。
2. Agent Vaultで[ボールト](https://docs.agent-vault.dev/learn/vaults)を作成し、[クレデンシャル](https://docs.agent-vault.dev/learn/credentials)を入力し、[サービスルール](https://docs.agent-vault.dev/learn/services)を構成します。管理UIまたはAgent Vaultマシン上のCLIを介して行います。例えば、`ANTHROPIC_API_KEY` のクレデンシャルを作成し、Agent Vaultがダミー値 `__anthropic_api_key__` を実際のキーに置換するサービスルールを作成できます。
3. 長時間稼働するエージェントを表す[エージェント](https://docs.agent-vault.dev/agents/overview)を作成し、その**トークン**を取得します。あるいは、一時的なサンドボックスエージェントを立ち上げる場合は、[エージェント](https://docs.agent-vault.dev/agents/overview)を使用してオーケストレーターバックエンドを表し、サンドボックスに渡す短期間有効な**トークン**を発行し、エージェントがそれを使用してAgent Vault経由でリクエストをプロキシできます。
4. AIエージェントの環境に以下の環境変数を設定します:
```bash
AGENT_VAULT_ADDR=http://<your-addr>:14321
AGENT_VAULT_TOKEN=<agent-token-from-agent-vault>
AGENT_VAULT_VAULT=<vault-in-agent-vault>
...
ANTHROPIC_API_KEY=__anthropic_api_key__ // dummy key that will be substituted by Agent Vault
```
5. エージェントの環境にAgent Vault CLIを[インストール](https://docs.agent-vault.dev/installation)し、Agent Vault CLIをエージェントとともに実行して、Agent Vault経由でリクエストのプロキシを開始します。
```bash
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh
```
### ダウンロードしたリリースバイナリの検証
このワークフローから公開されたリリースアーカイブには、それらを生成したGitHub Actions実行に関連付けられたビルド来歴証明書が同梱されています。`gh` CLIで検証します(追加ツール不要、鍵管理不要):
```bash
gh attestation verify agent-vault_*.tar.gz --repo Infisical/agent-vault
```
`checksums.txt` も同じ証明書の対象であり、cosign署名は、そのパスを好むユーザー向けに `cosign verify-blob` で引き続き検証できます。
```bash
agent-vault run -- claude
agent-vault vault run -- agent
agent-vault vault run -- codex
agent-vault vault run -- opencode
```
または、エージェントがDockerで動作している場合は、Dockerfileを介してAgent Vault CLIをインストールし、バイナリを独自のイメージにコピーして、エージェントプロセスを起動するために使用できます:
```dockerfile
# Add this line to your existing Dockerfile alongside your agent or app setup.
COPY --from=infisical/agent-vault:latest /usr/local/bin/agent-vault /usr/local/bin/agent-vault
...
ENTRYPOINT ["agent-vault", "run", "--", "claude"]
```
Agent Vaultをデプロイし、AIエージェントと統合する方法は多数あります。より完全な[ドキュメント](https://docs.agent-vault.dev/installation)を参照することをお勧めします。
## 動作デモ
Agent VaultがAIエージェントのクレデンシャルをどのようにブローカーするかを見てください。キーを一度保存すれば、すべての外部リクエストがプロキシ経由でルーティングされ、エージェントがシークレットを一切見ることなく実際のAPIを呼び出せるようになります。
<p align="center">
<a href="https://youtu.be/AkyMmDSX8b4">
<img src="https://assets.kitploit.com/production/public/readmes/13673/a6504c2af8f0f1a5875f6dbea16a21cabebb07029ec05d7d82fbc6c826da788c.png" alt="ご視聴:エージェントはあなたのシークレットを見るべきではありません" />
</a>
</p>
完全なデプロイのウォークスルーをご希望ですか?別のマシン上のブローカーエージェントを使用したエンドツーエンドの例については、[Run Hermes on a VPS](https://docs.agent-vault.dev/guides/hermes-on-vps) をご覧ください。
## ベストプラクティス
1. セキュリティ:
- Agent Vaultは、AIエージェントとは異なるホストマシン上の別のサービスとしてデプロイし、エージェントが共有ホストを悪用してAgent Vaultにアクセスするのを防ぐべきです。
- クレデンシャルが外部リクエストに挿入されるプロキシポート(デフォルトでは14322)は、エージェントのネットワークに対してのみプライベートに保つべきです。14321の管理インターフェースは、リモート管理が必要な場合に公開しても安全ですが、それでも本番Webサービスと同様に強化する必要があります(TLS、IP許可リスト)。動作例については [examples/nginx-public-ui-proxy/](https://github.com/infisical/agent-vault/blob/main/examples/nginx-public-ui-proxy) を参照してください。
2. レイテンシ:リクエストのレイテンシを削減するために、Agent VaultをAIエージェントと同じネットワーク内に配置すべきです。
3. トークン:Agent Vaultで長期間存続するエージェントを表すエージェントを作成すべきです。一時的なサンドボックスの場合は、サンドボックス化されたエージェントがAgent Vault経由でリクエストをプロキシするために使用する、短時間有効でボールトスコープのトークンを発行することをお勧めします。
## PostgreSQL(本番環境)
デフォルトでは、Agent Vaultはすべての状態をローカルのSQLiteデータベースに保存します。セットアップは不要です。本番環境へのデプロイや複数インスタンスの実行時には、`DATABASE_URL`環境変数(または `--database-url` フラグ)にPostgreSQLの接続文字列を設定すると、Agent VaultはPostgresをバックエンドとして使用します。すべてのインスタンスが同じデータベースを共有するため、レプリカ間で状態が一貫します。
切り替え前に、`agent-vault migrate-db --to postgres://...` で既存データを移行してください。デプロイ例(Kubernetes、Docker Compose)、アーキテクチャノート、運用の詳細については [PostgreSQLガイド](https://docs.agent-vault.dev/self-hosting/postgres) を参照してください。
## SDK
Agent VaultはTypeScript SDKを提供しています。オーケストレーターが短時間有効なトークンを発行し、プロキシ設定をサンドボックス化されたエージェントに渡して、そのエージェントがAgent Vault経由でリクエストをプロキシできるようにします。
```bash
npm install @infisical/agent-vault-sdk
```
```typescript
import { AgentVault, buildProxyEnv } from "@infisical/agent-vault-sdk";
const av = new AgentVault({
token: "YOUR_TOKEN", // agent token
address: "http://localhost:14321",
});
const session = await av
.vault("my-vault")
.sessions.create({ vaultRole: "proxy" });
// certPath is where you'll mount the CA certificate inside the sandbox.
const certPath = "/etc/ssl/agent-vault-ca.pem";
// env: { HTTPS_PROXY, HTTP_PROXY, NO_PROXY, NODE_USE_ENV_PROXY,
// SSL_CERT_FILE, NODE_EXTRA_CA_CERTS, REQUESTS_CA_BUNDLE,
// CURL_CA_BUNDLE, GIT_SSL_CAINFO, DENO_CERT }
const env = buildProxyEnv(session.containerConfig!, certPath);
const caCert = session.containerConfig!.caCertificate;
// Pass `env` as environment variables and mount `caCert` at `certPath`
// in your sandbox — Docker, Daytona, E2B, Firecracker, or any other runtime.
// Once configured, the agent inside just calls APIs normally:
// fetch("https://api.github.com/...") — no SDK, no credentials needed.
```
完全なドキュメントは [TypeScript SDK README](https://github.com/infisical/agent-vault/blob/main/sdks/sdk-typescript/README.md) を参照してください。
## 開発
```bash
make build # Build frontend + Go binary
make test # Run tests
make web-dev # Vite dev server with hot reload (port 5173)
make dev # Go + Vite dev servers with hot reload
make docker # Build Docker image
```
## オープンソース vs 有料
このリポジトリは [MIT expatライセンス](https://github.com/Infisical/infisical/blob/main/LICENSE) の下で利用可能です。ただし、`ee` ディレクトリは例外で、Infisicalライセンスが必要なプレミアムエンタープライズ機能が含まれます。
Infisicalに興味がある場合、またはAgent Vaultのより商業的な道を模索している場合は、[私たちのウェブサイト](https://infisical.com/) をご覧いただくか、[ミーティングを予約](https://infisical.cal.com/vlad/infisical-demo) してください。
## コントリビューション
大小を問わず、コントリビューションを歓迎します。Agent VaultはInfisicalと同じコントリビューションガイドラインに従います。
[開始方法](https://infisical.com/docs/contributing/getting-started) についてはガイドをご覧ください。
どこから始めればよいかわからない場合:
- 私たちの <a href="https://infisical.com/slack">Slack</a> に参加して、そこで質問してください。
## 採用情報!
これを読んでいるということは、私たちが作成した製品を気に入っている可能性が高いです。あなたは私たちのチームにとって素晴らしい追加メンバーになるかもしれません。私たちは急速に成長しており、ぜひ[参加](https://infisical.com/careers)してください。
---
> **プレビュー.** Agent Vaultは活発に開発中であり、APIは変更される可能性があります。デプロイ前に[セキュリティドキュメント](https://docs.agent-vault.dev/learn/security)を確認してください。