AIが構築したエクスプロイトとサインインの欠陥、OpenAI社内コードへの侵入経路に

セキュリティ企業Hacktronの研究者らは、Claudeを使って画像処理ライブラリの脆弱性に対する実働エクスプロイトを構築し、これをOpenAIのサインインシステムにあった欠陥と組み合わせることで、従業員のChatGPTおよびCodexアカウントを乗っ取り、最終的には社内コードリポジトリへのアクセス権も獲得しました。

侵入の起点となったのは、Discourse上で運用されているOpenAIのコミュニティフォーラム「community.openai.com」でした。Discourseの標準画像チェック機能はHEIC/HEIF形式の写真に対応していなかったため、この形式でのアップロードはImageMagickに渡されており、その際にImageMagickがデコード処理で利用するlibheifライブラリに存在する未パッチの欠陥が露呈していました。

Hacktronによると、この根本的なバグは1年前に上流ですでに修正されていたものの、セキュリティ問題としてフラグが立てられることは一度もなく、CVEも付与されないまま、通常のパッチ適用サイクルから漏れていたといいます。

この欠陥を信頼性の高いエクスプロイトへと仕立て上げるには何度もの試行を要し、Claude Opus 4.8とOpus 5が使われました。このエクスプロイトはリモートコード実行を可能にするもので、研究者らはまずテスト用のDiscourseインスタンスに対して検証を行った後、OpenAI自身のフォーラムでも実行しました。

このフォーラムはOpenAIアカウントでのサインインを許可していたため、フォーラム上でのコード実行は、より広範なアカウントアクセスへの経路を開くことになりました。Hacktronによれば、この問題が修正されるまでは、フォーラムにログインしたユーザーや従業員は誰でも、ChatGPTおよびCodexアカウントを乗っ取られる可能性があったといいます。

さらに、多くの人がこれらのアカウントに他のサービスを連携させていることから、理論上の被害範囲はGitHub、Slack、メールといったサービスにまで及んでいました。

OpenAIはこの2つの欠陥を明確に区別しています。同社はSecurityWeekに対し、画像処理のバグはサードパーティサービスであるDiscourse側に存在していたものであり、アカウント乗っ取りの経路はそれとは別の、OpenAI側の問題だったと説明しています。

OpenAI側の脆弱性は、コミュニティフォーラム向けに生成されるサインイントークンが過剰な権限を持っており、関連付けられたChatGPTおよびCodexアカウントへの完全なAPIアクセスを許してしまっていたことに起因していました。

Hacktronは、内部コードを一切読み取ることなくアクセス権を実証するため、GitHub組織のCodex連携が有効になっていたOpenAI従業員のアカウントを乗っ取り、それを使って社内リポジトリにプルリクエストを1件作成した時点で、それ以上のテストを打ち切ったとしています。

OpenAIによると、今回のインシデントに関する自社調査では、非公開リポジトリのメタデータとコミットへの限定的な読み取りアクセスが確認されたほか、研究者が提出した前述のプルリクエスト(README ファイル宛て)が見つかったとのことです。

Hacktronのレポートでは、連携アカウント経由で理論上到達し得たサービスとしてSlackも挙げられています。これについてOpenAIは、Hacktronが従業員のSlackメッセージへの実際のアクセスを検証したわけではないと述べています。

同セキュリティ企業は、アカウント乗っ取りの問題についてはBugcrowd経由でOpenAIに報告し、このAI大手は約14時間後に修正を確認したとしています。libheifの欠陥については別途HackerOne経由でDiscourseに報告しており、Discourseは2日以内に修正を用意するとともに、追加の防御策として画像処理のサンドボックス化を導入し、その後セキュリティアドバイザリを公開しました。

OpenAIは声明の中で、次のように述べています。「私たちは、今回の発見を連絡し共有してくれた研究者たちに感謝します。コミュニティのサインイントークンの権限を絞り込み、影響を受けたトークンとセッションを失効させました」

同社はOpenAI側の発見に対する報奨金として、Hacktronに6,500ドルを支払いました。

翻訳元: https://www.securityweek.com/ai-built-exploit-and-sign-in-flaw-opened-path-to-internal-openai-code/

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