大手ソフトウェア企業JFrog(ジェイフロッグ)は、npmエコシステムへの大規模攻撃を報告した。これは3件目のインシデントとなる。この攻撃は、侵害されたパッケージ@ctrl/tinycolor@4.1.1を発見したDaniel Pereira氏によって最初に特定された。その日の終わりまでに、JFrogのマルウェアスキャナーは、感染した338バージョンにわたる164個の悪意のあるパッケージを特定した。これらのパッケージには、ユーザーのシステムに関する完全な情報を収集するように設計された、同一のデータ窃取ペイロードの複数のバリエーションが含まれていた。
Shai-Huludデータスティーラーとして知られる悪意のあるペイロードは、bundle.jsファイルにバンドルされ、Webpackアプリケーションとしてパッケージ化されている。ユーザーのシステムを最適化するという一見無害な機能のように見えるが、ペイロードの実際の機能ははるかに悪質だ。GitHub、NPM、AWS、GCPからの認証情報を含む包括的なシステム情報を収集する。また、これらのプラットフォームから機密情報を検索・収集するオープンソースユーティリティーであるTruffleHogをダウンロードして実行する。
データが収集されると、ペイロードは既存のユーザーアカウントで認証を試む。認証に成功すると、「Shai-Hulud」というリポジトリーが作成され、盗んだコンテンツがbase64で複数回エンコードされてそこに保存される。このペイロードには8つの亜種が確認されており、全てコア機能は同じですが、わずかな違いがあり、攻撃者がキャンペーンを通じて繰り返し調整を加えてきたことが示唆されている。例えば、一部のバージョンでは、検出を回避するためにShai-Huludリポジトリーを非公開にし、他のバージョンではAzureの資格情報も盗み取ろうとする。
侵害されたパッケージをインストールしたユーザーは、影響を受けるマシンに保存されているGitHub、NPM、AWS、GCP、Azureのアクセストークンをローテーションすることが推奨される。また、TruffleHogによって識別されるアクセストークンもローテーションする必要がある。このような攻撃を積極的に防御するために、JFrogはJFrog Curationの使用を推奨している。JFrog Curationは、悪意のある、またはリスクの高いオープンソースパッケージがソフトウェアサプライチェーンに入る前に早期にブロックすることを可能にする。
盗まれたデータをGitHubリポジトリーに保存する手法は、以前のNXコマンドラインインターフェイス侵害で確認された手法と類似しているが、これらのインシデントの背後に同一の攻撃者がいるかどうかは不明だ。ツールとペイロードの設計は類似しているが、更なる証拠がないため、攻撃者の特定は依然として困難だ。
出典:JFrog
この製品の詳細については、JFrog製品ページをご覧ください。