偽のBunランタイムでわずか数時間で1000個以上のNPMパッケージと2万7000個以上のGithubリポジトリがマルウェアに感染

現地時間の2025年11月24日、サプライチェーンマルウェアや脆弱(ぜいじゃく)性に関する研究を行うオープンソースのセキュリティ研究所であるHelixGuardが、NPMレジストリ内の1000を超えるコンポーネントが、数時間以内に同じ手法で改ざんされたことを検出しました。改ざんされたコンポーネントは「Bunランタイムを導入する」という虚偽の主張を行っており、スクリプトや難読化されたファイルが追加されていたことも確認されています。
Shai-Hulud Returns: Over 1K NPM Packages and 27K+ Github Repos infected via Fake Bun Runtime Within Hours — HelixGuard
https://helixguard.ai/blog/malicious-sha1hulud-2025-11-24

HelixGuardによると、NPMレジストリ内の1000を超えるコンポーネントがわずか数時間で同じ手法を用いて改ざんされたそうです。NPMレジストリ内の改ざんされたコンポーネントは、「Bunランタイムを導入する」という虚偽の主張をしており、スクリプトと難読化されたファイル(bun_environment.js)が追加されていることが確認されています。
追加されたスクリプトが以下。
preinstall: node setup_bun.js
難読化されたファイルである「bun_environment.js」は悪意のあるJavaScriptファイルで、サイズは10MBを超えており、情報窃取のための膨大なロジックが組み込まれているとのこと。
この難読化されたファイルが実行されると、マルウェアはGitリポジトリからクレデンシャルがコミットされていないかを自動的に検査するツールのTruffleHogをダウンロードして実行します。これにより、ローカルマシンからnpmトークンやAWSやGoogle Cloud、Azureなどの資格情報、環境変数などの機密情報を盗むそうです。
また、悪意のあるスクリプトは、現在の環境にあるnpmの設定に基づいて「package.json」を改変することで、「setup_bun.js」と「bun_environment.js」を挿入します。その後、コンポーネントを再パッケージ化し、盗まれたトークンを使って「npm publish」を実行することで、ワームのように自己増殖的に拡散します。
悪意のあるスクリプトは盗み出した機密情報を送信するために、「.github/workflows/formatter_123456789.yml」という名前のワークフローファイルを作成し、「SHA1HULUD」という名前のGitHub Actionsのランナーを作成。このワークフローを通じてリポジトリのシークレットを二重のBase64エンコードで処理し、「actionsSecrets.json」にまとめて保存します。

そして、「Sha1-Hulud: The Second Coming」という説明文を持ったGitHubリポジトリを生成します。この名称を持ったGitHubリポジトリは記事作成時点で2万7000以上存在するそうです。

この名称から、今回のサイバー攻撃を仕掛けたのはサプライチェーン攻撃「Shai-Hulud」を実行した人物と同一である可能性が指摘されています。
毎週200万回以上ダウンロードされる人気の@ctrl/tinycolorパッケージが高度なサプライチェーン攻撃「Shai-Hulud」によって40以上のNPMパッケージとともに侵害を受けていると発覚 - GIGAZINE

・関連記事
毎週200万回以上ダウンロードされる人気の@ctrl/tinycolorパッケージが高度なサプライチェーン攻撃「Shai-Hulud」によって40以上のNPMパッケージとともに侵害を受けていると発覚 - GIGAZINE
「AIの出力をコピペする開発者」を狙って悪意あるnpmパッケージをインストールさせて情報を盗み取る攻撃手法「PhantomRaven」の存在が判明 - GIGAZINE
週間ダウンロード数合計26億回以上の人気npmパッケージ18種類にマルウェア注入の可能性、npm開発者アカウントが乗っ取られて大騒ぎに - GIGAZINE
「ghcr.io」を「ghrc[.]io」にタイプミスするとGitHubの資格情報が盗まれるとの指摘 - GIGAZINE
・関連コンテンツ
in セキュリティ, Posted by logu_ii
You can read the machine translated English article Fake Bun runtime infects over 1,000 NPM ….






