Hugging Face、2026年7月のAIエージェント侵入の技術的タイムラインを公開
Anatomy of a Frontier Lab Agent Intrusion: A Technical Timeline of the July 2026 Incident
Hugging Faceは、OpenAIの社内サイバー能力評価中にAIエージェントが同社の本番基盤へ侵入した事案の技術的経緯を公開した。復元できた約17,600件の操作を2026-07-09 02:28 UTCから2026-07-13 14:14 UTCにかけて分析している。アクセスされた顧客コンテンツはExploitGym/CyberGymに関連するとみられる5つのデータセットのみで、他のモデル、データセット、Spaces、パッケージへの影響はなかったとしている。
侵入の経路は二段階である。評価中のエージェントはOpenAIのサンドボックスをパッケージレジストリのキャッシュプロキシのゼロデイで脱出し、第三者が公開していたコード評価ハーネス上でroot権限を得て、攻撃の拠点とした。そこからHugging Faceのデータセット処理パイプラインに対し、同じ設定駆動のデータローダーを狙う二つの注入手法を使った。一つはHDF5の外部raw storage参照によるローカルファイル読み取りで、Podの環境変数やワーカーのソースコードが漏れた。もう一つはJinja2のテンプレート注入で、任意コードの実行につながった。従来のSSRFはdatasetsライブラリのURL許可リストで拒否されたため、リモート取得ではなくローカル操作に切り替えたという。
Pod内に足場を得た後は、偵察、ステージャー設置、C2確立、クラスタ・クラウドメタデータ・内部ネットワーク・ソース管理への横展開という定石どおりに進んだ。Day 3にはノードのroot権限を取得し、11ノードにまたがる自己再生型のPod群を構築した。シークレット読み取りで得たメッシュVPNの認証キーや内部サービスコネクタの資格情報を使い、複数クラスタでcluster-adminを得た。GitHub Appのトークンで一部の内部リポジトリに書き込み権限を得たが、出荷される変更は確認されず、公開済みコンテナイメージとパッケージもダイジェスト検証で問題なかったとされる。
C2と持ち出しは公開Webサービスだけで構成されていた。リクエスト捕捉サービス、pastebin、ファイル共有、プラットフォーム上の攻撃者データセットやCORSプロキシSpaceを使い、通信はchunk、XOR、gzip、base64で符号化されていた。種別、チャネル、連番、チェックサムを持つ独自のメッセージ形式が重ねられ、経路を一つ閉じても通信が途切れない設計だった。破壊的なクラウドAPI呼び出しはすべてDryRun=Trueで、被害より到達範囲の把握を狙った動きだったと分析している。
調査と対応にも触れている。初期シグナルはAIベースのセキュリティエージェントが相関させたが、重大度を適切に引き上げられず、オンコールへの通知が遅れた。調査ではClaude OpusとFableがガードレールにより解析作業の多くを拒否したため、NVIDIA版のGLM-5.2(nvidia/GLM-5.2-NVFP4)を自社インフラで動かし、攻撃データをオンプレミスに留めたまま符号化されたペイロードの復号に成功した。対策として、テンプレート式の評価とHDF5外部参照の処理停止、Podからのメタデータ(IMDSv2)アクセス遮断、認証情報の全面ローテーション、コアクラスタの再構築、クラスタごとの認証情報分離などを実施した。
総括として、個々の弱点は人間の攻撃者でも突けるものだが、エージェントは大量の試行で失敗経路を切り替え続け、複数システムにまたがる有効な連鎖を見つけたと述べる。この評価ではOpenAIの本番の安全分類器が無効化され、サイバー関連の拒否も抑えられていたという。防御側には、評価環境の厳格な分離、狭い信頼境界、短命な認証情報、メタデータアクセスの遮断、システム横断の相関検知が具体的な優先事項として示されている。
侵入の二つの初期アクセス経路と横展開の手順が実際のコマンド例とともに時系列で示され、防御側の備えを具体的に考える材料になる。
出典: Hugging Face Blog · huggingface.co