-CVE-2025-55182 — ماسح ضوئي قائم على المتصفح يقوم بتدقيق مستودعات GitHub بحثًا عن الثغرات الأمنية المعروفة في تبعيات React و Next.js، ويفحص جميع الفروع ويدعم المستودعات الخاصة عبر PAT. | Kitploit
أدوات / GitHub / danielxavierjob / -cve-2025-55182
danielxavierjob/-cve-2025-55182 -CVE-2025-55182 ماسح ضوئي قائم على المتصفح يقوم بتدقيق مستودعات GitHub بحثًا عن الثغرات الأمنية المعروفة في تبعيات React و Next.js، ويفحص جميع الفروع ويدعم المستودعات الخاصة عبر PAT.
3 منذ 9 أشهراكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.
آخر 7 أيام آخر 30 يومًا
🔍 ماسح CVEs GitHub - دليل الاستخدام
برنامج نصي لمسح مستودعات GitHub بحثًا عن الثغرات الأمنية المعروفة في مشاريع React و Next.js.
📋 الثغرات المكتشفة
يقوم الماسح بالتحقق من CVEs التالية:
🚀 كيفية الاستخدام
المتطلبات الأساسية
متصفح ويب حديث (Chrome, Firefox, Edge, إلخ.)
الوصول إلى GitHub (اختياري: Personal Access Token للمستودعات الخاصة)
خطوة بخطوة
1. فتح وحدة التحكم في المتصفح
انتقل إلى أي صفحة من صفحات GitHub (مثال: https://github.com)
افتح DevTools:
Chrome/Edge : F12 أو Ctrl+Shift+I (Windows) / Cmd+Option+I (Mac)
Firefox : F12 أو Ctrl+Shift+K (Windows) / Cmd+Option+K (Mac)
انتقل إلى علامة التبويب Console
2. نسخ البرنامج النصي وتشغيله
افتح الملف main.js
انسخ كل محتوى الملف
الصقه في وحدة تحكم المتصفح
اضغط Enter للتشغيل
3. تكوين المسح سيطرح البرنامج النصي سلسلة من الأسئلة التفاعلية:
3.1. المصادقة (السؤال الأول) 🔐 Scan private repos too?
OK = Enter PAT
Cancel = Public only
OK : سيُطلب منك إدخال Personal Access Token (PAT) من GitHub
يسمح بمسح المستودعات الخاصة
ضروري للوصول إلى المؤسسات
Cancel : سيتم مسح المستودعات العامة فقط
انتقل إلى: https://github.com/settings/tokens
انقر على "Generate new token" → "Generate new token (classic)"
أعطه اسمًا وصفيًا
حدد النطاق repo (وصول كامل إلى المستودعات)
انقر على "Generate token"
انسخ الرمز فورًا (لن يظهر مرة أخرى)
3.2. نطاق المسح (إذا تمت المصادقة) 🔍 What do you want to scan?
OK = Organizations
Cancel = User Profile
OK : مسح المؤسسات
Cancel : مسح ملف المستخدم الشخصي فقط
3.3. اختيار المؤسسات (إذا اخترت Organizations) 🏢 Scan all organizations?
OK = All organizations
Cancel = Single organization
الخيار أ - جميع المؤسسات (OK):
سيبحث البرنامج النصي تلقائيًا عن جميع مؤسسات المستخدم المصادق
سيمسح جميع المستودعات لجميع المؤسسات
الخيار ب - مؤسسة محددة (Cancel):
سيُطلب منك إدخال رابط أو اسم المؤسسة:
🔗 Enter organization URL or name:
Example: github.com/my-org or my-org
التنسيقات المقبولة:
github.com/my-org
https://github.com/my-org
my-org (الاسم فقط)
3.4. ملف المستخدم الشخصي (إذا لم يتم المصادقة أو اخترت Profile)
إذا كنت في صفحة ملف شخصي على GitHub، سيكتشفها البرنامج النصي تلقائيًا
وإلا، سيُطلب منك:
📊 الميزات
✨ التحقق عبر الفروع يتحقق البرنامج النصي من جميع الفروع لكل مستودع، وليس فقط الفرع الافتراضي. يضمن ذلك اكتشاف الثغرات في فروع التطوير أو التجربة أو الفروع النشطة الأخرى.
🏢 دعم المؤسسات
مسح مستودعات مؤسسات GitHub
خيار مسح جميع المؤسسات أو مؤسسة محددة
دعم إدخال رابط أو اسم المؤسسة
🔒 الوصول إلى المستودعات الخاصة مع Personal Access Token صالح، يمكن للبرنامج النصي:
الوصول إلى المستودعات الخاصة
مسح المؤسسات الخاصة
التحقق من فروع المستودعات الخاصة
📈 النتائج بعد التنفيذ، سيعرض البرنامج النصي:
جدول النتائج جدول في وحدة التحكم يظهر:
Repo : اسم المستودع
Branch : اسم الفرع المفحوص
Next : إصدار Next.js (إن وجد)
React : إصدار React (إن وجد)
ReactDOM : إصدار react-dom (إن وجد)
RSCWebpack : إصدار react-server-dom-webpack (إن وجد)
RSCParcel : إصدار react-server-dom-parcel (إن وجد)
RSCTurbopack : إصدار react-server-dom-turbopack (إن وجد)
Status : حالة الثغرة
✅ Safe: لا توجد ثغرات مكتشفة
⚠️ CVE-XXXX-XXXXX: تم العثور على ثغرة
الملخص 📊 Summary:
Total repos: 15
Branches scanned: 23
With package.json: 20
Skipped: 3 (no package.json)
⚠️ 5 vulnerable repo(s) found!
✅ No vulnerabilities found!
⚙️ الإعدادات التقنية
التأخير بين طلبات API : 200 مللي ثانية (لتجنب تحديد المعدل)
التأخير بين عمليات المسح : 30 مللي ثانية
النتائج لكل صفحة : 100 عنصر
دعم المستودعات الخاصة : نعم (مع PAT)
التحقق من الفروع : جميع فروع كل مستودع
🔧 حل المشكلات
خطأ: "Token invalid"
تحقق من نسخ الرمز بشكل صحيح
تأكد من أن الرمز له نطاق repo
تحقق من عدم انتهاء صلاحية الرمز
خطأ: "No repositories found"
تحقق من وجود المستخدم/المؤسسة
إذا كنت تمسح مؤسسات، تحقق من أن لديك وصولًا
تحقق من وجود مستودعات في الملف الشخصي/المؤسسة
خطأ: "No organizations found"
تحقق من أنك مصادق برمز صالح
تأكد من أنك جزء من مؤسسات
يحتاج الرمز إلى أذونات للوصول إلى المؤسسات
المسح بطيء جدًا
يقوم البرنامج النصي بتأخيرات مقصودة لتجنب تحديد المعدل
المستودعات التي تحتوي على فروع كثيرة ستستغرق وقتًا أطول
المؤسسات التي تحتوي على مستودعات كثيرة ستستغرق وقتًا أطول
📝 ملاحظات مهمة
تحديد المعدل (Rate Limiting) : يحترم البرنامج النصي حدود API الخاصة بـ GitHub مع تأخيرات تلقائية
الخصوصية : يُستخدم الرمز محليًا فقط في المتصفح، ولا يُرسل إلى خوادم خارجية
الدقة : يتحقق الماسح فقط من ملف package.json في جذر المستودع
الفروع : يتم التحقق من جميع الفروع، ولكن يتم الإبلاغ فقط عن تلك التي تحتوي على package.json
الإصدارات : يكتشف الماسح الإصدارات الضعيفة بناءً على تعريفات CVE
🛡️ الأمان
يتم تشغيل البرنامج النصي بالكامل في المتصفح (من جانب العميل)
لا تُرسل أي بيانات إلى خوادم خارجية
يُستخدم Personal Access Token فقط لطلبات API الخاصة بـ GitHub
يُنصح باستخدام رموز بأقل نطاقات ضرورية
📄 الترخيص
🔄 الإصدار
تم تطويره لاكتشاف الثغرات الأمنية في مشاريع React و Next.js