Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
OreNPMGuard — Shai-Huludサプライチェーン攻撃に対する防御 | Kitploit
ツール/GitHubGitHub/rapticore/orenpmguard
侵害指標 (IOC) 管理脆弱性スキャナーコード分析マルウェア分析DevSecOps脅威インテリジェンスサプライチェーンセキュリティ学習と教育インシデントレスポンス
GitHubrapticore/orenpmguard

OreNPMGuard

Shai-Huludサプライチェーン攻撃に対する防御

リポジトリを見る
1347ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

OreNPMGuard - Shai-Hulud パッケージスキャナ

バージョン 2.0.0 - Shai-Hulud 2.0 検出 & 強化防御システム

npmパッケージのサプライチェーン攻撃(2025年9月のオリジナルShai-Huludおよび2025年11月のShai-Hulud 2.0)から侵害されたパッケージを検出するセキュリティツール。package.jsonとpackage-lock.jsonの両方をスキャンして、インストールされている正確なバージョンと侵害指標(IoC)を検出します。PythonとNode.jsの両方の実装が利用可能で、一元管理されたYAML設定により簡単にメンテナンスできます。

最新情報: 2025年11月24日 - 738以上の侵害パッケージ を追跡し、1,291のユニークな package@version の組み合わせ を記録。オリジナルのShai-HuludとShai-Hulud 2.0の両方の攻撃バリアントを検出します。

マルチエコシステムスキャンについては、ore-mal-pkg-inspector を参照してください。

🔗 関連プロジェクト

マルチエコシステムの悪意あるパッケージスキャン(npm、PyPI、Maven、RubyGems、Go、Cargo)については、ore-mal-pkg-inspector をご覧ください。動的な脅威インテリジェンスを備えた包括的な悪意あるパッケージスキャナです。

OreNPMGuardは、npmパッケージに対するShai-Hulud攻撃防御に特化しています。

🚨 Shai-Hulud攻撃について

Shai-Huludは、2025年9月14日から15日にかけてnpmパッケージを侵害し始めた自己複製型ワームであり、npmエコシステムにおける初の成功した自己増殖攻撃であり、これまでに観測された中で最も深刻なJavaScriptサプライチェーン攻撃の1つです。フランク・ハーバートの『デューン』シリーズに登場する巨大なサンドワームにちなんで名付けられたこのマルウェアは、複数の亜種に進化しています。

オリジナルShai-Hulud(2025年9月)

オリジナル攻撃は、200以上のnpmパッケージ(本ツールで追跡)に感染し、パッケージごとに複数のバージョンが影響を受けました。

Shai-Hulud 2.0(2025年11月)- 新規

2025年11月に新たな亜種が出現し、大きな変化がありました:

  • 738以上の侵害パッケージ、1,291のユニークな package@version の組み合わせ
  • 約350のユニークユーザーにわたる25,000以上の影響を受けたリポジトリ
  • 新しい実行フェーズ:preinstall スクリプトを使用(postinstall だけでなく)
  • 新しいペイロードファイル:setup_bun.js および bun_environment.js(bundle.js に加えて)
  • 強化された永続性:'SHA1HULUD' という名前のセルフホステッドランナーと新しいGitHubワークフローパターンを作成
  • マルチクラウドターゲット:AWS、Azure、GCPの認証情報収集
  • Docker特権昇格:特権コンテナを介してルートアクセスを試行
  • パッケージは2025年11月21日~23日にアップロード

参照: Wiz Research - Shai-Hulud 2.0 ブログ記事

🦠 攻撃の仕組み

患者ゼロ: 攻撃は、侵害されたnpmアカウント "techsupportrxnt" によって2025年9月14日17:58:50 UTCに公開された rxnt-authentication パッケージから始まりました。

攻撃チェーン(オリジナルShai-Hulud):

  1. インストール: 悪意あるパッケージが postinstall スクリプトを実行し、bundle.js(3MB以上のJavaScriptペイロード)を実行
  2. 認証情報収集: TruffleHogを使用して、GitHub/npmトークン、AWS/GCP/Azure認証情報、環境変数、IMDSで公開されたクラウドキーをスキャン
  3. データ流出: 被害者のGitHubアカウント下に公開リポジトリ "Shai-Hulud" を作成し、盗まれたシークレットを data.json(二重base64エンコード)に保存
  4. 永続化: リポジトリシークレットを webhook[.]site に流出させる悪意あるGitHub Actionsワークフロー(.github/workflows/shai-hulud-workflow.yml)を注入
  5. リポジトリ移行: プライベートな組織リポジトリを強制的に公開個人リポジトリに変更し、「-migration」サフィックスと「Shai-Hulud Migration」という説明を追加
  6. ワーム拡散: 盗んだnpmトークンを使用して、被害者が管理する他のパッケージにマルウェアを注入し、バージョン番号を増やし、postinstall フックを追加

攻撃チェーン(Shai-Hulud 2.0 - 2025年11月):

  1. インストール: 悪意あるパッケージが preinstall スクリプトを実行し、setup_bun.js または bun_environment.js(新しいペイロードファイル)を実行
  2. データファイル作成: cloud.json、contents.json、environment.json、truffleSecrets.json ファイルを作成
  3. 認証情報収集: 公式SDKを使用したマルチクラウドターゲット(AWS、Azure、GCP)、設定ファイル、環境変数、IMDSからの認証情報収集
  4. セルフホステッドランナー登録: 感染したマシンを 'SHA1HULUD' という名前のセルフホステッドランナーとして登録
  5. GitHubワークフロー注入:
    • バックドアアクセス用のセルフホステッドランナー付き .github/workflows/discussion.yaml を作成
    • シークレット流出用の .github/workflows/formatter_*.yml を作成(その後ワークフローを削除して活動を隠蔽)
  6. Docker特権昇格: docker run --rm --privileged -v /:/host によるルートアクセス試行
  7. クラウドシークレットダンプ: 認証済みセッションを使用してAWS Secrets Manager、Google Secret Manager、Azure Key Vaultからシークレットをダンプ
  8. リポジトリ作成: 説明に「Shai-Hulud」を含むリポジトリを作成(流出用)

🎯 盗まれるもの

  • 開発用認証情報: GitHub PAT(ghp_*、gho_*)、npm認証トークン
  • クラウド認証情報: AWS、GCP、Azureのアクセスキーとトークン
  • APIキー: Atlassian、Datadog、その他のサービス認証情報
  • システム情報: 環境変数、ホストの詳細、ユーザーアカウント
  • ソースコード: 公開された、またはクローンされたプライベートリポジトリ

📊 影響範囲

オリジナルShai-Hulud(2025年9月):

  • この追跡データベースでは200以上のパッケージが侵害(@ctrl/tinycolor、ngx-bootstrapなどの人気パッケージを含む)
  • 複数のGitHubアカウントが侵害(正確な数は情報源により異なる)
  • 「Shai-Hulud Migration」ラベルの付いた公開リポジトリが作成
  • パッケージの依存関係を通じて開発者が影響を受ける可能性

Shai-Hulud 2.0(2025年11月):

  • 738以上の侵害パッケージ、1,291のユニークな package@version の組み合わせ
  • 約350のユニークユーザーにわたる25,000以上の影響を受けたリポジトリ
  • 初期キャンペーン時間中は30分ごとに1,000以上の新しいリポジトリが追加
  • Zapier、ENS Domains、PostHog、Postman、AsyncAPIなどの主要エコシステムのパッケージに影響
  • マルチクラウド認証情報の窃取(AWS、Azure、GCP)
  • Docker特権昇格の試行

