Infisical/agent-vault

A HTTP credential proxy and vault for AI agents like Claude Code, OpenClaw, Hermes, custom agents + harnesses, and more.

Agent Vault – AIエージェント用のセキュアな資格情報プロキシ

何であるか – Agent Vaultは、AIエージェント(例:Claude、GPTベースのボット、カスタムエージェント)とそれらが呼び出す外部APIの間に立つオープンソースサービスです。シークレット(APIキー、トークンなど)を格納し、出力HTTPリクエストにリアルタイムで挿入するため、エージェントは実際の資格情報を一切見ることはありません。

なぜ重要か – 大規模言語モデルエージェントは、プロンプトインジェクション攻撃によって、環境に存在するすべてのシークレットを漏洩させられる可能性があります。エージェントのプロセスから資格情報を削除し、信頼できるプロキシに渡すことで、資格情報の流出リスクを大幅に低減できます。


コアコンポーネント

コンポーネント 役割
サーババイナリ (agent-vault) 管理API(デフォルトポート14321)と透過的なHTTP/HTTPS MITMプロキシ(デフォルトポート14322)を実行。マスターパスワードで暗号化されたシークレットを格納(デフォルトはSQLite、オプションでPostgreSQL)。
CLI サーバの起動、Vaultの作成、資格情報の追加、エージェントの作成、プロキシ経由でエージェントプロセスを実行するためのコマンドを提供(agent-vault run -- <command>)。
Web UI Vaultの作成、資格情報の追加、サービスルールの定義、エージェントトークンの発行を行うためのシンプルなUI。
プラグイン可能な資格情報ストア Infisicalなどの外部シークレットマネージャーと連携可能で、動的シークレットなどの高度な機能を活用できます。
TypeScript SDK オーケストレーターが短期間有効なトークンをプログラムで発行し、サンドボックスエージェントがプロキシを経由するための環境変数を生成できます。

動作方法(概要)

  1. サーバのデプロイ – エージェントとは別マシンに(Docker、バイナリ、またはコンパイル済みGoで)デプロイ。マスターパスワードを設定。サーバはSQLite/PostgreSQLデータベースをそのパスワードで暗号化。
  2. Vaultの作成 – サーバ内にVaultを作成し、資格情報(例:ANTHROPIC_API_KEY)を追加。
  3. サービスルールの定義 – プレースホルダー値(例:__anthropic_api_key__)やヘッダー名を実際のシークレットにマッピング。
  4. エージェントレコードの作成 – 特定のVaultを使用できる権限を持つトークンを取得。
  5. エージェントの実行環境で以下の設定を実施:
    AGENT_VAULT_ADDR=http://<host>:14321
    AGENT_VAULT_TOKEN=<agent‑token>
    AGENT_VAULT_VAULT=<vault‑name>
    ANTHROPIC_API_KEY=__anthropic_api_key__   # ダミーのプレースホルダー
    HTTPS_PROXY=http://<host>:14322
    
  6. CLI経由でエージェントを実行(agent-vault run -- <your‑agent‑command>)。CLIはプロキシを起動し、マスターキャッシュ証明書を挿入し、すべての出力HTTPSトラフィックをプロキシ経由で転送。
  7. エージェントが api.anthropic.com にリクエストを送信すると、プロキシはプレースホルダーを実際のキー(または適切なAuthorizationヘッダー)に置き換え、リクエストを転送。
  8. すべてのトラフィックは、設定されたサービスルールに基づいてログ記録、フィルタリング、または拒否可能。

