TanStackのnpmサプライチェーン攻撃事後検証
原題: Postmortem: TanStack NPM supply-chain compromise
なぜ重要か
高度なサプライチェーン攻撃手法の実例として、オープンソース開発者とCI/CDセキュリティ対策の重要性を示している
2026年5月11日19:20-19:26UTC、攻撃者がTanStackの42個のnpmパッケージに84個の悪意のあるバージョンを公開。GitHub ActionsのOIDCトークンを実行時メモリから抽出し、npm公開権限を不正取得。外部研究者により20分以内に検出され、影響を受けたバージョンは全て非推奨化された。
TanStackは2026年5月11日、同社のnpmパッケージへのサプライチェーン攻撃について事後検証を公開した。攻撃は19:20から19:26のわずか6分間で実行され、42個の@tanstack/*パッケージに84個の悪意のあるバージョンが公開された。
攻撃手法は高度で、攻撃者は「Pwn Request」パターン、GitHub Actionsキャッシュポイズニング、GitHub Actions実行プロセスからのOIDCトークンメモリ抽出を組み合わせた。攻撃者は事前にTanStack/routerのフォーク「zblgg/configuration」を作成し、悪意のあるコミットを追加。その後プルリクエストを通じてGitHub Actionsワークフローを悪用してnpm公開権限を取得した。
悪意のあるコードは約2.3MBの難読化されたrouter_init.jsで、npm installの実行時に起動する。このマルウェアはAWS認証情報、GCP メタデータ、Kubernetes トークン、SSH秘密鍵などの認証情報を収集し、Session/Oxenメッセンジャーネットワーク経由で外部送信。さらに被害者が管理する他のパッケージを検索し、同様の悪意のあるコードを注入して自己増殖する機能も持つ。
StepSecurityのashishkurmi研究者により攻撃から20分以内に発見され、影響を受けた全バージョンが非推奨化された。TanStackは影響を受けたホストでAWS、GCP、Kubernetes、GitHub、SSH認証情報の更新を強く推奨している。