Aikido

Red Hatのnpmパッケージが侵害され、認証情報を盗むワームが拡散

執筆者
Ilyas Makari

2026年6月1日、当社は @redhat-cloud-services スコープ npm上のパッケージが、認証情報を盗み出すワームに感染していました。30以上のパッケージが影響を受けている模様です。このマルウェアは、 「Mini Shai-Hulud」マルウェア これは最近、TeamPCPによってオープンソース化されたものです。このツールが一般公開されたことで、他の攻撃者も同様の技術にアクセスできるようになり、それらを複製したり、流用したりすることが可能になりました。 これらのパッケージはGitHub Actions OIDC経由で公開されたことから、npmトークンそのものではなく、CI/CD 侵害されたことが示唆されています。2026年6月1日以降に影響を受けるパッケージのバージョンをインストールしている場合は、すべてのシークレット、クラウド認証情報、SSHキー、およびnpmトークンが侵害されたものと見なし、直ちに更新してください。

「ミニ・シャイ・フルード」キャンペーンのタイムライン

ミアズマ:シャイ・フルードが戻ってきたのか?

影響を受けるパッケージに埋め込まれたペイロードは、TeamPCPによってオープンソース化されたサプライチェーンマルウェア「Mini Shai-Hulud」と強い類似性が見られる。興味深いことに、このバージョンは自らを「Miasma」と名乗っており、従来のShai-Huludに見られた『デューン』への言及が、ギリシャ神話に置き換えられているようだ。

TeamPCPは、数ヶ月にわたり標的型CI/CD 攻撃を展開している脅威アクターグループです。同グループが開発したマルウェア「Mini Shai-Hulud」は、高度な資格情報窃取型ワームであり、被害者のアカウントがアクセス可能なパッケージのバックドア仕込み版を再公開することで拡散します。 これまでに、MistralやTanStackMicrosoftのDurable TaskPyTorch LightningBitwarden CLI、Intercomへの侵害について報告してきましたが、これらはいずれも同一のツールセットに起因するものでした。

TeamPCPが「Mini Shai-Hulud」をオープンソース化したことで、その脅威は単一の攻撃者に留まらなくなりました。今では、どのグループでもこのフレームワークを入手し、改変して、新たな標的に対して展開することが可能になりました。

信頼できるパブリッシングバイパス

「Trusted publishing」は、CI/CD 有効期間の長いパブリッシュトークンを排除し、GitHub Actionsによって発行される有効期間の短いOIDCトークンに置き換えるためにnpmが導入した仕組みです。これはセキュリティを強化するために設計されましたが、最近の攻撃事例が示すように、脆弱性 不正に取得されたトークンをCI/CD 権を得た場合、この仕組みを迂回される可能性があります。

Red Hatの従業員のGitHubアカウントが乗っ取られ、コードレビューを完全に迂回して、複数のリポジトリに悪意のある孤立コミットが直接プッシュされていたことが判明しました。それらの孤立コミットにはワークフローファイルが含まれており(ci.yaml) およびスクリプト (_index.js)。

名前: リリース
公開日:
  プッシュ:
    ブランチ: ['*']
ジョブ:
  リリース:
    動作環境: ubuntu-latest
    権限:
      IDトークン: 書き込み
      内容: 読み取り
    ステップ:
      - 使用箇所: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
      - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
      - name: 準備
        実行: bun 実行 _index.js
        環境:
          OIDC_PACKAGES: "@redhat-cloud-services/frontend-components-advisor-components, @redhat-cloud-services/chrome, @redhat-cloud-services/frontend-components, @redhat-cloud-services/frontend-components-config-utilities, @redhat-cloud-services/frontend-components-config, @redhat-cloud-services/eslint-config-redhat-cloud-services, @redhat-cloud-services/frontend-components-notifications, @redhat-cloud-services/frontend-components-remediations, @redhat-cloud-services/rule-components, @redhat-cloud-services/frontend-components-testing, @redhat-cloud-services/frontend-components-translations, @redhat-cloud-services/tsc-transform-imports, @redhat-cloud-services/types, @redhat-cloud-services/frontend-components-utilities"
          WORKFLOW_ID: "ci.yaml"
          REPO_ID_SUFFIX: "RedHatInsights/frontend-components"

ワークフローが実行されると、Bunがインストールされ、以下が実行されます _index.js、ターゲットパッケージのリストを OIDC_PACKAGES 環境変数。このスクリプトは id-token: 書き込み GitHubから短期間有効なOIDCトークンを取得する権限を得た後、そのトークンを使用してnpmの信頼済み公開エンドポイントに直接認証を行い、リストにあるすべてのパッケージのバックドア仕込みバージョンを公開する。

これは、TanStackやBitwardenの侵害事例で見られたのと同じ根本的なパターンです。つまり、CI/CD 自体が攻撃対象となり、長期有効なトークンを排除するために設計されたOIDCベースの信頼できる公開プロセスが、誤った信頼のシグナルとなってしまっているのです。

事前インストールスクリプト

侵害された各パッケージは、package.json 内でプレインストールスクリプトを宣言しており、npm install を実行するたびに、アプリケーションのコードが実行される前、また開発者が何か異常があることに気付く前に、自動的に `node index.js` を実行します。

"scripts": {
  "preinstall": "node index.js"
}

index.js ファイルは、複数の難読化層によって隠蔽された 4.2 MB のペイロードです。

何が奪われるのか

