ChainDropサプライチェーン攻撃、NPMパッケージ400件超が感染

440パッケージの悪意あるバージョン、2,200件超がNPMレジストリに公開される新たなMini Shai-Hulud型サプライチェーン攻撃が確認されました。

ChainDropと名付けられたこのキャンペーンは、keyvおよびcacheable名前空間内の11個のマルウェア媒介パッケージから始まりました。これらのパッケージのメンテナーのGitHubアカウントが侵害されたことがきっかけです。

感染したパッケージを合わせると、週間ダウンロード数は5億件を超えます。エコシステム全体で広く利用されているため、これらの汚染によりさらに433件のパッケージが感染する事態となりました。

これまでのMini Shai-Hulud攻撃と同様、感染したパッケージはインストール時に悪意あるコードを実行し、自己増殖機能を備えた情報窃取型マルウェアを展開します。

感染したマシン上で、このマルウェアは発見可能なあらゆる機密情報(シークレット)を標的とし、それらを暗号化した上で、動的なHTTPSエンドポイント、または「Shai-Hulud: Here We Go Again」という説明が付けられた攻撃者作成の公開GitHubリポジトリのいずれかにデータを持ち出します。

Microsoftは次のように説明しています。「実行されると、このマルウェアは開発者のワークステーションやCI/CD(継続的インテグレーション/継続的デリバリー)環境内を探索し、NPM、GitHub、クラウド、インフラストラクチャの認証情報を探し出します。復元した認証情報を使ってNPM、GitHub、Amazon Web Services(AWS)、Kubernetes、HashiCorp Vaultに認証を行い、パッケージ、リポジトリ、ワークフローシークレット、クラウドパラメータ、シークレットストアの値を列挙できるようにしています」

さらに、このマルウェアは窃取したNPM認証情報を使い、感染したマシンからアクセス可能なあらゆるパッケージの汚染バージョンを公開するほか、侵害したGitHub認証情報とGitHub Actionsを利用してより多くのリポジトリに感染を広げ、認証情報の窃取を続けるとJFrogは述べています。

Microsoftは次のように指摘しています。「NPMの公開トークンを取得した後、侵害されたアカウントが利用可能なパッケージを列挙し、それぞれの最新のtarballをダウンロードして、マルウェア本体とセットアップ用ローダーを埋め込み、preinstallフックを追加、パッチバージョンを繰り上げた上で改変済みパッケージを再公開します。このマルウェアは、窃取したGitHub認証情報を使ってClaudeやVisual Studio Codeの設定ファイルをリポジトリに注入することもでき、これにより永続化を確立するとともに、開発者から開発者へと感染が広がる新たな経路を作り出します」

StepSecurityによると、このマルウェアは侵害したパッケージの過去の多数のバージョンを再公開したため、8月4日に確認された悪意あるパッケージのバージョン総数は4時間足らずのうちに2,212件に達したということです。

感染が確認されたすべてのパッケージバージョンには、正規のBun JavaScriptランタイムと、実際のマルウェア本体である710KBの難読化された第2段階コードをダウンロードするよう設計されたpreinstall用ドロッパーが含まれていました。

このマルウェアはShai-Hulud 2.0ワームの進化形であり、EtherHidingと呼ばれる手法を用いて、コマンド&コントロール(C&C)にEthereumブロックチェーンを利用しています。

Socketの指摘によれば、このワームにはホストレベルのデッドマンスイッチも組み込まれています。macOSおよびLinux上で永続化を達成した後、被害者から窃取したGitHubトークンを使って60秒ごとにGitHub APIをポーリングし、そのトークンが機能しなくなった場合は自身の状態を削除して終了します。また、24時間後には自動的に自身を消去します。

感染したパッケージのいずれかのバージョンをインストールしたNPM開発者は、自身のマシンが侵害されたものとみなすべきです。マルウェアの除去、CIランナーおよびビルドマシンの再構築、侵害された可能性のある認証情報の失効・ローテーション、そしてGitHubリポジトリにおける異常な活動の監査を行うことが推奨されています。

JFrogは次のように勧告しています。「影響を受けたシステムを隔離してください。クリーンアップを行う前に、パッケージのtarball、npmログ、CIログ、GitHub監査ログ、ランナーイメージを保存しておいてください。これらは被害範囲を特定するために必要になります」

翻訳元: https://www.securityweek.com/over-400-npm-packages-infected-in-chaindrop-supply-chain-attack/

ソース: securityweek.com