確認された認証情報の窃取(約20,000のリポジトリを分析):

  • 775件の侵害されたGitHubアクセストークン
  • 373件のAWS認証情報が流出
  • 300件のGCP認証情報が流出
  • 115件のAzure認証情報が流出

⚠️ 被害者間流出の警告

重要: Wiz Researchは被害者間での流出が発生していることを確認しています。これは以下を意味します:

  • ある被害者から盗まれたシークレットが、別の無関係な被害者のリポジトリに公開される可能性があります
  • GitHubリポジトリに不審なデータを発見した場合、それは別の侵害されたユーザーのものである可能性があります
  • あなたのデータは、あなたが所有していないリポジトリに流出している可能性があります
  • これにより、原因の特定とインシデント対応が複雑になります

調査への影響: リポジトリ内の流出データを確認する際は、そのデータが実際にあなたの組織のものか、他の被害者のものかを検証してください。

🔗 以前の攻撃との関連

この攻撃は、2025年8月のs1ngularity/Nx侵害に直接関連しており、最初のGitHubトークンの窃取により、より広範なサプライチェーン攻撃が可能になりました。初期のShai-Hulud被害者の多くは、s1ngularity攻撃の既知の被害者でした。また、セキュリティ研究者は、このキャンペーン内でAI生成コンテンツが統合されていることにも注目しており、悪意のあるbashスクリプトの生成にLLMが使用された可能性が中程度の確信度で示されています。

📅 攻撃のタイムライン

オリジナルShai-Huludキャンペーン:

  • 2025年8月26日: s1ngularity/Nx侵害が発生(先行攻撃)
  • 2025年9月14日 17:58 UTC: 最初の悪意あるパッケージ rxnt-authentication が公開(「患者ゼロ」)
  • 2025年9月15日: セキュリティ研究者によって攻撃が検出され報告される
  • 2025年9月15日~16日: npmエコシステム全体にワームが急速に拡散
  • 2025年9月16日: 180以上のパッケージが侵害されたことが確認される
  • 2025年9月17日: 継続的な監視とクリーンアップの取り組み
  • 2025年9月18日: 200のパッケージを追跡し、強化された防御ツールを備えたv1.2.0リリース

Shai-Hulud 2.0キャンペーン:

  • 2025年11月21日~23日: 悪意のあるパッケージがnpmレジストリにアップロードされる
  • 2025年11月24日: Wiz ResearchとAikidoによって攻撃が検出され報告される
  • 2025年11月24日: 738以上のパッケージを追跡し、Shai-Hulud 2.0検出機能を備えたv2.0.0リリース
  • 継続中: GitHubは攻撃者が作成したリポジトリの削除を継続、攻撃者は新しいリポジトリを作成し続ける

クイックスタート

前提条件

  • Pythonスキャナ: PyYAML が必要(pip install pyyaml)
  • Node.jsスキャナ: js-yaml が必要(npm install js-yaml)

Pythonスキャナ

root@kitploit:~
# 実行可能にする
chmod +x shai_hulud_scanner.py

# 単一の package.json をスキャン
python3 shai_hulud_scanner.py ./package.json

# 正確なバージョンを確認するために package-lock.json をスキャン
python3 shai_hulud_scanner.py ./package-lock.json

# プロジェクトディレクトリ全体をスキャン
python3 shai_hulud_scanner.py ./my-project

# カレントディレクトリをスキャン
python3 shai_hulud_scanner.py .

Node.jsスキャナ

root@kitploit:~
# 最初に依存関係をインストール
npm install

# 実行可能にする
chmod +x shai_hulud_scanner.js

# 単一の package.json をスキャン
node shai_hulud_scanner.js ./package.json

# 正確なバージョンを確認するために package-lock.json をスキャン
node shai_hulud_scanner.js ./package-lock.json

# プロジェクトディレクトリ全体をスキャン
node shai_hulud_scanner.js ./my-project

# カレントディレクトリをスキャン
node shai_hulud_scanner.js .

スキャナの機能