これまでのMini Shai-Huludによる攻撃と同様、このペイロードはクラウドプロバイダー、CI/CD 、開発者向けツールに対して広範囲にわたる認証情報の収集を行います。CIの面では、GitHubシークレット 標的としておりシークレット GITHUB_TOKEN そして ACTIONS_RUNTIME_TOKEN. クラウドの認証情報については、AWSのアクセスキーとセッショントークン、GCPのアプリケーションデフォルト認証情報とサービスアカウントのキーファイル、Azureのサービスプリンシパル認証情報とマネージドIDトークンを収集します。また、ファイルシステム全体から、HashiCorp Vaultのトークン、Kubernetesのサービスアカウントトークンとkubeconfigファイル、npmおよびPyPIの公開トークン、SSH秘密鍵、Dockerレジストリの認証情報、GPG鍵、および見つかるすべての.envファイルをスキャンします。

方法 Aikido これを検知する

もしあなたが Aikido ユーザーの方は、中央フィードを確認し、マルウェア関連の問題でフィルタリングしてください。これにより、100/100の重大な問題として表示されます。 Aikido は毎晩自動的に再スキャンを行いますが、今すぐ手動で再スキャンを実行することをお勧めします。

まだ会員でない場合は Aikido をご利用でない場合は、アカウントを作成してリポジトリを連携できます。マルウェア対策機能は無料プランに含まれており、クレジットカードは不要です。

チーム全体をより広くカバーするには、 Aikidoの「デバイス保護」機能は、チームメンバーのデバイスにインストールされたソフトウェアパッケージを可視化し、管理することを可能にします。ブラウザ拡張機能、コードライブラリ、IDEプラグイン、依存関係まで、すべてを一元管理できます。マルウェアがインストールされる前に阻止しましょう。

将来的なセキュリティ対策として、オープンソースの「Aikido Chain」の導入をご検討ください。Safe Chainは既存のワークフローに組み込まれ、npm、npx、yarn、pnpm、pnpxの各コマンドをインターセプトし、インストール前にAikido データベースと照合してパッケージを検証します。

侵害の兆候

以下のパッケージバージョンのいずれかをインストールしている場合は、すべてのシークレット、クラウド認証情報、SSHキー、およびnpmトークンが漏洩したものとみなし、直ちに更新してください:

  • @redhat-cloud-services/chrome (2.3.1, 2.3.2)
  • @redhat-cloud-services/コンプライアンス・クライアント (4.0.3, 4.0.4)
  • @redhat-cloud-services/config-manager-client (5.0.4, 5.0.5)
  • @redhat-cloud-services/entitlements-client (4.0.11, 4.0.12)
  • @redhat-cloud-services/eslint-config-redhat-cloud-services (3.2.1, 3.2.2)
  • @redhat-cloud-services/フロントエンド・コンポーネント (7.7.2, 7.7.3)
  • @redhat-cloud-services/フロントエンド・コンポーネント・アドバイザー・コンポーネント (3.8.2)
  • @redhat-cloud-services/frontend-components-config (6.11.3, 6.11.4)
  • @redhat-cloud-services/フロントエンド・コンポーネント設定ユーティリティ (4.11.2, 4.11.3)
  • @redhat-cloud-services/フロントエンドコンポーネント-通知 (6.9.2, 6.9.3)
  • @redhat-cloud-services/フロントエンドコンポーネントの修正措置 (4.9.2, 4.9.3)
  • @redhat-cloud-services/フロントエンドコンポーネントのテスト (1.2.1, 1.2.2)
  • @redhat-cloud-services/frontend-components-translations (4.4.1, 4.4.2)
  • @redhat-cloud-services/フロントエンド・コンポーネント・ユーティリティ (7.4.1, 7.4.2)
  • @redhat-cloud-services/hcc-feo-mcp (0.3.1, 0.3.2)
  • @redhat-cloud-services/hcc-kessel-mcp (0.3.1, 0.3.2)
  • @redhat-cloud-services/hcc-pf-mcp (0.6.1, 0.6.2)
  • @redhat-cloud-services/host-inventory-client (5.0.3, 5.0.4)
  • @redhat-cloud-services/insights-client (4.0.4, 4.0.5)
  • @redhat-cloud-services/integrations-client (6.0.4, 6.0.5)
  • @redhat-cloud-services/javascript-clients-shared (2.0.8, 2.0.9)
  • @redhat-cloud-services/notifications-client (6.1.4, 6.1.5)
  • @redhat-cloud-services/patch-client (4.0.4, 4.0.5)
  • @redhat-cloud-services/quickstarts-client (4.0.11, 4.0.12)
  • @redhat-cloud-services/rbac-client (9.0.3, 9.0.4)
  • @redhat-cloud-services/remediations-client (4.0.4, 4.0.5)
  • @redhat-cloud-services/ルールコンポーネント (4.7.2, 4.7.3)
  • @redhat-cloud-services/sources-client (3.0.10, 3.0.11)
  • @redhat-cloud-services/topological-inventory-client (3.0.10, 3.0.11)
  • @redhat-cloud-services/tsc-transform-imports (1.2.2)
  • @redhat-cloud-services/types (3.6.1, 3.6.2, 3.6.4)
  • @redhat-cloud-services/vulnerabilities-client (2.1.8, 2.1.9)
共有:

https://www.aikido.dev/blog/red-hat-npm-packages-compromised-credential-stealing-worm

ニュースを購読する

4.7/5
誤検知にうんざりしていませんか?
10万人以上のユーザーと同様に Aikido をお試しください。
今すぐ始める
パーソナライズされたウォークスルーを受ける

10万以上のチームに信頼されています

今すぐ予約
アプリをスキャンして IDORs と実際の攻撃パスを検出します

10万以上のチームに信頼されています

スキャンを開始
AI がどのようにアプリをペンテストするかをご覧ください

10万以上のチームに信頼されています

テストを開始

今すぐ、安全な環境へ。

コード、クラウド、ランタイムを1つの中央システムでセキュアに。
脆弱性を迅速に発見し、自動的に修正。

クレジットカードは不要です。 | スキャン結果は32秒で表示されます。