OpenCodeで情報漏えい、OpenAIとAnthropicのAPIキーが危険にさらされる恐れ

OpenAI、Anthropic、Google Geminiに対するAPIキー漏えいの警告と、利用状況およびアクセスログを表示するOpenCode Consoleのダッシュボードのイラスト

OpenCodeのセキュリティ侵害により、OpenAIやAnthropicのモデルへのアクセスに使われるAPIキーが漏えいした可能性があります。各プロバイダーは、侵害の恐れがある認証情報を無効化しました。画像はGoogle Nano Bananaで生成。

OpenCodeで発生したセキュリティ侵害により、OpenAIやAnthropicなど有料AIモデルへのアクセスに使われるAPIキーが漏えいした可能性があります。認証情報が侵害された場合、コーディングプラットフォームの外にあるアカウントで不正な操作が行われる恐れがあります。

OpenCodeは10月17日、ホスト型Consoleユーザーの1.4%が影響を受けたと特定しました。このグループのアカウントは外部のAIプロバイダーと接続しており、同社は該当する顧客にメールで通知しました。

開発者やセキュリティチームにとって、この点は重要です。侵害されたAPIキーを使えば、AIプロバイダーに対して直接不正なリクエストを送信できます。その結果、課金が発生したり、コーディングプラットフォームの外にまでアクセスが及んだりする可能性があります。

レガシーシステムがプロバイダーの認証情報を保持

受信者が共有した侵害通知によると、OpenCodeが廃止作業を進めていたレガシーシステムに不正アクセスがありました。顧客のワークスペースに保存されていたサードパーティ製APIキーが漏えいした可能性があります。

Consoleのプロバイダーに関するドキュメントでは、管理者が共有ワークスペースに認証情報を保存する仕組みを説明しています。これにより、同僚はキーを直接扱わなくても、接続されたAIモデルを利用できます。リクエストはホスト型ゲートウェイを経由し、外部ツールにも対応しています。 

共同創業者のDax Raad氏は、ローカルにインストールしたアプリケーションで設定したキーが同社のサーバーに届くことはないと説明しました。影響を受けたサービスは、より広範なAI開発ツールチェーンとは別のものだと位置付けています。

続報の通知では、保存されていた認証情報がワークスペース、プロバイダー、キー末尾4文字ごとに示されました。一覧にあるキーが漏えいした最も早い時期は10月17日0時30分(UTC)とされています。通知は、その時点で他のデータが侵害された形跡はないとも伝えています。

OpenCodeは、この事案を大規模なAIモデル蒸留攻撃と関連付けました。蒸留とは、モデルの出力を収集して別のシステムの学習に使う手法です。

Dax Raad氏はさらに、過去48時間にわたり同社のシステムに対する攻撃の試みが続いていると報告しました。ただしOpenCodeは、攻撃者がどのようにレガシー環境へアクセスしたのか、その後の攻撃が最初の侵入と関連しているのかについて、公には説明していません。

不正なAPI課金を受け、キーの無効化と返金が進む

侵害の後、X上では想定外のAI利用料金が請求されたとの報告が相次ぎました。プロバイダー側からも、キーの無効化や返金に関する発表がありました。 

開発者のColin Parsons氏は、コーディングサービスでしか使っていないと話す認証情報に、OpenAIで281ドル、Anthropicで168ドルの利用料金が発生したと明らかにしました。コピーされたAPIキーは、保存先のプラットフォームの外でもリクエストを認可できます。

Lydia Hallie氏によると、Anthropicはさらなる悪用を防ぐため、影響を受けたとみられるClaude APIキーを無効化しました。Googleも、漏えいしたGeminiの認証情報をブロックしました。 Evan Otero氏は、AI Studioで新しいキーを発行し、アカウントのアクティビティを確認するよう呼びかけています。

返金も対応の一環です。Raad氏は返金が進行中だと述べました。10月19日には、OpenAIのThibault Sottiaux氏が、影響を受けたAPI顧客に対し、攻撃で消費されたクレジット分を返金すると 発表しました。 

サードパーティ製AI認証情報の見直しを

開発者のアクセスを管理するセキュリティチームは、外部のコーディングサービスに保存されたAIプロバイダーのキーも把握しておく必要があります。これには、従業員が一元管理の外で確立した接続も含まれます。既存のシークレットスキャンは、誤ってソースコードにコミットされた認証情報を検出できます。しかし、ホスト型ダッシュボードに意図的に保存された認証情報は見逃す可能性があります。

OpenCode Consoleを利用している組織は、潜在的な露出状況を評価し、プロバイダーのアカウントを守るため、次の対応を取るべきです。

  • 影響を受けた接続を特定し、利用状況を確認する。会社が支払うAIアカウントをConsoleに連携した従業員を洗い出し、関係する認証情報を記録します。プロバイダー側のアクティビティと請求記録を調べ、身に覚えのないリクエストがないか確認します。課金に異議を申し立てる際に必要な証拠も保管してください。
  • 漏えいした認証情報を無効化し、再発行する。侵害の可能性があると特定されたキーは、不審な課金が出ていなくてもローテーションします。OpenCodeから削除しても認証情報が失効するとは限らないため、AIプロバイダー側で直接無効化してください。再発行の際は、ビルドジョブや社内サービスの担当者と調整し、正規の業務に支障が出ないようにします。
  • 外部連携に対する統制を強化する。対応している場合は、アプリケーションごとに別々の認証情報を割り当てます。 APIモニタリングで不審なリクエストを検知し、プロバイダー側で利用可能な支出上限も設定します。認証情報を分けておけば、無関係なサービスを止めずに、影響を受けた連携だけを切り離せます。

セキュリティ部門や調達部門は、ベンダーに対しても確認しておくべきです。旧システムを廃止する際に保存済みの認証情報をどう扱うのか、そのシステムが侵害された場合に顧客へどう通知するのかを尋ねてください。

今回の事案から得られる大きな教訓は、サービスの利用をやめても、残された認証情報が無効になるとは限らないということです。開発者が別のツールに移った後も、APIキーは長く有効なままになる可能性があります。

その他のサイバーセキュリティニュース:ConnectWiseの情報漏えいでは、攻撃者が信頼されたクラウド連携を悪用して顧客環境にアクセスしたことから、サードパーティ製アプリケーションの権限が厳しく問われています。

翻訳元: https://www.esecurityplanet.com/artificial-intelligence/news-opencode-breach-ai-api-keys/

本記事は esecurityplanet.com の記事を翻訳・要約したものです。