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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
miasma-toolkit — Miasma / Shai-Hulud ワームおよび CVE-2026-35603 (AI-agent/IDE config injection) のための検出および修復ツールキット | Kitploit
ツール/GitHubGitHub/jchable/miasma-toolkit
侵害指標 (IOC) 管理脆弱性分析フォレンジックマルウェア分析DevSecOpsシークレット検出脅威インテリジェンスサプライチェーンセキュリティ学習と教育インシデントレスポンス
GitHubjchable/miasma-toolkit

miasma-toolkit

1ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Miasma / Shai-Hulud ワームおよび CVE-2026-35603 (AI-agent/IDE config injection) のための検出および修復ツールキット

リポジトリを見る

Miasma / Shai-Hulud ツールキット

License: MIT PowerShell 7+ Miasma CI guard

Miasma ワーム(Mini Shai-Hulud 変種)に関するインシデント分析および検出/修復ツールです。このワームは、AIエージェント/IDE設定やnpm/GitHubリポジトリに自動実行ペイロードを注入します。

⚠️ 免責事項 — 無保証。これはコミュニティ防御ツールキットであり、「現状のまま」 提供され、いかなる種類の保証もありません(LICENSE 参照)。スキャナーとYARAルールは読み取り専用ですが、purge-history.sh は git 履歴を書き換え、.claude/ フックは ファイルを隔離場所に移動 します。どちらもリポジトリを変更できます。事前にバックアップを取得し、各ツールの動作を確認し、自己責任で実行してください。 スキャン結果がクリーンでも安全性を保証するものではありません。兆候は進化し、新たな変種が出現します。検査する権限のあるシステムとアカウントでのみ使用してください。問題点やバグを見つけた場合は、SECURITY.md と CONTRIBUTING.md を参照してください。

目次

前提条件

YARA(Windows)のインストール:winget install VirusTotal.YARA — または choco install yara / scoop install yara。 Linux/macOS の場合:apt install yara / brew install yara。yara --version で確認してください。

クイック使用法

注意:-Mode Local はデフォルトで $env:USERPROFILE のみをスキャンします。他の場所のリポジトリをカバーするには -CodeRoots を渡してください。例:-CodeRoots E:\Sources,D:\work。

root@kitploit:~
# ローカルマシン+ローカルリポジトリをスキャン(+CVE-2026-35603 ProgramData)
pwsh -File Scan-Miasma.ps1 -Mode Local
pwsh -File Scan-Miasma.ps1 -Mode Local -CodeRoots E:\Sources,D:\work

# リモートGitHubリポジトリをスキャン(プライベートリポジトリ/シークレットの場合は先に対象アカウントで認証)
gh auth login
pwsh -File Scan-Miasma.ps1 -Mode Remote -Owners your-org,your-user -OutReport report.md

# すべて + JSON + Markdownレポート
pwsh -File Scan-Miasma.ps1 -OutJson findings.json -OutReport report.md

INFECTED の検出があった場合、終了コードは 1 になります(CI対応)。

root@kitploit:~
# 感染したリポジトリの履歴を消去(スクリプト内の PATHS を事前に確認)
./purge-history.sh /path/to/repo
# その後、確認後:
git push origin --force --all && git push origin --force --tags
root@kitploit:~
# YARAスキャン
yara -r setup-js.yar /path/to/scan
root@kitploit:~
# Linux/macOS:ローカルスキャン(bash移植版 — デフォルトは $HOME;範囲を広げるにはルートを指定)
./scan-miasma.sh
./scan-miasma.sh ~/src /opt/work
root@kitploit:~
# キャプチャしたドロッパーを静的に難読化解除(読み取り専用 — 実行しません)
pwsh -File Expand-MiasmaPayload.ps1 -Path .github/setup.js   # <Path>.deob/ にレイヤーと iocs.txt を書き出します
pwsh -File Expand-MiasmaPayload.ps1 -SelfTest                # デコード/復号エンジンを検証

