マルウェア「Mini Shai-Hulud」が開発エコシステムを襲撃:TanStack、Mistral AI、Guardrails AIに深刻な影響

-

ソフトウェア開発の世界を揺るがす新たな脅威として、「Mini Shai-Hulud」と名付けられたマルウェアによるサプライチェーン攻撃が猛威を振るっています。この攻撃は、人気のオープンソースパッケージであるTanStack、Mistral AI、Guardrails AIなどを含む複数のnpmおよびPyPIパッケージを侵害し、開発エコシステム全体に深刻な影響を及ぼしていると報じられています。認証情報の窃取からシステムの破壊に至るまで、その巧妙な手口と広範な影響について詳細を解説します。

「Mini Shai-Hulud」マルウェアの脅威と巧妙な拡散手口

「Mini Shai-Hulud」マルウェアは、脅威アクターTeamPCPによって実行されている一連のサプライチェーン攻撃の一環として確認されました。このマルウェアは、npmおよびPyPIといった主要なパッケージリポジトリを通じて、開発者が日常的に利用するライブラリに悪意のあるコードを注入します。その手口は極めて巧妙で、感染したパッケージには難読化されたJavaScriptファイル「router_init.js」が組み込まれていました。

このJavaScriptファイルは、実行環境を詳細にプロファイリングした後、クラウドプロバイダー、仮想通貨ウォレット、AIツール、メッセージングアプリ、さらにはGitHub Actionsのような継続的インテグレーション(CI)システムを含む多岐にわたるプラットフォームから認証情報を窃取する能力を持っています。窃取されたデータは、「filev2.getsession[.]org」というドメインに外部送信されることが確認されています。このドメインは分散型プライバシー重視のメッセージングサービスに属しており、企業環境でブロックされにくいという特性を悪用し、検出を回避しようとする攻撃者の意図が伺えます。

さらに、このマルウェアは永続性を確保するための仕掛けも持っています。Claude CodeやMicrosoft Visual Studio Code(VS Code)といった統合開発環境(IDE)にフックを確立し、システム再起動後もマルウェアが再実行されるようにします。また、「gh-token-monitor」というサービスをインストールしてGitHubトークンを継続的に監視し、再外部送信する機能も備わっています。これに加えて、悪意のあるGitHub Actionsワークフローをプロジェクトに注入し、リポジトリのシークレット情報をJSONオブジェクトとして外部サーバー「api.masscan[.]cloud」にアップロードする機能も確認されており、開発環境の機密情報が広範囲にわたって危険に晒される可能性が指摘されています。

¥4,180 (楽天市場時点 | 楽天市場調べ)

GitHub Actionsを悪用したサプライチェーン攻撃の深化

今回の「Mini Shai-Hulud」による攻撃は、その手口の進化において特に注目に値します。以前のサプライチェーン攻撃では、主に`preinstall`フックを利用して感染シーケンスをトリガーする手法が一般的でした。しかし、最新のTanStackへの攻撃では、より洗練された戦略が採用されています。

具体的には、パッケージのtarball内にJavaScriptファイルを配置し、GitHubでホストされているパッケージへのオプション依存関係を追加するという手法です。このGitHub依存関係には`prepare`ライフサイクルフックが含まれており、Bunランタイムを介してJavaScriptペイロードが実行される仕組みです。一方で、Mistral AIのパッケージに対する更新では、以前と同様に`preinstall`フックを用いて「node setup.mjs」を呼び出し、Bunをダウンロードして同じJavaScriptマルウェアを実行するというアプローチが取られています。

TanStackの事例では、GitHub Actionsの攻撃チェーンが悪用されたことが判明しています。これには、`pull_request_target`トリガー、GitHub Actionsのキャッシュポイズニング、そしてGitHub ActionsランナープロセスからのOIDC(OpenID Connect)トークンのランタイムメモリ抽出が含まれます。TanStackの報告によると、npmトークン自体は窃取されておらず、npmの公開ワークフローそのものも侵害されていなかったとされています。しかし、攻撃者はGitHubフォーク内で孤立したコミットを介して悪意のあるペイロードを準備し、それをnpmの公開tarballに注入しました。その後、プロジェクトの正規の「TanStack/router」ワークフローを乗っ取り、有効なSLSA(Supply-chain Levels for Software Artifacts)プロベナンス付きで侵害されたバージョンを公開したのです。

