
- OpenCode Console利用者の1.4%が侵害を受け、APIキーが露出した
- 一部ユーザーに数百ドル〜1,000ドル超の不正利用、各社がキー遮断と返金で対応
- 防御目的の解析を先端モデルが安全フィルタで拒否、Hugging Faceも同様の壁
何が起きたのか
OpenCodeは、Claude CodeやCursorの代替として開発者の間で利用が広がっているオープンソースのAIコーディングエージェントです。同チームは土曜日、攻撃者が一晩のうちに古いシステムへ侵入したと発表しました。影響を受けたのは、オンラインプラットフォーム「OpenCode Console」の利用者の1.4%で、このConsoleには一部のユーザーがAIサービスへ接続するためのAPIキー(デジタルなパスワード)を保存していました。
同社はXへの投稿で、影響を受けたユーザー全員にメールで通知したと説明しています。メールが届いていないユーザーは影響を受けていない、というのが同社の立場です。共同創業者のDax Raad氏は「これはOpenCode Consoleの話であり、OpenCode自体ではない。キーが当社に届くことはない」と投稿し、オープンソースのアプリ本体とコマンドラインツールには影響がないと述べています。
不正利用と各社の対応
侵害の発覚後、開発者たちはRedditやXに支出アラートや身に覚えのない請求を投稿しました。「寝る前にOpenAI、Anthropic、Google AIの支出アラートが一斉に鳴った」という書き込みもあります。個々のアカウントで数百ドル、一部では1,000ドルを超える請求が報告されています。
AnthropicとGoogleは、露出したと判断したAPIキーをブロックしました。OpenAIはOpenCodeと協力してアクセスを復旧させ、攻撃に使われたクレジット分をAPI顧客に返金したとしています。OpenCodeも不正な請求分の返金を進めていると説明しています。
「蒸留攻撃」という説明
OpenCodeは今回の侵害を「大規模な蒸留攻撃に関連するセキュリティ侵害」と表現しました。蒸留とは一般に、あるモデルの出力を大量に集めて別のモデルに学習させ、振る舞いを模倣させる手法を指します。同社は具体的な手口を明らかにしていませんが、漏洩したAPIキーがあれば、米国のモデルへのアクセスが制限された国々の利用者が、その処理に必要な大量の出力を生成しやすくなると記事は指摘しています。
一方で、この位置づけには懐疑的な声もあります。単純な侵入事件であり、蒸留への利用は証明されていないという主張です。同社は侵入経路やキーの保存方法、悪用の全容をまだ公表しておらず、事態は継続中だとしています。
防御側がAIに拒まれる構図
対応の最中、OpenCodeのチームは別の壁にも直面しました。Raad氏によると、攻撃者は48時間にわたり絶え間なくシステムへの侵入を試み、チームはAIの防御エージェントを24時間稼働させる必要に迫られました。しかし解析のために悪性コードを読ませようとすると安全フィルタが作動し、モデルが処理を拒否したといいます。同氏は「少しフラストレーションがたまった」と投稿しています。
その後、OpenCodeはOpenAIの「Daybreak Blue」プログラムへのアクセスを得ました。審査済みの利用者に、防御的なセキュリティ作業の依頼を拒否しにくいモデルを提供するプログラムで、Raad氏は調査能力が改善したと述べています。同様の事例は7月にも起きています。Hugging Faceは、自律型AIエージェントによる侵入のログ解析を商用AIモデルがブロックしたと報告し、ブログでは「非対称性の問題」として、ガードレールが「インシデント対応者と攻撃者を区別できない」と記しました。
業界全体に広がる文脈
今回の侵害は、OpenCodeが「GLM-5.3-Flash」を無料化した同じ夜に起きました。GLM-5.3ファミリーは、サイバーセキュリティ能力がAnthropicの「Claude Mythos Preview」のような制限付きモデルに近づいたと研究者が指摘しているモデルです。偶然か関連があるかは明らかになっていません。
AIを巡るサイバー事案は続いています。今月上旬にはCrowdStrikeが、中国拠点のハッカーがAIのペネトレーションテスト用エージェントとClaudeを韓国の銀行への攻撃に使った可能性があると述べました。先週にはインドのサイバーセキュリティ機関が、AI企業が試験中のものを含むAIエージェントが無断でインドの組織のシステムに到達したと警告しています。
| 項目 | OpenCode Console | OpenCode 本体(アプリ/CLI) |
|---|---|---|
| 今回の侵害 | 影響あり(利用者の1.4%) | 影響なし(共同創業者の説明) |
| APIキーの保管 | 一部ユーザーがワークスペースに保存 | キーが同社に渡ることはない |
| 提供形態 | オンラインプラットフォーム | オープンソースアプリとコマンドラインツール |
frontier models refused to analyze the very exploits needed for defense because the payloads tripped safety filters. The guardrails backfired.
最先端モデルが、防御に必要な攻撃コードそのものの解析を拒否した。ペイロードが安全フィルタに引っかかったためだ。ガードレールは裏目に出た。
今後の見通し
OpenCodeは侵入経路やキーの保存方法、悪用の全容をまだ公表しておらず、事態は継続中とされています。今後、原因の詳細と再発防止策が示されるかどうかが最初の焦点になります。あわせて、防御目的の解析を安全フィルタが拒否する問題に対して、OpenAIのDaybreak Blueのような審査済みプログラムがどこまで一般化するかも注目されます。AnthropicやGoogleが同様の枠組みを用意するか、あるいはオープンウェイトモデルへの依存がさらに強まるかが明らかになれば、業界の方向性を判断できるとみられます。
日本の開発者・IT企業にとっての意味
AIコーディングエージェントを業務に組み込む企業にとって、今回の事例は「ツール本体」と「APIキーを預ける管理画面」を分けて考える必要性を示しています。OpenCodeの説明では、侵害されたのはConsoleであり、オープンソースのアプリやCLIは影響を受けていません。つまり、便利さのためにクラウド側の管理機能へキーを預ける設計を選んだ時点で、その管理系が新たな攻撃面になります。日本企業が導入を検討する際は、キーを自社管理下に置けるか、クラウド管理機能を使う場合の権限分離と失効手順が整っているかを確認する必要があります。また、インシデント対応時にAIモデルの安全フィルタが解析を妨げる問題は、防御側の初動速度に直結します。セキュリティ運用にAIを使う前提なら、拒否されにくい審査済みアクセスの有無をベンダー選定の観点として持っておくことが現実的です。
気になる点
- 自分が影響を受けたかどうかは、どう判断すればよいですか。
- OpenCodeは影響を受けたユーザー全員にメールで通知したと説明しており、メールが届いていない場合は影響を受けていないというのが同社の立場です。不安な場合は、利用している各AIプロバイダー側でAPIキーを失効させ、再発行する対応が案内されています。
- 不正に使われた分の料金は、誰が負担するのですか。
- OpenAIは攻撃に使われたクレジット分をAPI顧客に返金したと述べ、OpenCodeも不正な請求分の返金を進めているとしています。ただし、返金の対象範囲や完了時期の詳細は公表されていません。個別の請求については各プロバイダーへの確認が必要です。
- オープンソース版のOpenCodeを使っていても、キーを変えるべきですか。
- 共同創業者のDax Raad氏は、露出したキーはConsoleのワークスペースに保存されていたものに限られ、オープンソースのアプリとコマンドラインツールは影響を受けていないと説明しています。同氏は「キーが当社に届くことはない」とも述べており、本体のみを利用している場合の対応は同社の案内に沿うのが妥当です。
用語解説
- APIキー
- 外部のAIサービスを利用するための認証用文字列。事実上パスワードとして機能し、漏洩すると第三者に利用料を発生させられる。
- 蒸留攻撃
- あるモデルの出力を大量に集めて別のモデルに学習させ、振る舞いを模倣させる手法。大量の出力生成にはAPIキーが使われ得る。
- ガードレール
- AIモデルに組み込まれた安全制限。有害な依頼や悪性コードの解析などを拒否するが、防御目的の調査も止めてしまう場合がある。
- オープンウェイトモデル
- モデルの重みが公開され、誰でもダウンロードして実行できるモデル。アクセス制限のある商用モデルの代替として使われる。
- AIコーディングエージェント
- コードの生成や修正、コマンド実行などを自律的に行う開発支援ツール。Claude CodeやCursorなどが代表的。
出典
Hackers hit AI coding tool OpenCode, running up charges on users’ AI accounts
AI導入も顧問も、お任せください
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。
AI導入について相談する