データダイオードを介したログ、アラート、およびテレメトリの送信

詳細はこちら
サイト翻訳には人工知能を利用しており、正確性を追求しておりますが、必ずしも100%正確とは限りません。ご了承ください。

ミニ・シャイ・フルード:TanStack、OpenAI、そしてnpmのSupply Chain

自己増殖型ワームは、今回もまた、信頼されていたパッケージやパイプラインを介して拡散した。
著者: ラヴィニア・プレイバン、プロダクト・マーケティング・スペシャリスト
この記事を共有する

今回のサプライチェーン攻撃は、オープンソースのレジストリを侵害しただけにとどまりませんでした。世界でも有数のセキュリティ意識の高い組織の内部にあるリリースパイプラインを乗っ取ったのです。その侵入経路となったのは、ごくありふれたnpm依存関係のインストールでした。

2026年5月11日、脅威グループ「TeamPCP」は、現在「Mini Shai-Hulud」として追跡されている「Shai-Hulud」ワーム攻撃キャンペーンの第4波を実行した。 この攻撃により、npmレジストリ内の42のTanStackパッケージに属する84の悪意あるパッケージバージョンが、わずか6分の間に侵害された。その後、npmおよびPyPI(Python Package Index)のソースコードレジストリ全体で170以上のパッケージに拡大し、Mistral AI、UiPath、OpenSearchに属するネームスペースも含まれた。影響を受けたパッケージのうち少なくとも1つである@tanstack/react-routerは、週に約1,200万回のダウンロードを記録している。

これは、激化の一途をたどるキャンペーンにおける第4の波です。これまでの波には、最初のnpmへの侵入(Shai-Hulud 1.0)や、GitHubの認証情報を標的とした2.0の波などが含まれます。

OpenAIは今週、社員の端末2台が不正アクセスを受けたことを明らかにした。ユーザーデータ、本番システム、知的財産には影響がなかったものの、被害の封じ込めには、システムの隔離、認証情報の更新、外部フォレンジック調査の実施が必要となった。また、単一の依存関係のインストールが引き金となり、macOS、Windows、iOS、Androidの各プラットフォームにおいて、コード署名証明書の全面的な更新が行われた。