主な機能

  • 資格情報ブローカリング – 実際のシークレットはVaultから出ない。プロキシがリクエスト時にダミーのプレースホルダーを実際の値に置き換える。
  • プラグイン可能なシークレットバックエンド – 組み込みの暗号化ストアまたはInfisicalとの接続により、動的シークレットを活用可能。
  • 透過的な統合 – HTTPS_PROXY/HTTP_PROXYを尊重するあらゆるツール(CLIツール、SDK、Dockerなど)と互換。コード変更不要。
  • マルチテナント & エージェントごとのトークン – エージェントごとに隔離されたアクセスを提供。サンドボックスワークロード向けに短期間有効なトークンを設定可能。
  • エグレスフィルタリング & ストライクト・ディナイモード – エージェントが接続可能なホスト名/サービスを定義。一致しないリクエストは403でブロック可能。
  • リクエストログ記録 & オーディット – インジェクトされたリクエストを確認し、エージェントの挙動をデバッグまたは監視可能。
  • 単一バイナリまたはDockerイメージとしてデプロイ可能 – macOS、Linux、ARM、x86で動作するシンプルなインストールスクリプト(curl … | sh)。
  • オプションのPostgreSQLバックエンド – 複数レプリカ間でのスケーリングを可能にする。
  • TypeScript SDK – コンテナベースのサンドボックス向けに、プログラムでトークンを発行し、環境変数を生成可能。

一般的な利用シーン

シナリオ Agent Vaultが提供する機能
リモートコーディングエージェント(例:Claude Code) ANTHROPIC_API_KEY と GITHUB_PAT を一度だけ格納。エージェントはキーを一切見ることなく、コミットやPRを送信可能。
汎用エージェント(OpenClaw、Hermesなど) センタライズされたシークレット管理。各エージェントは、呼び出せるサービスに制限されたトークンを取得。
カスタムエージェント / ハーネス 開発者は単一の HTTPS_PROXY 行とプレースホルダー環境変数を追加するだけで、プロキシが資格情報のインジェクションを処理。
一時的なサンドボックス オーケストレーターがSDK経由で短期間有効なトークンを発行し、CA証明書をマウントし、サンドボックスに使用可能なプロキシ設定を提供。
エンタープライズ展開 PostgreSQL、SSO保護UI、IP許可リスト、および商業版「Infisical Agent Vault」による追加のアクセス制御機能を活用。

クイックスタート

# インストール(macOS/Linux、Intel/ARM)
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh

# マスターパスワードのエクスポート(安全に保管)
export AGENT_VAULT_MASTER_PASSWORD=super‑secret

# サーバの起動(./dataにSQLite DBを作成)
agent-vault server -d
  • ブラウザで http://localhost:14321 を開き、最初のオーナーユーザーを作成。その後、Vault、資格情報、サービスルールを追加。
  • UIまたはCLI(agent-vault agent create …)でエージェントトークンを作成。
  • エージェントのコンテナまたはVMで、CLIを同様にインストールし、以下のコマンドを実行:
export AGENT_VAULT_ADDR=http://<host>:14321
export AGENT_VAULT_TOKEN=<token>
export AGENT_VAULT_VAULT=my‑vault
export ANTHROPIC_API_KEY=__anthropic_api_key__
agent-vault run -- python my_agent.py

エージェントは実際のキーを一切見ることなく、外部APIと通信可能になります。


開発と貢献

  • バックエンドはGo、フロントエンドUIはVite/Reactで構築。
  • 一般的なコマンド:
    • make build – Goバイナリとフロントエンドアセットをコンパイル。
    • make test – ユニットテストを実行。
    • make dev – ホットリロード付きのバックエンド・フロントエンド開発サーバを起動。
    • make docker – infisical/agent-vault Dockerイメージを生成。
  • リポジトリはMITライセンス。ee/フォルダには商業Infisicalライセンスが必要なオプションのエンタープライズ機能が含まれます。

ライセンス

MIT Expatライセンス(リポジトリの LICENSE ファイルを参照)。コアは完全にオープンソース。プレミアム拡張機能は商業ライセンスで制限されています。


TL;DR

Agent Vaultは、安全なMITMスタイルのHTTPプロキシとして機能し、リクエスト時に適切な資格情報を挿入することで、AIエージェントにAPIキー、トークン、その他のシークレットを含ませません。単一バイナリ(またはDockerイメージ)で、プラグイン可能なシークレットストア、エージェントごとのトークン、標準プロキシ環境変数を尊重するあらゆるツールと互換。資格情報安全なAIエージェント展開を簡単かつ確実に実現します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch