
CVE-2025-55183 - Next.js React Server Components (RSC) ソースコード開示脆弱性を検出するセキュリティスキャナです。
このスキャナは、Next.js React Server Components (RSC) におけるソースコード開示を検出します。脆弱なサーバーファンクションに送信された悪意のあるHTTPリクエストは、引数が文字列化された際に、任意のサーバーファンクションのソースコードを安全でない形で返す可能性があります。
pip install -r requirements.txt
または手動でインストール:
pip install requests urllib3 tqdm
# 単一のURLをスキャン
python3 scanner.py https://example.com
# ホストリストのファイルからスキャン
python3 scanner.py hosts.txt
1行に1ホストずつ記述したテキストファイルを作成します。スキャナは最初の列からホスト名を抽出します(タブまたはスペース区切りの入力をサポート):
example.com 192.0.2.1 Cloudflare
subdomain.example.com 192.0.2.2 Cloudflare
https://app.example.com
# で始まる行はコメントとして扱われ、無視されます。
positional arguments:
input Target URL or file containing list of hosts
optional arguments:
-h, --help Show help message and exit
-t TIMEOUT, --timeout TIMEOUT
Request timeout in seconds (default: 10)
-o OUTPUT, --output OUTPUT
Output file for results
--format {text,json,csv}
Output format (default: text)
--threads THREADS Number of concurrent threads (default: 1)
--delay DELAY Delay between requests in seconds (default: 0.5)
--rate-limit RATE_LIMIT
Requests per second per host (0 to disable, default: 10.0)
--retries RETRIES Number of retries for failed requests (default: 3)
-v, --verbose Increase verbosity (-v, -vv, -vvv)
-q, --quiet Suppress non-essential output
# 10個の並行スレッドでスキャン
python3 scanner.py hosts.txt --threads 10
# 結果をJSON形式で出力
python3 scanner.py hosts.txt --format json -o results.json
# 結果をCSV形式で出力
python3 scanner.py hosts.txt --format csv -o results.csv
# リクエスト間の遅延とレート制限を設定
python3 scanner.py hosts.txt --delay 1.0 --rate-limit 5.0
# デバッグ用の詳細出力を有効化
python3 scanner.py hosts.txt -vv
# 重要でない出力を抑制
python3 scanner.py hosts.txt --quiet -o results.json
スキャンサマリーと詳細な結果を含む人間が読みやすいテキスト出力:
============================================================
SCAN SUMMARY
============================================================
Total hosts scanned: 5
Vulnerable hosts: 2
Safe hosts: 3
============================================================
[!] https://example.com - VULNERABLE
Found 3 leaked source code(s)
[+] https://example2.com - Not vulnerable
完全なスキャン詳細を含む構造化されたJSON出力:
{
"summary": {
"total_hosts": 5,
"vulnerable_hosts": 2,
"safe_hosts": 3
},
"results": [
{
"url": "https://example.com",
"vulnerable": true,
"chunk_paths": ["/_next/static/chunks/..."],
"action_ids": ["abc123..."],
"leaked_sources": [...]
}
]
}
スプレッドシートへの簡単なインポートのためのカンマ区切り値:
URL,Vulnerable,Chunks Found,Action IDs Found,Leaked Sources Count,Error
https://example.com,Yes,5,3,2,
https://example2.com,No,0,0,0,
スキャナは3段階のプロセスを実行します:
/_next/static/chunks/ の参照からJavaScriptチャンクファイルのパスを抽出します$F1 ペイロードを含む悪意のあるリクエストを各アクションIDに送信し、ソースコード開示をトリガーします0: 脆弱なホストが見つかりませんでした1: 1つ以上の脆弱なホストが見つかりました接続エラーが発生した場合:
--timeout 30-vvターゲットがリクエストをブロックしている場合:
--delay 2.0--rate-limit 2.0--threads 1インポートエラーが表示される場合:
pip install -r requirements.txt
注: tqdm はオプションです - スキャナはこれなしでも動作しますが、プログレスバーは表示されません。
このツールは、教育および認可されたセキュリティテストの目的でのみ提供されます。
このツールはセキュリティ研究および認可されたペネトレーションテスト用に設計されています。所有していない、またはテスト許可を得ていないシステムに対する不正使用は違法かつ非倫理的です。作者はこのツールの誤用について一切の責任を負いません。