
مختبر محلي مُعرَّض للثغرات عمدًا، مع ورشة عمل موجّهة وتحديات CTF لممارسة ثغرة تنفيذ الأكواد عن بُعد عبر خيارات push في Git، وإلغاء التسلسل غير الآمن، وتحليل المفاتيح المكررة، وتجاوز الإعدادات ضد خادم Git يعمل داخل حاوية Docker.
مختبر تعلّم ومختبر أبحاث محليّان مستوحَيان من مفاهيم الثغرة الموثّقة علنًا خلف CVE-2026-3854. تستخدم كلتا التجربتين عمليات دفع Git حقيقية وموثّقة ضد ForgeDock، وهو خادم Git خيالي؛ مختبر الأبحاث.

[!CAUTION] هذا المشروع هشّ عن قصد. شغّله محليًا فقط. لا تعرّض منافذه لشبكة عامة أو مشتركة. لا تستخدمه أبدًا في بيئة الإنتاج.
[!NOTE] هذا المستودع منشور كمرجع تعليمي للقراءة فقط. لا يقبل قضايا عامة أو طلبات سحب أو طلبات ميزات أو طلبات دعم. أبلغ عن الإخفاقات غير المقصودة في الحدود الأمنية بشكل خاص كما هو موضح في SECURITY.md.
ورشة عمل موجّهة تدرّس خيارات الدفع (push options)، والتسلسل غير الآمن، وتحليل المفاتيح المكررة، وتجاوز الإعدادات، وسلسلة التنفيذ المقيدة. تجمع الدروس بين شروحات موجزة وتجارب آمنة على المختبر قيد التشغيل.
تجربة بأسلوب CTF مع ثلاث بطاقات تحدٍّ متتابعة وتلميحات اختيارية وأعلام يولّدها الخادم الخلفي. لا تعرض واجهة المستخدم العادية المصدر أو الآثار أو مخرجات المُسلسِل أو مخرجات بوابة التنفيذ أو شرحًا موجّهًا.
git clone https://github.com/royaleybovich/CVE-2026-3854-lab.git
cd CVE-2026-3854-lab
docker compose up -d --build
لا يلزم إعداد أي علم (flag) أو بيانات اعتماد. يُنشئ مُهيئ لمرة واحدة قيم إثبات عشوائية مستقلة وبيانات اعتماد للخدمات في وحدة تخزين Docker خاصة عند أول تشغيل. make up هو أمر مساعد مكافئ. لا حاجة لملف .env اختياري إلا لتجاوز القيم الافتراضية أو للاحتفاظ بقيم صريحة خارج Docker.
| الخدمة | الرابط المحلي |
|---|---|
| Flagship | http://localhost:8080 |
| ForgeDock | http://localhost:3000 |
| Web Terminal | http://localhost:7681 |
حساب المختبر المؤقت هو:
Username: devuser
Password: devpass
توجد بيانات الاعتماد العامة هذه فقط داخل المختبر المحلي المؤقت. لا تعِد استخدامها في أي مكان آخر.
docker compose)اجتياز فحص الجاهزية للإصدار مُتحقَّق منه على Apple Silicon (arm64). لا يُدَّعى التحقق من أنظمة التشغيل ومعماريات المعالجات الأخرى حتى تُسجَّل فحوصات الاستنساخ النظيف لها.
make up # build and start; private lab state is generated automatically
make logs # follow service logs
make reset # delete lab repositories/progress and rebuild
make down # stop the lab without deleting Docker volumes
make test # run unit and live integration tests
يحذف make reset وحدات تخزين Docker، بما في ذلك مستودعات المختبر وتقدّم وقت التشغيل وقيم الإثبات وبيانات الاعتماد الداخلية. يولّد التشغيل التالي قيمًا خاصة جديدة تلقائيًا.
ترتبط المنافذ المنشورة بـ 127.0.0.1. لا تُنشر Redis ولا مُنفِّذ الخطافات ولا خدمات المعالجة الداخلية. لا يملك المُنفِّذ أي مقبس Docker أو أي نقطة تركيب لنظام ملفات المضيف، ويسقط صلاحيات Linux، ويستخدم نظام ملفات للقراءة فقط، ولا يقبل أي أمر قشرة أو بيئة يتحكم بها المتصل، ولا يمكنه استدعاء سوى الملفات التنفيذية لإثباتات المختبر الحصرية. تحدّ هذه الضوابط من نطاق التمرين؛ لكنها لا تجعله آمنًا للكشف العلني.
Browser / Git client
↓
Flagship portal / ForgeDock
↓
Internal processing network
↓
Constrained executor
ForgeDock هو إعادة بناء مبسّطة عن قصد ومقيّدة بأمان لمفاهيم الثغرة الموثّقة علنًا خلف CVE-2026-3854. وهو لا يعيد إنتاج تنفيذ GitHub الاحتكاري. تختلف أسماء الحقول وحدود الخدمات وسلوك التنفيذ عن تنفيذي GitHub الفعلي وGitHub Enterprise Server.
أُضيف السلوك الهشّ عن قصد في الفرع الفرعي (downstream) لهذا المختبر، وهو ليس ثغرة في Forgejo الأصلي (upstream). ForgeDock ليس GitHub، وهذا المشروع ليس تابعًا لـ GitHub أو Forgejo أو Wiz أو الباحثين المذكورين ولا يحظى بتأييدهم.
تصف هذه الاعتمادات المصادر والتبعيات؛ وهي لا تعني تعاونًا أو موافقة أو تأييدًا.
البرمجيات والمناهج التي أنشأتها Flagship مرخّصة بموجب GPL-3.0-or-later، إلا في الحالات التي ينص فيها ملف على ترخيص متوافق آخر. انظر LICENSE وNOTICE.md ومصدر Forgejo وTRADEMARKS.md. تظل تراخيص وإشعارات الأطراف الثالثة الحالية نافذة.