この攻撃の特筆すべき点は、「信頼された公開(trusted publishing)」のメカニズムを悪用したことです。ワークフロー内で実行される攻撃者制御コードが、そのOIDC権限を利用して短命の公開トークンを生成し、npmトークンを窃取することなくパッケージを公開しました。この一連のサプライチェーン侵害にはCVE-2026-45321が割り当てられ、CVSSスコアは最大10.0のうち9.6というクリティカルな深刻度が示されています。TanStackエコシステム全体で42のパッケージと84のバージョンが影響を受けたとされており、SLSA Build Level 3のプロベナンス証明書を持つ悪意のあるパッケージを生成した、初の文書化されたnpmワームであると報じられています。

https://x.com/MsftSecIntel/status/2054041471280423424

自己増殖するマルウェア「Mini Shai-Hulud」の拡散メカニズム

「Mini Shai-Hulud」マルウェアの最も危険な特性の一つは、その自己増殖能力にあります。このワームは、一度システムに侵入すると、他のパッケージへと自らを拡散させようと試みます。そのメカニズムは、`bypass_2fa`(二要素認証のバイパス)が`true`に設定されている公開可能なnpmトークンを探索することから始まります。

このようなトークンを発見すると、ワームは同じメンテナーが公開しているすべてのパッケージを列挙します。そして、GitHub OIDCトークンをパッケージごとの公開トークンと交換することで、従来の認証プロセスを完全に回避し、他のパッケージにも悪意のあるコードを注入して拡散していくのです。この手口により、攻撃者は一度の侵入から広範囲にわたるサプライチェーンを汚染する可能性を秘めています。

Endor Labsの研究者であるPeyton Kennedy氏は、孤立したコミットが正規のTanStack/routerワークフローの実行をトリガーしたと指摘しています。リポジトリのOIDC信頼発行者設定が、特定の保護されたブランチやワークフローファイルにスコープを限定せず、リポジトリレベルで信頼を付与していたため、そのコミットによってトリガーされたワークフロー実行は、有効な短命npm公開トークンを要求することが可能でした。この自己増殖能力により、「Mini Shai-Hulud」はTanStackだけでなく、UiPath、DraftLab、その他のメンテナーが管理するパッケージにも拡散していることが確認されています。

PyPIパッケージへの影響と標的型破壊工作

「Mini Shai-Hulud」キャンペーンは、npmエコシステムにとどまらず、Pythonパッケージインデックス(PyPI)にもその影響を広げています。具体的には、`guardrails-ai@0.10.1`や`mistralai@2.4.6`といった人気のあるPyPIパッケージが侵害されたことが報告されています。

Microsoftが実施した悪意のある`mistralai` PyPIパッケージの分析では、その機能の一部が明らかになっています。このパッケージは、リモートサーバー(「83.142.209[.]194」)から認証情報窃取マルウェアをダウンロードするように設計されていました。さらに注目すべきは、ロシア語環境を回避する国別ロジックが組み込まれていた点です。そして、最も悪質な機能として、システムがイスラエルまたはイランにあると判断された場合、1/6の確率で`rm -rf /`コマンドを実行する「ジオフェンスされた破壊的ブランチ」が含まれていたことが判明しています。これは、特定の地理的地域を標的とした、システムを完全に破壊する可能性のある極めて悪質な機能です。

また、`guardrails-ai@0.10.1`の侵害も特に注目されています。Socket社の報告によると、このパッケージはインポート時に悪意のあるコードを実行します。Linuxシステムをチェックした後、`https://git-tanstack.com/transformers.pyz`からリモートのPythonアーティファクトをダウンロードし、`/tmp/transformers.pyz`に書き込み、整合性検証なしに`python3`で実行するという手口です。このような挙動は、開発者がパッケージをインストールして利用するだけで、意図せずしてマルウェアを実行してしまう危険性を示しています。

