毎週200万回以上ダウンロードされる人気の@ctrl/tinycolorパッケージが高度なサプライチェーン攻撃「Shai-Hulud」によって40以上のNPMパッケージとともに侵害を受けていると発覚

2025年9月15日、週に200万回以上ダウンロードされる人気のNPMパッケージ「@ctrl/tinycolor」が40以上の他のパッケージと共に侵害されていると、セキュリティ企業のStepSecurityが報告しました。この巧妙なサプライチェーン攻撃は「Shai-Hulud」と名付けられています。
ctrl/tinycolor and 40+ NPM Packages Compromised - StepSecurity
https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised
Shai-Huludで使われるマルウェアは自己増殖する能力を持っており、感染したパッケージのメンテナーが管理する他のパッケージにも自動的に感染を広げます。さらに、開発者の環境からAmazon Web Services、Google Cloud、Microsoft Azureといったクラウドサービスの認証情報を収集し、GitHub Actionsにバックドアを設置して永続的なアクセスを確保しようとします。

攻撃は、開発者が「npm install」コマンドを実行する際に、悪意のあるスクリプト(bundle.js)が実行されることで開始されます。このスクリプトは特にLinuxおよびmacOS環境を標的としています。
マルウェアはまず、オープンソースのツール「TruffleHog」を利用して、開発者のファイルシステム内からAWSのアクセスキーなどの機密情報をスキャンし、「GITHUB_TOKEN」などの環境変数に含まれる認証情報も収集します。収集された認証情報はJSON形式でまとめられ、「Shai-Hulud」という名前の公開されたGitHubリポジトリにアップロードされることで、攻撃者の手に渡ります。

さらに、このマルウェアは自己増殖機能によって、侵害したメンテナーのアカウントを悪用し、そのメンテナーが管理する他のNPMパッケージにも次々と感染していくとのこと。マルウェアは永続化のために、リポジトリ内に「.github/workflows/shai-hulud-workflow.yml」という悪意のあるGitHub Actionsワークフローファイルを作成します。
Shai-Huludの影響を受けるパッケージをまとめた表は、以下の画像をクリックすると見ることができます。

StepSecurityは、Shai-Huludによる被害を防ぐため、以下の即時対応を推奨しています。
・侵害されたパッケージの特定と削除
自身のプロジェクトに影響を受けるパッケージが含まれていないか確認し、含まれている場合は速やかにアンインストールする。
・リポジトリのクリーンアップ
リポジトリ内に悪意のあるGitHub Actionsワークフローや、「Shai-Hulud」という名前の不審なブランチが存在しないか確認し、存在する場合は削除する。
・認証情報のローテーション
GitHubのパーソナルアクセストークン、NPMトークン、AWS、Google Cloud、Microsoft Azureの認証情報など、漏洩の可能性があるすべての認証情報を直ちに無効化し、再発行する。
・クラウドインフラの監査
AWS CloudTrailやGoogle Cloudの監査ログなどを調査し、侵害された可能性のある期間中に不審なAPIアクセスがなかったかを確認する。
・関連記事
週間ダウンロード数合計26億回以上の人気npmパッケージ18種類にマルウェア注入の可能性、npm開発者アカウントが乗っ取られて大騒ぎに - GIGAZINE
ポルノを見ているときにウェブカメラで写真を撮影するマルウェアが発見される - GIGAZINE
「ghcr.io」を「ghrc[.]io」にタイプミスするとGitHubの資格情報が盗まれるとの指摘 - GIGAZINE
一見無害な画像の中に文字列を埋め込んでAIを攻撃する恐るべき手法が発見される - GIGAZINE
10万回インストールされたChrome拡張機能の「FreeVPN」がこっそりユーザーの画面のスクリーンショットを撮り外部サーバーに送信していることが判明 - GIGAZINE
ロシアのプロバスケットボール選手がランサムウェア攻撃グループへの関与を疑うアメリカの要請によりフランス警察によって逮捕される - GIGAZINE
・関連コンテンツ
in セキュリティ, Posted by log1i_yk
You can read the machine translated English article The popular @ctrl/tinycolor package, dow….