إعداد مسح ضوئي خفيف الوزن يجمع بين مُنسِّق (Orchestrator) وعامل (Worker) لتشغيل عمليات مسح كبيرة/مستمرة عبر ملفات إدخال مقسّمة. يحتوي هذا المستودع على سكربتات تنسيق، وصورة عامل مبنية على Docker، وسكربتات مساعدة لتشغيل عمليات المسح بشكل متكرر وجمع النتائج.
إعداد خفيف الوزن لمنسّق (orchestrator) وعامل مسح ضوئي (worker scanner) لتشغيل عمليات مسح كبيرة/متواصلة عبر ملفات إدخال مقسّمة. يحتوي هذا المستودع على نصوص برمجية للتنسيق، وصورة عامل مبنية على Docker، ونصوص مساعدة لتشغيل عمليات المسح بشكل متكرر وجمع النتائج.
تنسيق مجموعة من حاويات العمال لمعالجة العديد من ملفات الإدخال بكفاءة.
يُبقي خدمات المجموعة (cluster) قيد التشغيل عبر الملفات لتسريع عمليات المسح المتكررة.
يُنتج مخرجات لكل ملف وملف results.txt موحّدًا ومنزوعًا منه التكرار.
نصوص برمجية بسيطة للتشغيل لمرة واحدة أو لمراقبة دليل باستمرار ومسح الملفات الجديدة.
المتطلبات الأساسية
Docker و Docker Compose
Python 3.8+ (للتشغيل المحلي أو تعديل orchestrator.py/workers)
bash (لينكس/ماك) أو WSL/Git Bash على ويندوز لتشغيل النصوص البرمجية المرفقة
متطلبات النظام
الحد الأدنى لذاكرة VPS: 8 جيجابايت
الموصى به لذاكرة VPS: 16 جيجابايت
CVE-2025-55182
صُممت أداة المسح هذه لاكتشاف والتحقق من المؤشرات المتعلقة بـ CVE-2025-55182. فيما يلي تفاصيل موثوقة وإرشادات عملية؛ استشر دائمًا نشرة البائع والمصادر الرسمية قبل اتخاذ أي إجراء.
ملخص
الوصف: ثغرة تنفيذ برمجيات عن بُعد قبل المصادقة تؤثر على React Server Components وحزم server-dom ذات الصلة. يقوم مسار الكود المُعرَّض للخطر بإلغاء تسلسل الحمولات (deserialization) الواردة من نقاط نهاية Server Function بشكل غير آمن، مما يتيح تنفيذ التعليمات البرمجية عن بُعد عند استغلالها.
الضعف: CWE-502 (إلغاء تسلسل بيانات غير موثوقة).
شدّة الخطورة لدى البائع (Facebook/Meta): درجة أساسية 10.0 وفق معيار CVSS v3.1 — حرجة (CRITICAL).
CISA: هذا CVE مدرج في كتالوج CISA للثغرات المعروفة المستغلة.
مكونات معروفة متأثرة (أمثلة من NVD/نشرة البائع)
React Server Components: الإصدارات المتأثرة المبلغ عنها تشمل 19.0.0, 19.1.0, 19.1.1, 19.2.0.
حزم Server DOM: react-server-dom-parcel, react-server-dom-turbopack, react-server-dom-webpack.
تم أيضًا تحديد عدة حزم Next.js/Node.js تستخدم مكونات خادم متأثرة في مراجع البائع/NVD — راجع النشرات للحصول على قيم CPE الدقيقة ونطاقات الإصدارات.
إرشادات استخدام هذا الماسح
ضع قوائم الأهداف (مضيفين، روابط أو عناصر أخرى) في split/ وشغّل مسار عمل الماسح العادي (./start-scan.sh لملف واحد أو ./run-continuous-scan.sh لمعالجة ملفات متعددة).
يبحث عامل المسح عن مؤشرات متوافقة مع نقاط نهاية Server Function غير الآمنة ومخلفات إلغاء التسلسل؛ تتم كتابة النتائج إلى output/<input>.output وتسجيلها في scan.log.
لا تستغل هذه الأداة الثغرات — إنها تكشف المؤشرات فقط. لا تحاول الاستغلال دون إذن صريح.
وسائل التخفيف
طبّق تصحيحات البائع أو الترقيات كما هو مذكور في نشرة البائع الرسمية. لا تعتمد فقط على وسائل التخفيف على مستوى الشبكة لثغرات RCE.
إذا لم يكن التصحيح ممكنًا فورًا، اتبع إرشادات التخفيف من البائع و CISA (مثل تعطيل أو تقييد نقاط نهاية Server Function، وتطبيق قواعد WAF، وعزل الخدمات المتأثرة).
إذا كان الاستغلال مشتبهًا به، اعزل المضيفين المتأثرين واتبع إجراءات الاستجابة للحوادث.
ضع كل جزء إدخال تريد مسحه في دليل split/ (ملف واحد لكل مهمة عامل).
شغّل المجموعة والماسح (موصى به):
root@kitploit:~
# bring up required services (Redis, MinIO, etc.) and workers via docker-compose
docker-compose up -d
# run the orchestrator which will process files in split/
./run-continuous-scan.sh
لمسح لمرة واحدة يمكنك استخدام:
root@kitploit:~
./start-scan.sh split/worker1.txt
راقب التقدم بمتابعة scan.log وفحص output/ للاطلاع على نتائج كل ملف.
root@kitploit:~
tail -f scan.log
ls -lh output/
النصوص البرمجية ووظائفها
run-continuous-scan.sh — يراقب دليل split/ ويعالج الملفات بالتتابع، مع إبقاء المجموعة تعمل بين الملفات لتحقيق سرعة أعلى.
start-scan.sh — لتشغيل مسح لمرة واحدة على ملف إدخال واحد.
setup.sh — أداة مساعدة لأي مهام تهيئة أو إعداد أولية.
orchestrator.py — منسّق بلغة Python (نقطة دخول لمنطق التنسيق المخصص).
worker/ — صورة العامل والكود المستخدم من الحاويات لتنفيذ المسح الفعلي (Dockerfile, scanner.py, worker.py).
المخرجات
تتم كتابة مخرجات كل ملف في output/<input-name>.output.
يتم إنتاج ملف results.txt موحّد ومنزوع التكرار بعد المعالجة (راجع خيارات المنسّق لديك لمعرفة السلوك الدقيق).
تُضاف السجلات التفصيلية إلى scan.log.
الإعداد
توجد القيم القابلة للضبط مثل عدد العمال، وحدود المهلة، وحجم الأجزاء، أو خيارات الماسح في المنسّق أو في النصوص البرمجية. عدّل هذه الملفات لتكييف السلوك مع بيئتك.
التطوير
لبناء صورة العامل محليًا (من worker/Dockerfile):
root@kitploit:~
docker build -t vps-worker:latest worker/
لتشغيل عامل محليًا لأغراض التصحيح:
root@kitploit:~
python worker/scanner.py --help
استكشاف الأخطاء وإصلاحها
إذا فشل بدء تشغيل خدمات Docker Compose، شغّل docker-compose logs لفحص سجلات الخدمات.
تأكد من أن المنافذ المطلوبة من MinIO/Redis متاحة على جهازك المضيف.
إذا كانت عمليات المسح بطيئة، زد عدد العمال أو أبقِ المجموعة تعمل بين الملفات (استخدم run-continuous-scan.sh).
المساهمة
نرحب بطلبات السحب (PRs) والإبلاغ عن المشكلات (issues). يرجى فتح issue يصف المشكلة أو الميزة مع تضمين خطوات إعادة الإنتاج.
الترخيص
أضف ترخيص مشروعك هنا (مثل MIT). إذا كنت غير متأكد، أضف ملف LICENSE صريحًا.
إذا أردت، يمكنني أيضًا:
إضافة شارات للبناء/الحالة/الترخيص
إنشاء ملفي CONTRIBUTING.md و LICENSE قصيرين
تحديث النصوص البرمجية لتشمل متغيرات بيئة قابلة للضبط