
Это быстрый асинхронный Python-инструмент для идентификации инфраструктуры Next.js App Router / React Server Components (RSC) по доменам. (Я создал его, чтобы находить приложения, потенциально уязвимые к CVE-2025-55182 и CVE-2025-66478)
rsc_infra_scan.py — это быстрый асинхронный инструмент на Python, который определяет по отпечаткам домены, вероятно использующие инфраструктуру Next.js App Router / React Server Components (RSC).
Он не эксплуатирует никаких уязвимостей.
Он выполняет только пассивное HTTP/HTML/заголовочное определение отпечатков (fingerprinting), чтобы помочь вам выявить цели, которые могут относиться к затронутой технологической семье (например, для RSC‑связанных CVE).
Этот сканер предназначен для помощи в выявлении инфраструктуры, которая МОЖЕТ быть уязвима к:
Важно: Этот инструмент только идентифицирует инфраструктуру, которая выглядит как использующая Next.js App Router / RSC технологию. Он не проверяет, эксплуатируема ли конкретная CVE или работает ли целевая система на уязвимой версии. Всегда проверяйте статус уязвимости с помощью надлежащего тестирования безопасности и рекомендаций вендора.
aiohttp.window.__next_f (Next.js App Router / RSC runtime)react-server-dom-webpackid="__next"x-nextjs-*Content-Type: text/x-component[+] для «вероятно RSC / Next.js инфраструктура» (оценка ≥ 50).[-] для «маловероятно / не обнаружено» или ошибок.Этот инструмент предназначен для исследовательского и защитного тестирования безопасности. Не используйте его на системах, которые вам не разрешено тестировать.
Клонируйте или скачайте этот репозиторий.
Установите зависимости Python:
pip install aiohttp
Убедитесь, что у вас Python 3.8+.
Создайте файл List.txt в той же директории, где находится rsc_infra_scan.py.
# в начале строки считается комментарием.Пример List.txt:
# Example targets
example.com
https://subdomain.example.org
nextjs-demo.vercel.app
Запустите сканер из директории, содержащей rsc_infra_scan.py и List.txt:
python rsc_infra_scan.py
Скрипт:
List.txt.Заголовок:
domain,status,is_rsc_like,score,signals_or_error
Примеры строк:
example.com,[+],yes,75,HTML:(window|self)\.__next_f\s*=; HDR:x-nextjs-cache=HIT
legacy-site.org,[-],no,0,
bad-ssl.test,[-],ERROR,0,SSL: CERTIFICATE_VERIFY_FAILED
Где:
status:
[+] (зелёный в терминале, поддерживающем ANSI) → вероятно использует инфраструктуру Next.js App Router / RSC‑стиля.[-] (красный) → нет сильных сигналов или ошибка.is_rsc_like:
yes, когда score >= 50.no в противном случае.score:
signals_or_error:
HTML:..., HDR:...) или сообщение об ошибке.Сканер отправляет один GET‑запрос на каждую цель (с откатом на HTTP, если HTTPS не сработал) и проверяет:
HTML‑тело
window.__next_f → сильный индикатор Next.js App Router / RSC.react-server-dom-webpack → ссылка на библиотеку RSC.id="__next" → общий корневой контейнер Next.js.Заголовки ответа
x-nextjs-cachex-nextjs-matched-pathx-nextjs-pagex-nextjs-router-state-treeContent-Type: text/x-componentКаждый сигнал вносит вклад в общую оценку. Оценка ≥ 50 означает, что домен «похож на RSC‑инфраструктуру».
Примечание: Это не сканер уязвимостей. Он не может сказать, эксплуатируема ли конкретная CVE (например, CVE-2025-55182 или CVE-2025-66478), а лишь показывает, выглядит ли стек как инфраструктура Next.js/RSC, которая может быть затронута. Всегда проверяйте фактический статус уязвимости с помощью надлежащего тестирования безопасности и обращайтесь к официальным рекомендациям вендора.
Для получения дополнительной информации об уязвимостях, которые помогает выявить этот инструмент:
Этот проект предоставляется только в образовательных и исследовательских целях.
Автор(ы) не несут ответственности за любое неправомерное использование или ущерб, причинённый этим программным обеспечением.
Вы несёте полную ответственность за соблюдение всех применимых законов и нормативных актов при использовании этого инструмента.