難読化解除ツールは、p,a,c,k,e,d パッカーウェーブを展開し、文字コードウェーブをデコードし、シーザーシフトを自動検出して逆転します(-Shift で上書き可能)。次に、埋め込まれたすべてのAES-128-GCMブロブ(_b ブートストラッパー、_p スティーラー)を復号し、復元されたコードからURL、IP、デッドドロップアカウントをスキャンします。

root@kitploit:~
# 駆除後:優先度付きの秘密鍵ローテーションチェックリストを生成します(何も取り消しません)
pwsh -File Invoke-MiasmaRotation.ps1                       # ここからアクセス可能な資格情報を検出
pwsh -File Invoke-MiasmaRotation.ps1 -OutReport rotation.md

CIガード(ドロッパー/ランチャーが存在する場合、ビルドを拒否)

バンドルされている複合アクションを、任意のワークフローの 最初のステップ として使用します。

root@kitploit:~
# 別のリポジトリ内(サプライチェーンセキュリティのためタグ/SHAで固定):
- uses: actions/checkout@v4
- uses: jchable/miasma-toolkit/.github/actions/miasma-guard@main
  # with:
  #   full-scan: 'true'   # Scan-Miasma.ps1 -Mode Local も実行(pwshが必要)

このツールキットは、.github/workflows/miasma-ci.yml を介して自身に対しても同じガードを実行します(アクションを相対パスで参照)。このガードはウェーブに依存せず、ワームのランチャー設定ファイルに限定されるため、IOC文字列を単に言及しているドキュメントに対して偽陽性を出すことはありません。

Claude Code フック(.claude/)

このリポジトリ内で Claude Code を実行するマシン向けのリアルタイム保護。フックは iocs.psd1 を再利用し(重複する指標なし)、.claude/settings.json で配線されています。

  • 隔離は元に戻せます:感染ファイルは .miasma-quarantine/<timestamp>/…(git-ignored)に 移動 され、.miasma-quarantine/quarantine.log に記録されます — Move-Item で復元可能。恒久的な削除は行われません。
  • 自己除外(Miasma.Common.ps1 の Test-MiasmaExcluded):ツールキット自身のファイルには正当にIOC文字列が含まれています(iocs.psd1、Scan-Miasma.ps1、scan-miasma.sh、Expand-MiasmaPayload.ps1、Invoke-MiasmaRotation.ps1、purge-history.sh、setup-js.yar、content/、.claude/hooks|commands、、)。これらのファイルはブロック/隔離されません。

重大度モデル(Scan-Miasma.ps1)

  • INFECTED — DROPPER、INJECT、FORGED、BADDEP、WORKFLOW、RUNNER、PAYLOAD、BUN-DROP、PROGRAMDATA
  • REVIEW — NPM-AUDIT、SECRETS(ローテーションインベントリ)、SIGNATURE、PERSIST、PROGRAMDATA-CFG

既知の修正済みバグ(再作業時に留意)

  • gh api <404> --jq は エラーボディを標準出力にダンプ する → 出力の真偽性を信頼しない;$LASTEXITCODE を確認し、形式(数値サイズ、正確なブランチ名)を検証すること。
  • GitHub はリネーム後も master→main リダイレクト を保持 → branches/master は200を返す;返された名前 == 要求された名前 の場合のみブランチを受け入れること。
  • npm audit は --package-lock-only のままにすること(npm install なし、スクリプト実行なし)。

TODO / 再作業バックログ

当初のバックログ(bash移植版、重大度バッジ、パッカーウェーブ難読化解除、ローテーションヘルパー)は完了。将来のアイデア:

  1. scan-miasma.sh:リモート/GitHubモードを追加(現在はローカルのみ)。
  2. 難読化解除ツール:観測された場合、ROT-4/ROT-9マルチバイトおよび非AES-128-GCM変種に対応。
  3. ローテーションヘルパー:gh/npm/aws 向けのオプションの --revoke モード(ゲート付き、確認あり)。