ミニ・シャイ・ハルド 第4弾:概要

  • 攻撃日:2026年5月11日
  • 侵害されたパッケージ:42の@tanstack/*パッケージにまたがる84の悪意のあるバージョン。npmおよびPyPIレジストリ全体では170以上
  • CVE:CVE-2026-45321、CVSSスコア 9.6(重大)
  • 出典:TeamPCP(PCPcat、UNC6780としても追跡されている)
  • 攻撃の仕組み:3つの連鎖するGitHub Actionsの脆弱性 — Pwn Request、キャッシュポイズニング、ランナープロセスのメモリからのOIDC(OpenID Connect)トークンの抽出
  • 主な被害事例:OpenAI — 従業員2名の端末が侵害され、macOS、iOS、Windows、Android向けのコード署名証明書を含む機密情報が、社内ソースコードリポジトリから流出
  • 過去のリリース:Shai-Hulud 1.0(2025年9月)、2.0(2025年11月)、および3.0(2025年12月)
  • 影響: 開発環境およびCI/CD環境が侵害され 、メンテナのアカウントやパッケージが乗っ取られ、SLSAの来歴情報および署名付きビルドが「デフォルトで安全」ではなくなった
  • 主なリスク:SLSA(Software サプライチェーンレベル)のビルドレベル3の来歴証明を通過する悪意のあるパッケージ

攻撃の手口

「Mini Shai-Hulud Wave Four」は、これまでの同キャンペーンの中で最も技術的に洗練された攻撃です。これまでの波では、侵害されたメンテナンス担当者のアカウントを利用して悪意のあるパッケージを直接公開していましたが、Wave Fourでは3つのGitHub Actionsの脆弱性を連鎖的に悪用し、正規のリリースパイプラインそのものを乗っ取りました。

攻撃の流れ:

  1. フォークと偽装:攻撃者は TanStack/routerリポジトリをフォークし、GitHubのフォーク一覧画面で一目でフォークだと判別されないよう、zblgg/configurationという名前に変更した。
  2. ワークフローのトリガー: プルリクエスト作成され、pull_request_target ワークフローがトリガーされました。これは、フォークされたコードへのワークフローアクセスを許可する「Pwn Request」パターンです。
  3. キャッシュの汚染:攻撃者の フォークコード、GitHub Actionsのキャッシュに1.1 GBの改ざんされたpnpm-storeエントリを書き込み、リリースワークフローが後でそれを復元するようにキーを設定した
  4. 痕跡を消す: その後、悪意のあるプルリクエストは 強制的に「未処理」の状態にプッシュされ、閉鎖された。これにより、侵害の証拠を隠蔽した。
  5. トリガーを待つ: TanStackの正規のメンテナが、本筋とは無関係なプルリクエストをmainブランチにマージした、リリースワークフローがトリガーされ、汚染されたキャッシュが復元された
  6. Steal the token: Attacker-controlled binaries read /proc/<pid>/mem of the Runner.Worker process to extract the OIDC token minted for npm trusted publishing
  7. パイプライン経由での公開:これらの トークンは、TanStack独自の正規のリリース・パイプラインを通じて、84個の悪意のあるパッケージ・バージョンをnpmレジストリに公開するために使用されました。
  8. その結果、正規のリリースパイプラインによって生成され有効なSLSAビルドレベル3の来歴証明、有効なSigstore証明、および正当なGitHub Actions署名を持つパッケージに認証情報を盗むマルウェアが含まれていたことが判明した。TanStackが事後分析で明らかにしたように、開発者の視点からは、これらのパッケージは暗号的に真正なものに見え、侵害された兆候は一切見られなかった。

機密情報が流出:マルウェアのペイロードは 、侵害されたシステム上で実際にアクセス可能な認証情報やトークンといった機密情報を、3つの冗長化された経路(タイポスクワットドメイン(git-tanstack[.]com)、分散型メッセージングネットワーク「Session」、および盗まれたトークンを使用したGitHubAPI )を通じて外部へ 持ち出した。 標的となった認証情報には、GitHubトークン、AWS、GCP、Azureのクラウドシークレット、CI/CD認証情報、Kubernetes認証情報、HashiCorpVault 、およびSSHキーが含まれていた。

開発者のマシン上では、このマルウェアは(macOSのLaunchAgentまたはLinuxのsystemdを介して)60秒ごとにGitHubをポーリングする永続的なgh-token-monitorデーモンをインストールしました。トークンの失効により40Xエラーを受信すると、このデーモンはrm -rf ~/を実行してユーザーのホームディレクトリを消去しようとしました。デーモンは24時間後に自動的に終了しました。

OpenAIの影響とそこから読み取れること

OpenAIの発表によると、流出した内容は以下の通りである。侵害を受けた2名の従業員がアクセス可能な内部ソースコードリポジトリの一部から、macOS、iOS、Windows、Android製品向けのコード署名証明書を含む、限定的な認証情報が流出した。 OpenAIは、これらの証明書が悪意のあるソフトウェアの署名に使用されたという証拠はないと確認していますが、予防措置としてすべての証明書を更新しており、macOSユーザーに対し、2026年6月12日までにアプリケーションを更新するよう求めています。この期限を過ぎると、古い証明書で署名されたアプリは動作しなくなる可能性があります。

OpenAIの開示内容には、注目すべきもう1つの詳細がある。侵害された2台のデバイスには、組織全体の環境に展開されていた、最小リリース期間の確認やパッケージの出所検証といった制御機能を含む、パッケージ管理の設定更新がまだ適用されていなかった。攻撃は、その展開期間中に発生した。

これは、実際に存在し、よく見られるセキュリティ上の脆弱性を示しています。セキュリティ対策は段階的に導入されるものです。段階的な導入期間中、一部のシステムはより大きなリスクにさらされます。TeamPCPによる攻撃キャンペーンは数週間にわたり継続的に行われ、レジストリに悪意のあるパッケージを公開し、それらがインストールされるのを待ち構えていました。このタイミングは決して偶然ではありませんでした。

Supply Chain を防ぐために、Software を確認してください

MetaDefender Software Chain™ソリューションは、有効な署名や出所証明を含むパッケージを含め、SDLC(Software サイクル)に流入する実際のアートファクト、パッケージ、バイナリを組織が検査できるよう設計されており、パッケージが利用される時点でパイプライン全体にわたるソフトウェアの可視性を提供します。

MetaDefender Supply Chain には、この攻撃が悪用した脆弱性を直接的に解決する3つの機能があります:

Metascan™Multiscanning
30種類以上の商用マルウェア対策エンジンを組み合わせて、npmやPyPIなどのソースコードレジストリから提供されるパッケージが、開発者のワークステーションやCI/CDパイプラインに到達する前にスキャンを行います。単一の検出エンジンでは新たに公開された亜種を検知できない場合でも、検出範囲を広げることで、悪意のあるパッケージが検出されずに実行される可能性のある時間を短縮します。

SBOM(Software )の生成 :10種類以上のプログラミング言語に対応し、スタック全体のソフトウェアコンポーネント、直接および間接的な依存関係、バージョン履歴、レジストリのメタデータに関する可視性を提供します。SBOMは、予期せぬパッケージの変更が下流に波及する前にそれを可視化するのに役立ち、CycloneDXおよびSPDX形式でのエクスポート機能を備えており、DORA(デジタル運用レジリエンス法)を含む規制要件への準拠をサポートします。

Proactive DLP™:ソースコードをスキャンし、攻撃者にさらされる前に、コード内に埋め込まれたパスワード、API 、トークン、認証情報などのハードコードされた機密情報を検出します。これは、認証情報の流出への対応とは異なります。Proactive DLP™テクノロジーは、OpenAIのインシデントで発生したように、リポジトリが侵害された際に、ソースコードや設定ファイル内に残された機密情報にアクセス可能になってしまうリスクに対処します。

MetaDefender Software Supply Chain は、GitHub、GitLab、Azure DevOps、Nexusとネイティブに統合され、パイプラインの外部ではなく内部で検査を実行します。最近のリリースであるバージョン3.3.0では、データダイオード技術を用いた一方向データ転送により、隔離された環境間でのセキュアなアーティファクト転送がサポートされました。これにより、エアギャップ環境や高セキュリティ環境にある組織は、ネットワーク境界を越える前にアーティファクトを検証できるようになり、既存のDevSecOpsワークフローに組み込めるアクティベーションプロセスも利用可能です。

主なポイント

出所証明は起源を示すものであり、完全性を保証するものではない
Wave Fourは、リリース・パイプライン自体が侵害されていたため、有効に認証された悪意のあるパッケージを生成してしまった。署名や出所の確認は有用な指標ではあるが、コンテンツの安全性を保証するものではない。

「導入期間」とは、セキュリティ上の脆弱性が生じる期間を指します
OpenAIで発生したインシデントは、新たなサプライチェーン管理策を段階的に導入していた最中に起きました。どの組織でも、管理策の導入過程には同様の脆弱性が生じます。各段階でコンテンツレベルの検査を行うことで、攻撃が発生する前にポリシーの適用範囲を完全に整える必要性に依存することを軽減できます。

このキャンペーンは現在も継続中です
「Mini Shai-Hulud」は、2025年9月以降、技術的な高度化を段階的に進めてきたキャンペーンの第4弾です。根本的なパイプラインの脆弱性に対処せずに個々のインシデントを解決済みとして扱うと、組織は次の攻撃の標的となるリスクにさらされ続けることになります。

SBOMの可視化、マルウェアのマルチスキャン、およびハードコードされた機密情報の検出を組み合わせることで、現代のソフトウェア開発環境における攻撃対象領域を縮小できます。いかなるファイルも、いかなるデバイスも信用してはいけません。

「Mini Shai-Hulud」のようなサプライチェーン攻撃から、ソフトウェア開発パイプラインを保護する準備はできていますか?

関連文献

OPSWATで最新情報をお届けします!

今すぐご登録ください、 ストーリー、イベント情報などをお届けします。