OpenAIのセキュリティ欠陥、AIモデルの蒸留対策を回避される恐れ

OpenAIのAPIで新たに公開された脆弱性「コンパクション・スマグリング(compaction smuggling)」により、攻撃者が最先端モデルの非公開の推論トレースを抽出できる状態になっていました。これにより、無許可のモデル蒸留を防ぐ保護策が回避されていました。

Xintが10月26日に公開した情報によると、この欠陥は2026年8月にTim Becker氏が発見しました。OpenAIは問題を確認し、10月23日に非公開の修正を適用したうえで、チームに6,000ドルの報奨金を支払いました。

この手法は、長いやり取りを暗号化されたコンテキスト項目に圧縮する「会話コンパクション」機能を悪用したものです。攻撃者は暗号を破るのではなく、OpenAIが保護された推論を処理し、モデル間で受け渡す仕組みを操作しました。

OpenAIの推論モデルは内部で作業用のトレースを生成しますが、通常は最終的な回答と、任意の推論要約しか公開しません。暗号化された推論項目を使えば、クライアントは内部コンテキストを直接読み取ることなく、後続のリクエストへ引き継げます。

以前の研究「Stealing Reasoning Traces from Proprietary LLM APIs」では、持ち運び可能な暗号化ブロックを性能の低いモデルに再生させ、平文として出力させられることが示されていました。

Tim Becker氏は、OpenAI、Anthropic、Googleに対する攻撃を記録しており、知的財産の窃取にとどまらないリスクがあると指摘しています。

Xintによると、OpenAIがその後に講じた緩和策は、従来の抽出手法を阻止しました。コンパクション・スマグリングは、まず保護された推論を別の暗号化成果物である「会話コンパクション」へ移すことで、この防御を回避しました。

この違いが重要だったのは、コンパクションが復号済みの推論にアクセスでき、しかもAPIクライアントが与えた指示を受け付けるためです。

Tim Becker氏はまず、ストレージを無効にした状態でgpt-5.6-solにタスクを送信し、APIが返した暗号化済みの推論項目を保持しました。

次に、会話履歴から元のタスクを削除し、コンパクションのエンドポイントを呼び出しました。指示では、推論をそのままJSONオブジェクト内に保持し、スペースをタブ文字に置き換えるようモデルに求めています。

公開された情報によると、この書式変換により、利用ポリシー用の分類器を回避できました。また、元のタスクを削除したことで、コンパクション用モデルが既存のトレースを保持せず、自力で問題を解いてしまう可能性も減りました。

最後に研究者らは、暗号化されたコンパクションをgpt-4.1とgpt-4oに渡し、内容を正確に再現するよう要求しました。JSONをデコードしてスペースを復元すると、読み取り可能な推論が得られました。

Xintは以前のGhostCompactの調査で、コンパクションが任意の推論を実行できること、そして別のモデルが暗号化されたコンパクション項目内の情報を出力できることをすでに確認していました。

実証では、405トークンの推論項目から612トークンのコンパクションが生成され、各デコード用モデルから609トークンの出力が得られました。両モデルは同一の結果を返しており、最終的な抽出段階での一貫性を裏付けています。

ただし、Xintは、元の平文にアクセスできない以上、完全な忠実性は証明できないと認めています。出力が一致しても、コンパクションが元のトークンをすべて保持していたことの証明にはなりません。

より大きな懸念は、抽出した推論で競合モデルを訓練する、大規模な蒸留です。OpenAIは別途、4,000人超のユーザーによる約16,000件の抽出パターンのリクエストを伴うキャンペーンを公表しました。ただし、これらの数字は試行の件数であり、必ずしも抽出に成功した件数ではないと強調しています。

コンパクション・スマグリングは、暗号が破られたのではなく、セキュリティ境界が機能しなかった事例です。推論を保護するには、復号済みの内容を読み取り、クライアントの指示を受け付け、他のモデルが再利用できる成果物を生成する、サーバー側のあらゆる変換処理に対して、一貫した制御が必要です。

脅威調査を効率化し、手作業を減らすため、1万6,000以上のSOCチームがANY.RUNを利用しています。自社チーム向けに試す

翻訳元: https://cyberpress.org/openai-security-flaw/

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