Shai-Huludマルウェア、500以上のnpmパッケージを感染させGitHubで秘密情報を漏洩

概要

2025年11月24日、npm(Node Package Manager)において、Shai-Huludと呼ばれるマルウェアによる大規模なサプライチェーン攻撃が確認されました。この攻撃により、Zapier、ENS Domains、PostHog、Postmanなど、数百に及ぶ有名パッケージのトロイの木馬化されたバージョンがnpmレジストリに公開されました。目的は、開発者やCI/CD(継続的インテグレーションおよび継続的デリバリー)の機密情報を盗み出すことであり、盗まれたデータはエンコードされた形式でGitHubに自動的に公開されています。

発表時点では、この攻撃に関連するGitHubのエントリが27,600件以上も確認されており、事態の深刻さを示しています。

マルウェアの詳細と攻撃の手口

Shai-Huludマルウェアがnpmスペースに初めて出現したのは9月中旬で、当時187のパッケージが自己増殖型ペイロードによって侵害されました。このペイロードはTruffleHogツールを使用して開発者の秘密情報を盗み出していました。

今回の新しいキャンペーンでは、攻撃者は正規のパッケージをダウンロードし、そのpackage.jsonファイルに悪意のあるスクリプトを注入。その後、侵害されたメンテナーアカウントを使用して、これらの改変されたパッケージをnpmに再公開しました。マルウェア研究者のチャーリー・エリクセン氏がこのキャンペーンを発見した当初は105のトロイの木馬化されたパッケージが確認されていましたが、その後492にまで増加。全体では27,000以上の悪意のあるパッケージが確認されています。

Wizクラウドセキュリティプラットフォームの研究者によると、このキャンペーンでは約350のユニークなメンテナーアカウントが使用されており、直近では30分ごとに1,000の新しいリポジトリがGitHubに追加されているとのことです。

CI/CDセキュリティ企業Step Securityの技術分析によると、新しいShai-Huludマルウェアのペイロードは主に2つのファイルに存在します。一つはBunインストーラーを装ったドロッパーであるsetup_bun.js、もう一つはサイズが10MBにも及ぶbun_environment.jsです。後者のファイルは、数千のエントリを持つ大規模なhexエンコード文字列、アンチ分析ループ、コード内のすべての文字列を取得するための難読化された関数など、極端な難読化技術に依存しています。

Wizによると、悪意のあるコードはプリインストール段階でのみ実行され、以下のファイルを生成します:

  • cloud.json
  • contents.json
  • environment.json
  • truffleSecrets.json

盗まれた秘密情報は、「Sha1-Hulud: The Second Coming」という説明を持つ自動生成されたGitHubリポジトリに公開されています。これは、攻撃者がGitHubアカウントにもアクセスし、これらのリポジトリを作成していることを示唆しています。

影響を受けたパッケージと推奨される対策

Aikido Securityが発見した186のShai-Huludマルウェア感染パッケージのリストには、Zapier、ENS Domains、AsyncAPIなどの主要なパッケージが多数含まれています。特にZapierのパッケージは、Zapier連携を構築するための公式ツールキットであり、ENS Domainsのパッケージは.ethドメインの解決や公式ENSスマートコントラクトとの連携に広く使用されているため、その影響は甚大です。

現在、一部の感染パッケージはnpmからダウンロード可能ですが、プラットフォーム上には不正な最新バージョン公開に関する警告メッセージが表示されているケースもあります。

開発者には以下の対策が強く推奨されます:

  • Aikidoが公開している感染パッケージの完全なリストを確認し、該当する場合は安全なバージョンにダウングレードしてください。
  • 直ちにすべての機密情報(シークレット)とCI/CDトークンをローテーションしてください。
  • Wizの研究者は、npm、GitHub、およびクラウドプロバイダーに関連するすべての認証情報をローテーションすることを推奨しています。
  • 可能であれば、継続的インテグレーションプロセス中にnpmのpostinstallスクリプトを無効にすることを検討してください。

GitHubは攻撃者のリポジトリを削除する対応を行っていますが、攻撃者は非常に速いペースで新しいリポジトリを作成し続けています。GitHubはnpmに対するサプライチェーン攻撃を防ぐための追加のセキュリティ対策を導入していますが、これらの対策は段階的に実施されている最中です。


元記事: https://www.bleepingcomputer.com/news/security/shai-hulud-malware-infects-500-npm-packages-leaks-secrets-on-github/