AI News HubLIVE
站内改写

ミニ・シャイ=フルドが再び:npmワームが160以上のパッケージに感染、Mistralも含む

Mini Shai-Hulud npmワームキャンペーンが拡大し、TanStackやMistralを含む169のパッケージ名で373の悪意あるバージョンが検出されました。このマルウェアは開発者環境やCI/CDランナーから認証情報を窃取し、信頼された公開経路を使って拡散します。

記事インテリジェンス

エンジニア中級

要点

  • 攻撃範囲がSAPパッケージから@tanstack、@mistralai、@uipathなど169パッケージに拡大
  • マルウェアはGitHubホストの依存パッケージのprepareスクリプトを利用してペイロードを実行
  • GitHubトークン、npmトークン、クラウド認証情報、OIDCトークンを窃取して自動伝播
  • 信頼された公開による証明はビルドの安全性を保証しない

重要な理由

このニュースが重要なのは、攻撃範囲がSAPパッケージから@tanstack、@mistralai、@uipathなど169パッケージに拡大ためです。

技術的影響

モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。

Mini Shai-Hulud npmワームが再び活動を開始し、その規模は前回をはるかに超えています。今年4月にSAPのnpmパッケージを標的に初めて確認されたこのワームは、現在では160以上のパッケージに拡大し、TanStackやMistralなどの有名プロジェクトにも影響を与えています。当社のマルウェアチームは、169のパッケージ名にわたる373の悪意あるバージョンエントリを検出しました。

攻撃の基本的な目的は変わりません。開発者マシンやCI/CDランナーから認証情報を盗み、それを使ってさらに多くのパッケージに感染することです。しかし、攻撃の規模と公開経路は大きく変化しています。今回の波は、誰かが手動で悪意のあるバージョンを公開しているようには見えません。マルウェアはビルドシステム内で実行され、npmとGitHubのアクセス権を盗み、信頼された公開経路を悪用して新しい悪意のあるパッケージをプッシュするように設計されています。

TanStackは依然として最も目立つ影響を受けたクラスターの一つですが、もはや全体像ではありません。影響を受けたパッケージには、@squawk、@tanstack、@uipath、@tallyui、@beproduct、@mistralai、@draftlab、@draftauth、@taskflow-corp、@tolkaなどのスコープ付きパッケージと、いくつかのスコープなしパッケージが含まれます。最大のクラスターは@squawk(87エントリ)、@tanstack(83)、@uipath(66)などです。

攻撃メカニズムはSAPの波とは少し異なります。感染したTanStackパッケージでは、tarballに新しい難読化ファイルrouter_init.jsが含まれています。さらに、悪意のあるパッケージはGitHubホストのパッケージを指すオプションの依存関係を追加します。このGit依存関係にはprepareスクリプトが含まれています。

"scripts": {
"prepare": "bun run tanstack_runner.js && exit 1"
}

npmはインストール中にGit依存関係のライフサイクルスクリプトを実行するため、一見正常な依存関係が静かに悪意のあるペイロードを実行できます。末尾の&& exit 1は、オプションの依存関係が失敗したように見せかけ、実際には悪意のあるコードがすでに実行されているため、インストールプロセスをより疑われにくくします。

さらに懸念されるのは、今回の攻撃が信頼された公開メカニズムを悪用している点です。信頼された公開は、OIDCを使用してGitHub Actionsワークフローで短期間のnpm公開トークンを取得し、長期トークンを排除することを目的としています。しかし、攻撃者が制御するコードがワークフロー内で実行されると、攻撃者はOIDC権限を使用して公開トークンを生成し、そこから公開を行う可能性があります。つまり、ソフトウェアの来歴証明(provenance)はビルドの安全性を保証するものではありません。証明はパッケージがどこでビルドされたかを示すだけで、ビルドが安全であることは証明しません。

悪意のあるペイロードはCI/CDおよび開発者環境を標的にしており、GitHubトークン、npmトークン、GitHub Actions OIDCトークン、AWS認証情報、Kubernetesサービスアカウントファイル、HashiCorp Vaultトークン、環境変数、ローカルファイルシステムの秘密を盗みます。さらに、トークンを盗んだ後、マルウェアはそれらを使用して被害者が公開可能なパッケージを検索し、パッケージアーカイブを改変し、悪意のある依存関係を注入し、バージョンを上げて新しい悪意のあるリリースを公開しようとします。これにより、単なる情報窃取ツールではなく、被害者の公開権限を次の感染経路に変える伝播ツールとなっています。

影響を受けたパッケージの完全なリストには、@tanstack/history、@tanstack/react-router、@mistralai/mistralai、@uipath/apollo-reactなど数百のエントリが含まれています。開発者はすぐに依存関係を確認し、これらの悪意のあるバージョンを使用していないことを確認する必要があります。また、CI/CD環境ではOIDC権限を厳密に制限し、npm公開アクティビティを監視することをお勧めします。