RSC検出ツール — rsc_detect_CVE-2025-55182
概要
本リポジトリは「rsc_detect_CVE-2025-55182」と名付けられた、React Server Components(RSC)や Next.js の利用有無を検出するための軽量 Python スクリプトを提供します。目的は CVE-2025-55182 および CVE-2025-66478 に関するセキュリティ対応の前段階として、対象サイトが該当技術を使っているかを判断することにあります。POC(脆弱性を突く実行コード)ではなく、あくまで検出・識別に特化しており、HTTP レスポンスヘッダ、HTML 内のメタ情報、特有のアセットパスやレスポンスコンテンツの特徴(RSC/Flight の痕跡など)を組み合わせたヒューリスティックで判定します。スクリプトは単純で使いやすく、調査やインシデント対応の初動で有用です。
リポジトリの統計情報
- スター数: 3
- フォーク数: 1
- ウォッチャー数: 3
- コミット数: 5
- ファイル数: 2
- メインの言語: Python
主な特徴
- React Server Components(RSC)と Next.js を使用している可能性を検出するヒューリスティックツール
- POC ではなく識別専用(脆弱性の悪用は行わない)
- シンプルな Python スクリプト(依存は最小限を想定)
- 誤検知/見逃しの可能性についての注意書きを含む
技術的なポイント
このツールは「痕跡ベースの検出」を採用しています。RSC や Next.js はランタイムやビルドプロセスに特徴的なファイルパス、HTTP ヘッダ、HTML 内構造(例:NEXT_DATA オブジェクトや /_next/ 配下のアセット参照)を残すため、これらを手掛かりに判別します。具体的には以下のような検出ロジックが想定されています。
- HTML レスポンス内の識別子チェック:ページソースに NEXT_DATA(Next.js の初期データ)や /_next/ に向かうスクリプト/リンクがあるかを検索。これらは Next.js を使う場合の高確度な指標です。
- 特定ヘッダの確認:サーバやフレームワーク由来のヘッダ(例:x-powered-by や独自ヘッダ)や、RSC/Flight 応答で使われる可能性のあるコンテンツタイプやバイナリっぽいペイロードの存在をチェックします。
- エンドポイント応答の観察:React Flight(RSC の通信)に似たレスポンス(特殊なコンテンツタイプやシリアライズ形式)を返すエンドポイントがあるかを確認。Next.js のデータルーティングや app router による特有のパスの挙動も観察対象です。
- フォールバックとスコアリング:単一の指標で確定せず、複数の兆候を組み合わせて判定スコアを算出。これにより誤検知を減らす工夫がされています。
実装は Python(requests 等)で単一ファイルにまとまっており、実行は対象 URL を指定するだけで済む想定です。設計上の注意点として、RSC の検出は難易度が高く、サーバ側で最小化・非公開設定がされていると見えにくくなります。また Next.js は静的ビルドやカスタムサーバを使っていると痕跡が少なくなるため、偽陰性(見逃し)のリスクがあります。逆に、一部の一般的なパスや文字列が他のフレームワークでも使われると偽陽性(誤検知)が発生する可能性があるため、結果は「利用している可能性がある」といった表現で報告するのが適切です。
最後に倫理面の配慮も明記されています。本ツールは脆弱性を利用する目的ではなく、インシデント対応や調査の補助を目的として提供されており、許可のないスキャンや攻撃的な利用は禁じられています。拡張する場合はより多くの検出ルールやオプション(タイムアウト、ユーザエージェント指定、段階的スキャンなど)を追加すると実務での有用性が高まります。
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
- react_server_component_detect.py: file
まとめ
軽量で実用的な RSC/Next.js 検出スクリプト。調査初動に有用。
リポジトリ情報:
- 名前: rsc_detect_CVE-2025-55182
- 説明: For CVE-2025-55182 and CVE-2025-66478 Security Response
- スター数: 3
- 言語: Python
- URL: https://github.com/heiheishushu/rsc_detect_CVE-2025-55182
- オーナー: heiheishushu
- アバター: https://avatars.githubusercontent.com/u/244636180?v=4
READMEの抜粋:
what’s it
For CVE-2025-55182 and CVE-2025-66478 Security Response, it is not a POC, just to find whether a website uses React Server Components (RSC) or Next.js.
Feature definition for detecting whether a website uses React Server Components (RSC) or Next.js
用于检测网站是否使用了 React Server Components (RSC) 或 Next.js
disclaimer
the script is vibe coded with chatgpt …