この最新の活動は、「Mini Shai-Hulud」キャンペーンがnpmとPyPIの両方で継続的に拡散していることを示しており、影響を受けるパッケージは検索インフラ、AIツール、航空関連の開発者パッケージ、エンタープライズ自動化、フロントエンドツール、そしてCI/CD関連のエコシステムにまで及んでいます。その広範な影響範囲は、現代のソフトウェア開発サプライチェーンにおける脆弱性の深刻さを浮き彫りにしています。

開発者が直面する新たな脅威と対策

「Mini Shai-Hulud」マルウェアによる一連の攻撃は、現代のソフトウェア開発エコシステム、特にオープンソースソフトウェアの信頼性に対する深刻な課題を突きつけています。開発者が日常的に利用するライブラリやツールが、このように巧妙な手口で侵害されることは、サプライチェーン全体のセキュリティに対する懸念を増大させます。従来のセキュリティ対策では検知が困難なレベルにまで攻撃手法が進化しており、開発者や企業は新たな脅威モデルに適応する必要があります。

この状況において、開発者側で講じるべき具体的な対策は多岐にわたります。まず、プロジェクトの依存関係を厳格に管理し、定期的な脆弱性スキャンを実施することが不可欠です。利用しているすべてのパッケージが最新であり、既知の脆弱性がないことを常に確認する必要があります。次に、CI/CDパイプラインのセキュリティを強化することが重要です。最小権限の原則を徹底し、GitHub Actionsなどの自動化ツールに与える権限を必要最小限に限定するべきです。特に、OIDC設定においては、リポジトリ全体に信頼を付与するのではなく、特定の保護されたブランチやワークフローファイルにスコープを限定することで、攻撃者が権限を悪用するリスクを低減できます。

また、多要素認証(MFA)の徹底と、APIトークンやシークレット情報の管理を厳重に行うことも極めて重要です。これらの認証情報は、決してハードコードせず、安全なシークレット管理システムを通じてアクセス制御を行うべきです。信頼できるソースからのパッケージのみを使用し、不審な挙動を示すパッケージはインストールを避けるという基本的なセキュリティ意識も再確認する必要があります。さらに、開発環境やCI/CD環境における異常なアクティビティを監視し、ログを詳細に分析することで、早期に侵害を検知できる可能性が高まります。

業界全体としては、SLSAのようなソフトウェアサプライチェーンのセキュリティ保証レベルを高めるためのプロベナンス証明の強化と、その悪用を防ぐための継続的な研究開発が求められます。今回の攻撃は、信頼された公開メカニズムやGitHub Actionsの機能を悪用しており、これらの基盤技術のセキュリティ強化も喫緊の課題と言えるでしょう。開発者コミュニティとセキュリティ業界が連携し、新たな脅威に対して迅速かつ効果的に対応していくことが不可欠です。

まとめ

「Mini Shai-Hulud」マルウェアによるサプライチェーン攻撃は、オープンソースエコシステムを標的とした脅威が新たな段階に入ったことを明確に示しています。GitHub ActionsやOIDCといった信頼性の高い開発インフラを悪用し、自己増殖能力を持つこのマルウェアは、開発者や企業にとって極めて深刻なリスクをもたらします。認証情報の窃取からシステムの破壊に至るまで、その潜在的な被害は計り知れません。開発者は、依存関係の厳格な管理、CI/CDパイプラインのセキュリティ強化、多要素認証の徹底など、多層的な対策を講じる必要があります。今後もサイバーセキュリティの脅威は進化し続けるため、開発者コミュニティとセキュリティ業界が連携し、情報共有と対策強化を継続していくことが不可欠です。

情報元:thehackernews.com

合わせて読みたい  オープンソースパッケージ「element-data」で認証情報窃取の深刻な事態発生! 月間100万DL超の人気CLIに潜んだ脅威と対策

著者

カテゴリー

Related Stories