Console ユーザーの 1.4%、プロバイダー全鍵:OpenCode 侵害が示す AI 認証情報の集中リスク
重要なポイント
- 2026 年 10 月 16 日の夜、攻撃者が OpenCode のホスト型 Console 背後のレガシーシステムに到達し、Console ユーザーの 1.4% 分の OpenAI・Anthropic・Google API キーが露出しました —— それらは、チームに二度と見られないようにするためにユーザーが保存していたキーです(OpenCode on X、CSA の調査ノート)。
- 自己申告の悪用は 1 アカウントで OpenAI 281 ドル、Anthropic 168 ドルに達し、1 件は 1,700 ドルと報告されています —— キーは不記名(bearer)資格情報であるため、複製されたキーは各プロバイダーが取り消すまで支出し続けました(TechCrunch)。
- Console 上でのキー削除は何も解決しません。流出済みのコピーを無効化できるのはプロバイダーだけです —— Anthropic と Google は露出キーを大規模にブロックし、OpenAI は影響を受けた API 顧客に返金しました(TechCrunch)。
- この事象の封じ込めはセーフティフィルターで止まりました。フロンティアモデルは悪意あるペイロードの分析を途中で拒否し、OpenAI の Daybreak Blue プログラム経由の vetted access(審査済みアクセス)まで回復しませんでした —— これは 7 月に Hugging Face が記録したのと同じ壁です(「ガードレールはインシデント対応者と攻撃者を区別できない」)(TechCrunch、Hugging Face)。
- 2026 年 11 月 2 日時点 —— 発覚から 16 日 —— OpenCode は根本原因・ポストモーテム・総損失額を公表しておらず、「大規模蒸留攻撃」という帰属には異論があります。結末がどうであれ、集中に関する教訓は変わりません(StepSecurity、CSA)。
OpenAI、Anthropic、Google のキーを OpenCode のホスト型 Console に保存したチームの開発者は、みな同じ論理的に正当なローカルな判断を下しました。シェル、ドットファイル、チャットログからキーを退避させ、ホスト型ツールにチームの代理としてプロバイダーを呼ばせるという判断です。2026 年 10 月 16 日、これらの判断が単一の攻撃面へと積み重なりました。攻撃者は OpenCode Console 背後のレガシーシステム —— チームがモデルプロバイダーを共有するホスト型レイヤー —— に到達し、Console ユーザーの 1.4% 分のキーが流出しました(OpenCode on X、CSA)。数時間のうちに、開発者は 3 つのプロバイダーアカウントに同時に発火する利用アラートを投稿し始めました —— 就寝前に OpenAI 281 ドルと Anthropic 168 ドルの課金を報告した人、1,700 ドル超の合計を報告した人がいました(TechCrunch)。
本記事は、今やあらゆる AI エージェントデプロイが背負うパターンについて、この事象が何を証明するかを整理します。プロバイダー資格情報を預かるホスト型ツールは、AI との関係を預かるベンダーであり、失効はツールではなくプロバイダーの側にある、というパターンです。これは MCP Events: When a Subscription Becomes a Credential You Cannot Revoke を受けた記事です。あちらは MCP イベントがきれいに取り消せない資格情報になってしまうサブスクリプション生存期間の隙間を扱いました。今回は隙間の向きが逆です —— ツールが認証情報を保持し、すでに奪われたコピーに対して利用できる唯一のレバレッジは、それを発行したプロバイダーの側にあります。
検証可能な順序で見る事象の経緯
検証可能なタイムラインは短い。ベンダーがほとんど公表していないからです。
- 10 月 16 日(夜): 攻撃者が OpenCode Console 背後の古いシステムに到達しました。同社が退役を進めていたレガシープラットフォームです(CSA)。
- 10 月 17 日: OpenCode は X で侵害を開示し、影響範囲を Console ユーザーの 1.4% とし、件名「Action Required: Potential provider key breach」で全影響ユーザーにメールを送りました。共同創業者の Dax Raad は境界を明確にしました —— 「これは OpenCode Console であり OpenCode 本体ではない。このキーは我々の手には決して渡らない」。オープンソースの CLI は影響を受けていません(TechCrunch)。
- 10 月 17〜18 日: Anthropic と Google は露出したと判断した API キーをブロックしました(TechCrunch)。OpenAI は OpenCode と協力して対応し、攻撃に使われたクレジット分を影響を受けた API 顧客に返金しました。
- 進行中: ユーザー報告の課金が積み上がりました —— OpenAI 281 ドル / Anthropic 168 ドル、他のレポートでは Anthropic 約 400 ドルと Google 約 200 ユーロ、自申告で合計 1,700 ドルの報告(CSA)。OpenCode は不正課金の返金を進めていると述べました。
- 11 月 2 日時点で未公表: 根本原因、ポストモーテム、総損失額、保管キーが暗号化されていたかどうか、正確なプロバイダーリスト —— Cyera の要約は OpenRouter を露出キー種に挙げ、The Hacker News は OpenAI・Anthropic・Google と報じています(CSA、Cyera)。
誠実さのマーカーが重要です。OpenCode は事象を「大規模な蒸留攻撃」と帰属させましたが、研究者は数時間のうちに反論しました —— Nathan Lambert はこの枠組みを誇張だとし、事象は蒸留利用が証明されていない単純な侵害に見えると論じました(TechCrunch)。蒸留そのものは現実の脅威です。Anthropic は 約 24,000 の不正アカウントが 1,600 万超のやり取りを生成して Claude 出力で学習していたキャンペーンを記録しています。ただし、OpenCode への侵入を蒸留と結び付けた公的な証拠はまだありません。窃取キーはその市場の有望な原材です。ですが、蓋然性は帰属ではありません。規模の文脈として、OpenCode は 217,000 スターを持つ GitHub 有数のスター付きリポジトリであり、露出面は小さな実験ではなく、本番利用されている最大級のオープンソース AI プロジェクトでした。
パターン:ホスト型エージェントツールにおける認証情報の集中
規模よりも、侵害の構造が重要です。プロバイダーキーを保存した各 Console ワークスペースは、ローカルの実問題を解決していました。キーが開発者のマシン経由で漏れないようにしたのです。しかしそれらを集約すると、同じ設計が「保管庫」を生み出しました。無関係な複数ベンダーの有効な認証情報を、顧客が観察できない単一の企業セキュリティ境界の内側に置く構造です。保管庫に到達した攻撃者は、OpenAI・Anthropic・Google を突破する必要も、エンドユーザーのマシン 1 台を侵害する必要もありません。ホスト型ツールこそ、ユーザーが預けたすべてのベンダー関係にまたがる単一の露出点です(CSA)。
プロバイダーキーはほとんどの秘密より深刻です。緩い不記名資格情報だからです。通常、デバイス・ネットワーク・セッションのいずれにも紐づかず、より細かいプロジェクトキーや支出上限が設定されない限り、顧客アカウントで支出します。盗まれたキーは即座に、どこからでも、あなたの費用で動きます。不正課金の報告がまさにそれを示しました(CSA)。同じ構造は今月早く、別の形で現れています。CSA の LiteLLM ゲートウェイ脆弱性連鎖の分析は、企業のプロバイダーキーを保持するゲートウェイを記録しています。そこでは 1 回の侵害が、その手前にあるすべての上流サービスの資格情報を露出させます。アーキテクチャは違っても、集中は同じです。
レガシーシステムという細部には、独立した一行を割くべきです。攻撃者が到達したシステムは退役中でした。削除が予定されたシステムは、パッチも少なく、監視も弱く、アクセスレビューも甘いまま、本番データを保持し続けるのが常です(CSA)。認証情報ストアは「古いデータ」ではありません。マイグレーションと削除が完了するまで、退役中のシステムは現役の保管庫です。
失効は非対称 —— そしてツールではなくプロバイダーにある
運用面の非対称性が、この事象のもっとも転用しやすい教訓です。OpenCode Console からキーを削除しても、ベンダー側のコピーが消えるだけです。10 月 16 日の午前 2 時に流出済みのコピーには何もしません。資格情報を無効化できるのは発行者であるプロバイダーだけです。だからこそ CSA も Cyera も同じ手順を強調します。取り消しと再発行は各プロバイダー自身のダッシュボードで行う。エージェントツール内だけで行ってはならない(CSA、Cyera)。
この非対称性は、次の図で綺麗に分かれます:
非対称の 3 層目は時間です。自動化された悪用は資格情報が露出すると直ちに始まるのが普通のため、監査は紐づく可能性のあるキーを保持していたかもしれないあらゆるプロバイダーにまで届く必要があります。10 月 16 日以降の使用量と請求を、OpenCode からのメールが届いたかどうかにかかわらず、すべてのプロバイダーアカウントで確認してください(Cyera、CSA)。1.4% という数字は信頼を移しません。導出方法を知っているのは OpenCode だけです。キーを Console に保存していて通知メールが来なかったチームは、沈黙をクリアと見なすことはできません。ローテーションは安価です。それが防ぐ露出に境界はありません。
対応の壁:インシデント対応が自社のガードレールに阻まれるとき
この事象は、名前が先にあり、事例が後に来た問題に、データポイントを 1 つ加えました。OpenCode チームは 48 時間に及ぶ継続的な攻撃の間、防御用 AI エージェントを 24 時間体制で動かしました。すると分析に使っていたモデルが悪意あるコードの検査を拒み始めました。ペイロードがセーフティフィルターに引っかかったのです。OpenCode はその後、OpenAI の Daybreak Blue プログラムへのアクセスを得ました。vetted(審査済み)ユーザーに、防御的セキュリティ作業の拒否が起きにくいモデルを提供するプログラムです。このアクセスによって調査は前進しました(TechCrunch)。
これは 7 月のパターンを、より小さな企業で繰り返したものです。Hugging Face が自律型 AI エージェントのインフラ侵入を分析した際、商用モデルはログ分析を拒絶しました。同社ブログの「The asymmetry problem」という節は、この運用上の事実を正確に述べています。ガードレールは「インシデント対応者と攻撃者を区別できない」(Hugging Face)。対応の壁は今や、繰り返し現れるインシデントパラメーターです。2 社が、どちらも危機の最中に、分析ツールが分析を拒むのを発見しました。ガバナンスへの示唆は、インシデント中にガードレールを緩めよ、ということではありません。インシデント計画は、AI 支援のトリアージがセーフティフィルターで止まることを前提とし、vetted access の経路を前もって手配せよ、ということです。OpenCode は壁に足を止められた後にそれを行いました。
大統領科学技術諮問委員会の共同議長を務める David Sacks は、OpenCode と Hugging Face 両方の攻撃中にガードレールが裏目に出たことを公に指摘しました(TechCrunch)。政策面の注目は届きました。ただ、実装可能な変更は依然としてバイヤー側にあります。
未解決の問いすべてに耐える 4 つの統制
これまでに開示された事実のどれも、Console のキーが暗号化されていたかどうかを購入者に教えてくれません。しかし、以下の統制を採るのにその答えは必要ありません。
- どのツールがどのプロバイダーキーを保持しているかを棚卸しする。 失敗は、集中が侵害されるまで見えないことから始まります。チームが使うすべてのホスト型 AI ツール —— コーディングエージェント、チャットプラットフォーム、ゲートウェイ —— に対し、どのベンダー資格情報を保管しているのかを正確に尋ねてください。
- デューデリジェンスではそれらのツールを資格情報ベンダーとして扱う。 プロバイダーキーを保持するツールは、AI との関係を保持します。キーの保存方法、暗号化の有無と実施者、退役パスでどんなアクセスレビューが行われるかを尋ねてください。CSA は対応領域を AI Controls Matrix にマッピングしています(アイデンティティとアクセス管理、暗号とキー管理、サプライチェーン)。
- ローテーションを緊急対応ではなく日常業務にする。 プロバイダーキーはスケジュールで、またホスト型ベンダーがインシデントを公表した際にローテーションしてください。ベンダーの保管庫の侵害は、ベンダーがあなたに知らせようと決めたときにしか、あなたには見えません。
- プロバイダー側でスコープと上限を設定する。 プロバイダーダッシュボードで設定するプロジェクトスコープのキーとハードな支出上限だけが、盗まれたキーのプロバイダーへの直接使用を制約できます。ホスト型ツールの予算ではできません(Cyera)。
同じリストに退役ルールも加えてください。データ移行と削除が完了するまで、システムを低優先度として扱ってはいけません。OpenCode が失ったシステムは退役済み扱いになりつつあるものの、まだ顧客キーを保持していました。
関連記事
- MCP Events: When a Subscription Becomes a Credential You Cannot Revoke —— エージェントレイヤーにおける資格情報の生存期間の隙間:MCP Events のサブスクリプションはトークンより長生きし、ChatGPT には失効の封筒がない
- An Evaluation Agent Breached Medicare: Three Failure Points Every Agent Deployment Shares —— 侵害解剖の姉妹篇:意図のドリフト、突破される統制、5 日間機能しなかった通知ルーティング
- MCP Security Hardening Checklist for Production Deployments —— 本件のキー保管庫失敗が写像されるシークレット管理とガバナンスされたモジュールの統制
中堅卸売企業のエンジニアリングチームは、共有の Anthropic キーを自社の AI コーディングツールのホスト型コンソールに保存していました。これによりキーは、どのラップトップにもどのドットファイルにも現れません。火曜日の夜、そのツールベンダーが自社レガシーシステムへの侵害を開示しました。チームはキーをツールから削除し、予算ダッシュボードをゼロにして先へ進みました。4 日後、コントローラーはなぜ Anthropic の請求に帰属不明の 740 ドルが出るのかと問いました。ベンダー側コピーは削除済みでした。しかし、攻撃者が奪ったコピーは Anthropic が取り消すまで有効な不記名資格情報であり、誰も侵入日の後のプロバイダー請求を確認していませんでした。ベンダーの予算ウィジェットは何の役にも立っていません。
スコープを明確にした構築依頼をどうぞ。1 週間のディスカバリー。当社と組むかどうかにかかわらず、システム棚卸し、ワークフローマップ、固定スコープをお届けします。
あなたのシステムのためにこれを構築したいですか?
ここの各ドキュメントは実際の本番作業から来ています。ターゲットシステムとワークフローがあれば、1週間でスコープを定義できます。
スコープ付き構築を依頼1週間のディスカバリ。システムインベントリ、ワークフローマップ、固定スコープを提供します — 私たちと構築するかどうかにかかわらず。