✅ 完全一致検出: 既知の侵害バージョンと正確にバージョンが一致するパッケージを識別

⚠️ 潜在的なリスク検出: 同じ名前で異なるバージョンのパッケージにフラグを付ける(リスクがある可能性あり)

🔍 二重ファイルサポート: package.json(宣言された依存関係)とpackage-lock.json(実際にインストールされたバージョン)の両方をスキャン

📦 包括的なカバレッジ: package-lock.jsonのスキャンには、ネストされた依存関係と推移的パッケージが含まれる

🔄 再帰的スキャン: node_modulesをスキップしながら、すべてのサブディレクトリを自動的にスキャン

📋 詳細なレポート: パッケージ名、バージョン、依存関係セクション、影響を受けるバージョンを表示

🔎 IoC検出: オリジナルのShai-HuludとShai-Hulud 2.0の両方の侵害指標を識別:

  • オリジナルShai-Hulud: "postinstall": "node bundle.js" フック、bundle.js ファイル、shai-hulud-workflow.yml
  • Shai-Hulud 2.0: "preinstall" フック、setup_bun.js、bun_environment.js、discussion.yaml、formatter_*.yml ワークフロー
  • 共通: webhook.site 流出エンドポイントへの参照、SHA1HULUDランナーパターン、Docker特権昇格

出力例

🚨 クリティカル(侵害されたパッケージが見つかった場合):

root@kitploit:~
🚨 CRITICAL: Found 2 CONFIRMED compromised packages:
   • @ctrl/deluge v7.2.2 in dependencies
     Affected versions: 7.2.2, 7.2.1
   • ngx-bootstrap v19.0.3 in devDependencies
     Affected versions: 18.1.4, 19.0.3, 20.0.4, 20.0.5, 20.0.6, 19.0.4, 20.0.3

⚠️ 警告(バージョン不一致):

root@kitploit:~
⚠️ WARNING: Found 1 packages with different versions:
   • @ctrl/deluge v7.2.0 in dependencies
     Known affected versions: 7.2.2, 7.2.1

✅ クリーン:

root@kitploit:~
✅ No affected packages found

侵害されたパッケージが見つかった場合

直ちに取るべき行動:

  1. 影響を受けるプロジェクトの開発作業をすべて停止する
  2. 侵害されたパッケージを削除: npm uninstall <package-name>
  3. npmキャッシュをクリア: npm cache clean --force
  4. node_modulesを削除: rm -rf node_modules

認証情報のローテーション:

  1. GitHub パーソナルアクセストークン
  2. npm 認証トークン
  3. SSHキー
  4. APIキー(AWS、Atlassian、Datadog など)

調査:

  1. GitHubで**"Shai-Hulud"** という名前、または説明に「Shai-Hulud」を含む公開リポジトリを確認
  2. "-migration" サフィックスが付いたリポジトリを探す(オリジナルShai-Hulud)
  3. GitHub監査ログで不正なリポジトリ作成を確認
  4. shai-hulud という名前のブランチを確認
  5. IoC(侵害指標)をスキャン:
    • オリジナルShai-Hulud:
      • package.jsonファイルで "postinstall": "node bundle.js" を検索
      • bundle.js ファイル(3MB以上、悪意のあるペイロードを含む)を探す
      • .github/workflows/shai-hulud-workflow.yml ファイルを確認
    • Shai-Hulud 2.0:
      • package.jsonファイルで "preinstall" フックを検索
      • setup_bun.js および bun_environment.js ペイロードファイルを探す
      • データファイル: cloud.json、contents.json、environment.json、truffleSecrets.json を確認
      • .github/workflows/discussion.yaml(セルフホステッドランナー付き)を確認

設定

パッケージデータは affected_packages.yaml に一元管理されています。新しい侵害パッケージを追加するには:

  1. affected_packages.yaml を編集
  2. 以下の形式でエントリを追加:
    root@kitploit:~
    - name: "package-name"
      versions: ["1.0.0", "1.0.1"]
    
  3. PythonスキャナとJavaScriptスキャナの両方が自動的に更新されたデータを使用します

