
AIエージェント向けのジャストインタイムAPIキー - およびそれを経由する他のプロセス:呼び出し側は常にプレースホルダーのみを認識します。
AIエージェントや、プロキシ経由でルーティングするあらゆるプロセス向けのジャストインタイムAPIキー: 呼び出し側が見ることができるのはプレースホルダーのみです。
旧称 agent-vault-proxy。CLIは現在 kow です。旧 avp コマンドは今回のリリースでも動作しますが、次のメジャーで削除されます (ADR-0045)。
Keys on the Wireは、資格情報スティーラー(Shai-Huludなど)やプロンプトインジェクションを受けたエージェントによる秘密情報の漏えいからあなたを守ります。これはローカルプロキシで、送信中(in-flight)のリクエストに実際の秘密情報を注入します。したがって、侵害されたりプロンプトインジェクションを受けたりしたエージェントには、盗むものが何もありません。
内部の仕組み: ループバックHTTPSプロキシが、Bitwarden Secrets Manager(クラウドまたはセルフホスト)から資格情報をジャストインタイムで取得し、送信リクエストに注入します。そのため、呼び出し側プロセスのアドレス空間に実際の資格情報バイトが保持されることはありません。
すべての機能はApache-2.0の下でこのリポジトリに含まれており、ペイウォール付きティア、エンタープライズ版、トラステッドクラウド、テレメトリは一切ありません。全体を最初から最後まで読むことができ(数千行)、永遠に実行し続けられます。
ワークフロー全体は、1つの操作だけです: バンドルされているスキルにサービスのルーティングを依頼すると、Bitwarden(またはあなたのボールト)に貼り付ける1行が返され、それを貼り付ければエージェントがブローカリングされます。完了です。ブローカリングされた各資格情報は1つのバインディングであるため、構成は、各エージェントが到達できる秘密情報を正確に列挙した、完全かつ監査可能なリストそのものです。暗黙的なものや隠れたものはありません。
目標は、AIエージェントの内部にある実際のキーを全体で減らすことであり、ロックインではありません。Keys on the Wireが適合するならそれを使い、代替案のいずれかがあなたのセットアップに適しているならそちらを使ってください。実際の秘密情報をエージェントのメモリから遠ざけるツールは、どれも有益です。
1. インストール - Linux pipx、macOS brew:
pipx install 'keys-on-the-wire[bitwarden]' # [bitwarden] adds the Bitwarden backend SDK; drop it for AWS/GSM/env only
# macOS: brew install inflightsec/keys-on-the-wire/keys-on-the-wire
sudo kow setup --bws # paste your Bitwarden token — generates the CA, starts the daemon
2. スキルをインストールして、エージェントにバインディングを書かせましょう:
/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy
3. スキルにサービスのブローカリングを依頼 - 「Stripe APIをKeys on the Wire経由でルーティングして」 のように言います。スキルはプレースホルダーを発行し、BitWardenに貼り付ける正確なメモを出力します。あなたのキーを見ることはありません。
4. 秘密情報をボールトに保存 - そのメモを添えて、実際のキーをBitwarden Secrets Manager(またはGoogle Secret Manager)に追加し、エージェントをプロキシ経由でルーティングします:
kow env && kow run claude
完了です: エージェントが送信するのは常にプレースホルダーだけで、Keys on the Wireが送信経路上で実際のキーと差し替えます。
kow run の代わりに、エージェントの ~/.zshrc(または任意のシェルrc)にプロキシとCAの変数をエクスポートすることもできます。標準的なブロックは 使用法 を参照してください。永続的ですが、起動するエージェントだけでなく、シェル全体がKeys on the Wire経由でルーティングされます。
新しいブローカリング資格情報をオンボーディングするのに、バインディングYAMLを手書きする必要はありません。バンドルされている avp スキル を使えば、AIアシスタント(Claude Code、またはスキルを読み込める任意のエージェント)が手順を案内します:「Acme APIをKeys on the Wire経由でルーティングして」 と言うと、スキルが認証形式とホストを尋ね、追加すべき内容を正確に教えてくれます: 秘密情報名と、Bitwarden Secrets ManagerのNotesフィールドに貼り付ける注釈(またはGoogle Secret Managerのavp-binding注釈、あるいは将来のバックエンドのシークレット単位メタデータ)です。設定編集も再デプロイも不要で、アシスタントは秘密情報を決して見たり保存したりしません。提案するのはスキル、適用するのはあなたです。
メモ自体は、シークレットのNotesフィールドに貼り付ける2行です:
# avp-binding
api.acme.com
このマーカー行こそがバインディングを成立させるものです。最初の行が # avp-binding でないメモは、そのまま人間向けの説明文として扱われ、決してパースされません (ADR-0025)。(avp-binding マーカーとディスク上のパスは、後方互換性のために今回のリリースでは名前を維持します。次のメジャーで kow に移行します - ADR-0045 を参照してください。)
Claude Code(推奨) - プラグインとしてインストールすれば、すべてのプロジェクトで利用でき、/plugin marketplace update で更新されます:
/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy
/avp:avp として呼び出すか、「Acme APIをKeys on the Wire経由でルーティングして」 と言うだけで自動的に起動します。(バンドルされているプラグインは、今のところ avp という名前を維持します。マーケットプレイス移行に伴い改名されます。)
手動(Anthropic形式のスキルを読み込める任意のエージェント) - skills/avp/ をエージェントのスキルディレクトリにコピーまたはシンボリックリンクします。Claude Codeは ~/.claude/skills/ を読み込みます。シンボリックリンクなら git pull で最新の状態に保たれます:
ln -s "$PWD/skills/avp" ~/.claude/skills/avp
MCPサーバーは、急速に拡大する資格情報漏えいの攻撃対象領域です。各サーバーは長期間有効な上流トークン(GitHub PAT、Slack/Brave/Perplexityキー)をクライアント設定内に平文で保持しており、クライアントが読み込むすべてのサーバーがそれを読むことができます。kow mcp install は、その常設の秘密情報をプレースホルダーに置き換え、サーバーの外部への通信をプロキシ経由でルーティングするため、実際の値が設定に存在することは決してありません:
kow mcp install github --host api.github.com --env-var GITHUB_PERSONAL_ACCESS_TOKEN \
--server-cmd "npx -y @modelcontextprotocol/server-github"
貼り付けるボールトメモと、正確な claude mcp add --env / codex mcp add --env コマンド(プロキシ + ランタイムごとのCAトラスト + プレースホルダー環境変数)の両方を出力します。ボールトに対しては提案のみで、秘密情報の値には一切触れません。バンドルされている avp スキル は、サーバーのドキュメントからホスト/ヘッダー/形式を推定し、先にあなたとホストを確認します。設計と脅威モデル: ADR-0040。
bubblewrap と組み合わせてファイルシステムをサンドボックス化kow mcp install)プロキシが外部に通信することはありません。プロキシが行う外部接続は、設定したBWSエンドポイントと、エージェントが呼び出している上流APIだけです。テレメトリはありません。/var/log/agent-vault-proxy/audit.jsonl の監査ログは、デフォルトではローカルのみです。オプションの オフボックス転送 は、別のサイドカー(プロキシ自体ではありません)から、あなたが実行・管理するコレクターにのみ転送します。
Apache-2.0: LICENSE と NOTICE を参照してください。特許付与を明示しているのは、セキュリティツールとして意図的に行われています (ADR-0037)。すべての機能がここに含まれており、オープンコア、エンタープライズティア、ホステッドサービスはありません。フォークして、最初から最後まで読み、永遠に実行してください。0.9.0までのリリースは、元のMIT条件と agent-vault-proxy という名前のまま利用可能です。先行技術については CREDITS.md で謝意が表明されています。
オープンソースではない依存関係が1つだけあり、それはオプトインです。 オプションのBitwardenバックエンドは bitwarden-sdk を引き込みますが、これはApache-2.0ではなく、Bitwarden自身のプロプライエタリSDKライセンスの下にあります。Keys on the Wireはこれをバンドルしません。そのバックエンドを使う場合にのみ、自分でインストールします(pip install 'keys-on-the-wire[bitwarden]')。デフォルトのインストールと、AWS Secrets Manager、Google Secret Manager、envバックエンドは100%オープンソースです。
static)と、別のバックエンドを追加する方法op run、superfly/tokenizer、OneCLI、その他のエージェント資格情報ツールとの比較(合うものを使ってください。重要なのはロックインではなく、より多くのエージェントが保護されることです)