
Скрипт проверки уязвимости React2Shell (React2Shell также известен как CVE-2025-55182).
verify_react_vulnerability.py)Это простой автономный скрипт на Python, созданный для быстрой проверки, затронут ли ваш проект критической уязвимостью React2Shell (также известной как CVE-2025-55182).
Он выполняет проверку на двух уровнях:
package.json на наличие известных уязвимых версий React и Next.js.package.json: Ищет файл package.json в каталоге, где запущен скрипт.react и next, указанные в вашем проекте.npm install для обновления до безопасной версии."use server""use client"createSafeActionClientregisterServerReferencereact-server-dom-webpackpython3 --version.pip install packaging
Убедитесь, что скрипт verify_react_vulnerability.py находится в корневом каталоге вашего проекта (там же, где и ваш package.json).
Откройте терминал и выполните команду:
python3 verify_react_vulnerability.py
Если найдена уязвимая версия библиотеки, скрипт останавливается и немедленно сообщает о проблеме:
--- Шаг 1: Проверка версий в package.json ---
❌ УЯЗВИМОСТЬ: Найдена версия React 19.0.1.
...
-------------------------------------------------
❌ ИТОГ: Ваш проект УЯЗВИМ на основе версий зависимостей.
Пожалуйста, немедленно обновите следующие зависимости.
--- Рекомендуемые исправления ---
npm install [email protected] [email protected]
...
-------------------------------------------------
Если зависимости безопасны, скрипт предложит выполнить глубокое сканирование.
--- Шаг 1: Проверка версий в package.json ---
✅ OK: Найдена версия React 18.3.1. Не входит в известный диапазон уязвимых версий.
...
-------------------------------------------------
✅ ИНФОРМАЦИЯ: Зависимости вашего проекта, похоже, не подвержены уязвимости React2Shell.
Однако уязвимые функции могут использоваться, если код был скопирован или 'ven'dored.
Выполнить комплексное глубокое сканирование кода? (y/n): y
Если глубокое сканирование находит индикаторы, оно предоставит подробный отчёт:
--- Шаг 2: Выполнение комплексного глубокого сканирования кода ---
Поиск шаблонов, связанных с React Server Components...
⚠️ ПРЕДУПРЕЖДЕНИЕ: Глубокое сканирование обнаружило индикаторы использования React Server Components.
Это не гарантирует уязвимость, но требует ручной проверки.
Убедитесь, что версии вашего фреймворка полностью обновлены.
- Найден шаблон '"use server"':
Причина: Указывает, что файл содержит React Server Actions — основную функцию, связанную с уязвимостью.
В файлах: ['src/actions/auth.ts']
- Найден шаблон '"use client"':
Причина: Указывает на Client Component, который может импортировать и использовать Server Actions из других файлов.
В файлах: ['src/components/LoginButton.tsx', 'src/components/ThemeSwitcher.tsx']
-------------------------------------------------
Если глубокое сканирование ничего не находит, оно подтвердит, что ваш проект, скорее всего, безопасен:
--- Шаг 2: Выполнение комплексного глубокого сканирования кода ---
Поиск шаблонов, связанных с React Server Components...
✅ OK: Комплексное глубокое сканирование не обнаружило индикаторов использования RSC.
-------------------------------------------------