この一元管理アプローチにより、新しい脅威が発見されたときに複数のファイルを更新する必要がなくなります。

導入オプション

セキュリティチーム向け

root@kitploit:~
# 中央スキャンスクリプトを作成
curl -O https://your-domain.com/shai_hulud_scanner.py
chmod +x shai_hulud_scanner.py

# 複数のプロジェクトを一括スキャン
for dir in /projects/*/; do
    echo "Scanning $dir"
    python3 shai_hulud_scanner.py "$dir"
done

CI/CD統合

root@kitploit:~
# GitHub Actionsの例
- name: Scan for Shai-Hulud packages
  run: |
    curl -O https://your-domain.com/shai_hulud_scanner.js
    npm install js-yaml
    node shai_hulud_scanner.js .
    if [ $? -ne 0 ]; then
      echo "SECURITY ALERT: Compromised packages detected!"
      exit 1
    fi

エンタープライズ導入

root@kitploit:~
# セキュリティツールキットに追加
cp shai_hulud_scanner.py /usr/local/bin/
cp shai_hulud_scanner.js /usr/local/bin/
cp affected_packages.yaml /usr/local/bin/

# 簡単にアクセスできるようにエイリアスを作成
echo 'alias scan-shai="python3 /usr/local/bin/shai_hulud_scanner.py"' >> ~/.bashrc

テクニカルノート

  • 対象プラットフォーム: Linux、macOS、Windows(Shai-Hulud 2.0はWindowsサポートを追加)
  • ペイロードサイズ: 3MB以上のミニファイドJavaScriptバンドル(オリジナル)、Shai-Hulud 2.0では新しいペイロード
  • 自己伝搬: npmエコシステムで初の成功した自己複製ワーム
  • 実行フェーズ: オリジナルは postinstall、Shai-Hulud 2.0は preinstall を使用(ビルド環境での露出が増加)
  • 依存関係: PythonはPyYAML、Node.jsはjs-yamlが必要
  • 安全: 読み取り専用操作、ファイルの変更はなし
  • 高速: 大規模なコードベースの迅速なスキャンに最適化
  • 正確: セキュリティ研究者(Wiz Research、Aikido)の公式IoCリストに基づく
  • AI生成コンポーネント: セキュリティ研究者は、悪意のあるbashスクリプトの一部の生成にLLMが使用された可能性が中程度の確信度で評価
  • 永続化メカニズム:
    • オリジナル: GitHub Actionsワークフロー、悪意のあるブランチ、リポジトリ移行
    • Shai-Hulud 2.0: セルフホステッドランナー、ディスカッションベースのワークフロー、フォーマッタワークフロー
  • クラウド統合:
    • オリジナル: SDKライブラリとIMDSエンドポイントを使用してAWSおよびGCP環境をターゲット
    • Shai-Hulud 2.0: 公式SDKを使用したマルチクラウドターゲット(AWS、Azure、GCP)、シークレットマネージャーのダンプ

侵害指標(IoC)

オリジナルShai-Hulud(2025年9月):

  • 悪意のあるpostinstallフック: package.json内の "postinstall": "node bundle.js"
  • ペイロードファイル: bundle.js(通常3MB以上のミニファイドJavaScript)
  • 流出エンドポイント: webhook.site ドメインへの参照
  • GitHubワークフロー: 永続化のための .github/workflows/shai-hulud-workflow.yml
  • リポジトリ命名: 「Shai-Hulud」または「-migration」サフィックスが付いたリポジトリ
  • ブランチ指標: 悪意のあるコミットを含む shai-hulud という名前のブランチ

Shai-Hulud 2.0(2025年11月):

  • 悪意のあるpreinstallフック: package.json内の "preinstall": "node setup_bun.js" または "preinstall": "node bun_environment.js"
  • 新しいペイロードファイル: setup_bun.js、bun_environment.js(bundle.js に加えて)
  • データファイル: cloud.json、contents.json、environment.json、truffleSecrets.json
  • GitHubワークフロー:
    • .github/workflows/discussion.yaml(runs-on: self-hosted および RUNNER_TRACKING_ID: 0 付き)
    • .github/workflows/formatter_*.yml(パターンマッチング、シークレット流出に使用)

両方の亜種に共通:

  • 流出エンドポイント: webhook.site ドメインへの参照
  • リポジトリ命名: 名前または説明に「Shai-Hulud」を含むリポジトリ

📚 ドキュメント

  • リリースノート v1.2.0 - 完全な変更ログと新機能
  • セキュリティ評価 - 包括的なセキュリティ分析
  • 防御ガイド - 490行以上の統合手順
  • GitHub Actionsワークフロー - 自動化されたCI/CD保護

🛡️ v2.0.0の新機能

Shai-Hulud 2.0検出

  • Preinstallフック検出: preinstall スクリプト(Shai-Hulud 2.0の実行フェーズ)を検出
  • 新しいペイロードファイル検出: setup_bun.js および bun_environment.js をスキャン
  • データファイル検出: cloud.json、contents.json、environment.json、truffleSecrets.json を識別
  • GitHubワークフロースキャン: discussion.yaml および formatter_*.yml ワークフローパターンを検出
  • セルフホステッドランナー検出: 'SHA1HULUD' ランナー登録を識別
  • Docker特権昇格検出: 特権コンテナの実行パターンをスキャン
  • 後方互換性: オリジナルShai-Hulud(2025年9月)の指標を引き続き検出

拡張されたパッケージデータベース

  • 738以上の侵害パッケージを追跡(200から増加)
  • 1,291のユニークな package@version の組み合わせをデータベースに記録
  • 25,000以上の影響を受けたリポジトリを特定
  • 約350のユニークユーザーが侵害

強化された防御スイート(v1.2.0から)

  • マルチフォーマット設定: ユースケースに応じたJSON、YAML、CSV
  • GitHub Actions統合: 自動化されたCI/CDブロッキングワークフロー
  • スタンドアロンブロッカースクリプト: prevention/block-shai-hulud.sh
  • パッケージ同期ツール: 自動化された脅威インテリジェンスの更新

改善された検出機能

  • IoCスキャン: オリジナルとShai-Hulud 2.0の両方の亜種に対応
  • 重要度の分類: 亜種の識別を含む(Critical/High/Medium)
  • 強化された脅威インテリジェンス: ダウンロード数と攻撃ベクトルを含む
  • マルチクラウド認証情報検出: AWS、Azure、GCPのターゲットパターン

サポート

問題や質問がある場合:

  • セキュリティチーム: [email protected]
  • 開発チーム: [email protected]
ツールをダウンロード
  • .github/workflows/formatter_*.yml ファイルを確認
  • ワークフロー内の 'SHA1HULUD' ランナー名を確認
  • Docker特権昇格コマンド(docker run --rm --privileged -v /:/host)を探す
  • 共通:
    • コードまたはネットワークログで webhook.site への参照を確認
    • セルフホステッドランナーの登録を確認
    • クラウドプロバイダーの認証情報とシークレットマネージャーへのアクセスを確認
  • セルフホステッドランナー: 感染したマシンに登録された 'SHA1HULUD' という名前のランナー
  • Docker特権昇格: docker run --rm --privileged -v /:/host などのコマンド
  • リポジトリ説明: 説明に「Shai-Hulud」を含むリポジトリ
  • マルチクラウドターゲット: AWS Secrets Manager、Google Secret Manager、Azure Key Vaultへのアクセス試行
  • 流出エンドポイント: webhook.site ドメインへの参照(オリジナルと同じ)