
نص التحقق من ثغرة React2Shell (المعروفة أيضًا باسم CVE-2025-55182).
verify_react_vulnerability.py)هذا نص بايثون بسيط ومستقل أُنشئ لمساعدتك في تحديد ما إذا كان مشروعك متأثرًا بثغرة 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).
افتح الطرفية (terminal) وقم بتشغيل الأمر:
python3 verify_react_vulnerability.py
إذا تم العثور على إصدار مكتبة معرض للخطر، يتوقف النص ويبلغ عن المشكلة فورًا:
--- خطوة 1: التحقق من الإصدارات في package.json ---
❌ معرض للخطر: تم العثور على إصدار React 19.0.1.
...
-------------------------------------------------
❌ الملخص: مشروعك معرض للخطر بناءً على إصدارات التبعيات.
يرجى تحديث التبعيات التالية فورًا.
--- الإصلاحات الموصى بها ---
npm install [email protected] [email protected]
...
-------------------------------------------------
إذا كانت تبعياتك آمنة، فإن النص يعرض إجراء الفحص العميق.
--- خطوة 1: التحقق من الإصدارات في package.json ---
✅ حسنًا: تم العثور على إصدار React 18.3.1. ليس ضمن نطاق معرض للخطر معروف.
...
-------------------------------------------------
✅ معلومات: لا يبدو أن تبعيات مشروعك متأثرة بـ React2Shell.
ومع ذلك، قد تكون الميزات المعرضة للخطر قيد الاستخدام إذا تم نسخ الشيفرة أو تخزينها (vendored).
هل تريد إجراء فحص عميق شامل للقاعدة البرمجية؟ (y/n): y
إذا وجد الفحص العميق مؤشرات، فإنه سيوفر تقريرًا مفصلاً:
--- خطوة 2: إجراء فحص عميق شامل للقاعدة البرمجية ---
جارٍ البحث عن الأنماط المتعلقة بمكونات خادم React...
⚠️ تحذير: وجد الفحص العميق مؤشرات على استخدام مكونات خادم React.
هذا لا يضمن وجود ثغرة، ولكنه يستدعي مراجعة يدوية.
تأكد من أن إصدارات إطار العمل الخاص بك محدثة بالكامل.
- تم العثور على النمط '"use server"':
السبب: يشير إلى أن الملف يحتوي على إجراءات خادم React، وهي الميزة الأساسية المرتبطة بالثغرة.
في الملفات: ['src/actions/auth.ts']
- تم العثور على النمط '"use client"':
السبب: يشير إلى مكوّن عميل، والذي قد يستورد ويستخدم إجراءات الخادم من ملفات أخرى.
في الملفات: ['src/components/LoginButton.tsx', 'src/components/ThemeSwitcher.tsx']
-------------------------------------------------
إذا لم يجد الفحص العميق شيئًا، فإنه سوف يؤكد أن مشروعك آمن على الأرجح:
--- خطوة 2: إجراء فحص عميق شامل للقاعدة البرمجية ---
جارٍ البحث عن الأنماط المتعلقة بمكونات خادم React...
✅ حسنًا: لم يجد الفحص العميق الشامل أي مؤشرات على استخدام مكونات الخادم React (RSC).
-------------------------------------------------