6分間で1000万人が使うツールに毒が仕込まれた──OpenAIを侵害した最新サプライチェーン攻撃の全貌
もしあなたが「セキュリティ事故はどこか遠い大企業の話」だと思っているなら、この記事を最後まで読んでほしい。
2026年5月11日、世界最大のAI企業のひとつであるOpenAIが、サプライチェーン攻撃によって内部システムへの侵入を許した。被害を受けたのは、開発者なら誰もが知る「信頼できるはずの」オープンソースライブラリ経由だ。
そしてこの攻撃は、OpenAIだけを狙ったものではない。 あなたが今日も使っているツールのどこかに、すでに毒が仕込まれていたかもしれない。
■ 6分間で起きたこと
2026年5月11日、UTC時間19時20分から19時26分までのわずか6分間。
攻撃グループ「TeamPCP」は、その短い時間の中でWebフロントエンド開発者が広く使うJavaScriptライブラリ「TanStack」の42個のパッケージに、84バージョンもの悪意あるコードを仕込んで公開した。
TanStackといえば、@tanstack/react-routerというパッケージだけで週に1,270万回ダウンロードされている。日本国内でも、モダンなWebサービスを開発しているエンジニアなら一度は使ったことがある有名ライブラリだ。
その後48時間も経たないうちに攻撃は連鎖し、Mistral AI・UiPath・Guardrails AIといった著名なAI・ビジネス系プロジェクトを含む172パッケージ・403バージョン(npmとPyPIの両方)に被害が拡大した。今回の攻撃はキャンペーン名から「Mini Shai-Hulud」と呼ばれている。
■ なぜ「信頼できるはずの」ものが武器になったのか
ここが今回の攻撃のもっとも恐ろしい点だ。
攻撃者はTanStackのメンテナアカウントを乗っ取ったわけではない。パスワードを盗んだわけでも、開発者を騙したわけでもない。彼らが突いたのは、GitHubのCI/CD(自動ビルド・公開)の仕組みそのものの隙だった。
技術的な詳細は後述するが、要するに「公式の自動化プロセスを乗っ取って、正規の署名がついた悪意あるパッケージを公開した」ということだ。
さらに恐ろしいのは、セキュリティ業界標準の「SLSA Build Level 3」という最高クラスの安全証明を通過していたこと。これは「このパッケージは改ざんされていない、信頼できる」というお墨付きを得た状態で悪意あるコードが配布されたことを意味する。
「怪しいパッケージは使わない」という自衛策が、意味をなさなくなっていた。
■ 盗まれたのは「鍵」だった
悪意あるコードが実行されると、感染した開発者のマシンから以下のものが盗み出された。
GitHubアクセストークン
npmパッケージ公開トークン
AWSなどのクラウド認証情報
SSHキー
Kubernetes(K8s)シークレット
.envファイル(データベースのパスワードなどが入っていることが多い)
いわば、デジタル空間の「鍵束」ごと持っていかれた状態だ。
しかも攻撃はそこで止まらない。マルウェアは盗んだGitHubトークンを使い、被害者のリポジトリに毒入りの設定ファイルを自動でコミットする。それを別の開発者がクローンやpullすると、その開発者のマシンにも感染が広がる──自己拡散型のワームだった。
macOSでは~/Library/LaunchAgents/com.user.gh-token-monitor.plistというファイルを仕込んで再起動後も常駐し続ける。VS CodeやClaude Codeのフック設定まで書き換えて、次の作業からずっと動き続けるように設計されていた。
■ OpenAIへの影響(公式声明より)
OpenAIは5月13〜14日、公式声明でこの攻撃による自社への影響を認めた。
確認された被害:
社員2名の業務用デバイスが感染
限定的な内部ソースコードリポジトリへのアクセスが発生
コード署名証明書(macOS・Windows・iOS・Android用)が露出した可能性
影響がなかったもの:
顧客データ・ユーザーデータ
本番(Production)システム
知的財産・製品コード
APIキー・パスワード
「大企業でも社員のマシン2台が感染しただけで、侵入の糸口を作られた」という事実は重い。
■ あなたが今すぐすべきこと
📱 macOSでChatGPTアプリを使っているすべての人へ
今すぐOpenAIアプリを最新版に更新してください。期限は2026年6月12日です。
OpenAIはセキュリティ対応として、macOSアプリのコード署名証明書を全て更新した。古い証明書は6月12日に失効し、それ以降は古いバージョンのアプリが起動できなくなる(macOSのセキュリティ機能による)。
対象アプリ:
ChatGPT Desktop
Codex App
Codex CLI
Atlas
更新方法:各アプリのメニュー「アップデートを確認」、またはOpenAI公式サイトから最新版をダウンロード。
⚠️ Windows・iOS・Androidは今回の証明書問題の対象外。ただし通常どおりアップデートは推奨。
💻 開発者・エンジニアの方へ(補足)
以下のチェックを今日中に実施してほしい。
① 影響パッケージの確認
# npmプロジェクトで@tanstackパッケージを使っているか確認
grep "@tanstack/" package-lock.json | grep -v node_modules
# 悪意あるペイロードファイルの検索
find node_modules -name "router_init.js" -type f 2>/dev/null② 常駐マルウェアの確認(macOS)
ls ~/Library/LaunchAgents/com.user.gh-token-monitor.plistこのファイルが存在したら即座に削除してトークン類を全てローテーションすること。
③ 設定ファイルの汚染確認
# Claude Codeフック設定を確認
cat .claude/settings.json
# VS Codeタスク設定を確認
cat .vscode/tasks.jsonrouter_runtime.jsやsetup.mjsへの参照があれば感染の痕跡。
④ 認証情報のローテーション
npm install時に影響バージョンをインストールしていた可能性がある場合、GitHubトークン・npmトークン・AWSキーなどを全て無効化・再発行すること。
■ この事件が問いかけるもの
OpenAI自身が公式声明でこう述べている。
「現代のソフトウェアは、相互に連結されたエコシステムの上に成り立っている」
私たちは毎日、数十・数百のオープンソースライブラリに依存して仕事をしている。それらは「誰かが善意でメンテナンスしている信頼できるもの」という前提の上で動いている。
今回の攻撃はその「信頼」を悪用した。メンテナのアカウントを乗っ取るのではなく、ビルドの自動化プロセスを乗っ取ることで、正規の署名つきで悪意あるコードを配布することに成功した。
そしてOpenAIも──あの規模のセキュリティ組織を持つ企業でも──社員のマシン2台が感染した。
「自分は大丈夫」という感覚は、もはや根拠がない。
■ 今回の攻撃の被害を受けたパッケージ(主要なもの)
@tanstack/react-router、@tanstack/router、その他@tanstack/* 計42パッケージ
Mistral AI関連パッケージ(npm/PyPI)
UiPath関連パッケージ
Guardrails AI
ほか合計172パッケージ・403バージョン(2026年5月12日時点)
■ 参考・一次ソース
いいなと思ったら応援しよう!
サーバー代とコーヒー代になります☕ 役に立ったら応援よろしくお願いします!