参考文献

  • The bot that never was — icflorescu(dev.to)
  • Miasma worm: AI coding agent config injection — safedep.io
  • CVE-2026-35603: AI coding tools privilege escalation — Cymulate
ツールをダウンロード
ファイル説明
content/incident-report.fr.md / content/incident-report.en.md詳細レポート:動作の仕組み、ペイロードの難読化解除、IOC、駆除方法
Scan-Miasma.ps1統合スキャナー(ローカル+リモート)、構造化JSON+リポジトリごとのMarkdownレポート — こちらを使用してください
iocs.psd1スキャナーが読み込む共有指標(ハッシュ、シグネチャ、悪意のあるパッケージ、設定) — IOCはここで編集します
Expand-MiasmaPayload.ps1setup.js 用の 静的難読化解除ツール — パッカー/文字コード → シーザー → AES-128-GCM を剥がし、C2/IOCを抽出します(ペイロードは実行しません)
Invoke-MiasmaRotation.ps1秘密鍵ローテーションチェックリスト — ここからアクセス可能な資格情報を検出し、取り消しコマンドを表示します(読み取り専用、何も取り消しません)
scan-miasma.shLinux/macOS向けローカルスキャンの Bash移植版(クロスプラットフォームサブセット)
purge-history.sh全git履歴から悪意のあるファイルを除去(filter-repo → filter-branch)+バックアップ
setup-js.yarドロッパーおよびランチャー設定用のYARAルール
.github/actions/miasma-guard/再利用可能な GitHub Actions 複合アクション — ドロッパー/ランチャーが存在する場合、ビルドを拒否します
.claude/Claude Code フック — リアルタイムガード/隔離 + /miasma-scan コマンド(下記参照)
ツール用途必須?
PowerShell 7+ (pwsh)Scan-Miasma.ps1、Expand-MiasmaPayload.ps1、Invoke-MiasmaRotation.ps1必須(該当ツール用)
bash + coreutils (sha256sum/shasum、awk、find)scan-miasma.sh(Linux/macOS)bash移植版のみ
gitローカルリポジトリの履歴チェック、purge-history.sh必須
GitHub CLI (gh、認証済み)Scan-Miasma.ps1 -Mode Remoteリモートスキャンのみ
npmリモート npm audit(ロックファイルのみ)オプション(存在しない場合は自動スキップ)
git-filter-repo推奨される履歴書き換え(組み込みの git filter-branch にフォールバック)オプション
YARA (yara)setup-js.yar スキャンオプション
フックイベントアクション
Guard-Write.ps1PreToolUse(Write/Edit/MultiEdit)ワームのIOCを注入する書き込みを ブロック します(ツール呼び出しをキャンセル)
Guard-Bash.ps1PreToolUse(Bash)ワームの 実行 をブロック — node .github/setup.js、bun/bunx、パイプされた bun.sh インストーラー
Scan-Write.ps1PostToolUse(Write/Edit/MultiEdit)感染ファイルが書き込まれた後、警告+隔離 します
Session-Sweep.ps1SessionStart高速リポジトリスイープ;既存の感染をコンテキストに報告
/miasma-scanコマンドScan-Miasma.ps1 のオンデマンドラッパー
.github/actions/miasma-guard/
.github/workflows/
  • Guard-Bash は実行を対象とし、言及は対象としません:そのパターン(iocs.psd1 → CmdSigs)はコマンド位置に固定されているため、IOCを単に名付けるトリアージコマンド(grep "node .github/setup.js"、yara -r setup-js.yar、cat setup.js)は ブロックされません — 実際に node …/setup.js / bun / bun.sh インストールパイプを実行する場合のみブロックされます。注意:bun/bunx の呼び出しは完全にブロックされます(ワームのランタイム)。本当にBunが必要な場合は CmdSigs で許可リストに追加してください。
  • ⚠️ Scan-Miasma.ps1(読み取り専用)とは異なり、これらのフックは ツリーを変更 します(隔離)。オプトイン方式です。Claude Code は初回 .claude/settings.json 読み込み時にフックの承認を求めます。