Show HN: Cloak – AIエージェントにAPIキーを見せずに使わせる
Cloakはローカル暗号化ボールトであり、AIエージェントがAPIキーを直接見ることなく使用できるようにします。プロキシリクエストとポリシー制御によりキーの漏洩を防ぎ、macOSとLinuxに対応し、複数のAIクライアントと互換性があります。
Cloakは、AIエージェントがAPIキーを安全に使用するためのオープンソースツールです。従来、AIエージェントがStripeやOpenAIなどの外部サービスを呼び出す際、キーを直接モデルに渡す必要がありましたが、これによりキーがモデルのコンテキスト、プロバイダーのログ、プロンプトインジェクション攻撃などで漏洩するリスクがありました。Cloakはキーをローカルの暗号化ボールトに保存し、エージェントに代わってプロキシリクエストを実行することで、キーの値がモデルやエージェントのコンテキストに一切露出しないようにします。
Cloakのアーキテクチャは3つのコンポーネントで構成されています:キー管理のためのCLIツール(cloak)、安全な保存とポリシー実行を担当するデーモン(cloakd)、AIクライアントが接続するMCPサーバー(cloak-mcp)です。エージェントがcloak-mcpのツールを呼び出すと、cloakdがポリシーを確認し、許可されたリクエストにのみキーを添付して結果を返します。キーの読み取り権限は厳格に制限されており、エージェントは生のキー値を読み取る方法を持ちません。
クイックスタートは非常に簡単です。macOSまたはLinuxでHomebrewを使ってインストールした後、cloak setupを実行してボールトを作成しAIクライアントに接続します。次にcloak importまたはcloak addでキーをインポートします。キーはデフォルトで拒否状態にあり、ユーザーはcloak allowコマンドで各キーにアクセスを許可するホストを指定します。ポリシーはデーモンの再起動なしで即座に反映されます。また、policy.tomlファイルによる設定も可能です。
Cloakは現在、Claude Desktop、Claude Code、Cursor、Windsurf、Zed、Continue.dev、Codexなどの主要なAIクライアントをサポートしています。長期有効なAPIキーの漏洩を防ぐことができますが、エージェントが乗っ取られた後に許可されたアクセスを悪用する行為は防げません。Cloakは単一ユーザーのマシン向けに設計されており、ルートユーザーや既に侵害されたホストのシナリオは対象外です。プロジェクトはApache-2.0ライセンスで公開され、リリースはmacOS公証、cosign署名、SLSA L3認証を受けています。