العودة إلى التحديثات
UpdatedSep 2, 2026

CICD-Goat-Vapt-Writeup — Updated!

توثيق VAPT كامل لـ OWASP CICD-Goat — تم التقاط 9 أعلام CTFd، و4 نتائج حرجة + 5 نتائج عالية الخطورة (بما في ذلك CVE-2024-23897) مرتبطة بمخاطر OWASP Top 10 CI/CD Security Risks، مع PoCs والإصلاحات وملخصات جاهزة للمقابلات.

مشاركة

تقرير VAPT لـ CICD-Goat

تقييم واختبار اختراق كامل للثغرات الأمنية ضد OWASP CICD-Goat — بيئة CI/CD مصممة لتكون قابلة للاختراق عمدًا (Jenkins، Gitea، GitLab، CTFd) — ومُصنَّف من البداية إلى النهاية وفقًا لـ OWASP Top 10 CI/CD Security Risks.

Made for OWASP CICD-Goat Findings Flags Captured License

LinkedIn Location


🧭 كيف يتناسب هذا مع مستودعاتي الأخرى

المستودعما يحتويه
CICD-Goat-Vapt-Writeup (هذا المستودع)تقرير VAPT كامل ضد OWASP CICD-Goat — 16 نتيجة بما في ذلك CVE-2024-23897، مُصنَّفة وفقًا لـ OWASP Top 10 CI/CD Security Risks، مع إثباتات مفهوم (PoCs) وملخصات جاهزة للمقابلات
From-Dev-To-Attackerسجلّي الميداني الرئيسي — 67 تقريرًا أصليًا حول أنماط الثغرات، مكتوبة من منظور المطوّر، مع تأطير تأثير النطاق المؤسسي عبر ضريبة الدخل، والخدمات المصرفية، والتجزئة، والتجارة الإلكترونية، والخدمات اللوجستية للشحن، والتعليم
From-Pentester-To-Red-Teamerخارطة طريقي المنظمة لمدة 24 شهرًا للانتقال من اختبار اختراق الويب/API إلى الفريق الأحمر — المراحل، والمختبرات، والشهادات، والتقدم المُتابَع علنًا أثناء عملي عليها
AppSec-From-The-Trenchesمرجع أدوات ومنهجية اختبار الاختراق — كيف أستخدم فعليًا Burp Suite وNmap وMetasploit وHydra وHashcat وغيرها، بالإضافة إلى منهجية WAPT الخاصة بي
API-From-The-Trenchesسلسلة متعمقة حول أمان API — تغطية OWASP API Top 10، وBOLA، وهجمات JWT، واختبار GraphQL، والمنهجية الكاملة
Bug-Bounty-Hunting-Companionتقارير مكافآت الثغرات الحقيقية والمُفصح عنها علنًا، مُقسَّمة إلى قوائم تحقق قابلة لإعادة الإنتاج
DarkWeb-From-The-Trenchesمنهجية استخبارات التهديدات وOSINT على الويب المظلم — مراقبة تسريب بيانات الاعتماد، وتتبع برامج الفدية، واستخبارات التهديدات قبل الارتباط
.pcap-Arsenalلقطات حزم مُنظَّمة حسب البروتوكول، لتحليل طبقة الويب/API/الشبكة والتعلّم
Pentest-Engagement-Playbookقوالب تحديد النطاق وقواعد الارتباط (ROE) وتبرير الخطورة والتقارير التنفيذية بمستوى الاستشاريين — دليل العمليات التشغيلي المواجه للعميل وراء كل ارتباط

لماذا يوجد هذا

معظم تقارير أمان CI/CD إما تبقى نظرية بحتة (شريحة تشرح "تنفيذ خط الأنابيب المسموم") أو مجرد مطاردة لأعلام CTF (سطر واحد "هذا هو العلم، التالي"). يحاول هذا المستودع ألا يفعل أيًّا منهما: كل نتيجة أدناه هي ثغرة مُتحقَّق منها بالكامل ومدعومة بإثبات مفهوم (PoC)، مُصنَّفة ضمن فئة مخاطر محددة من OWASP CI/CD-SEC، ومكتوبة بالطريقة التي تريدها فعليًا لشرحها في مقابلة أو تقرير عميل حقيقي — بما في ذلك الطرق المسدودة، والافتراضات الخاطئة، وكيف تم تصحيحها.

إذا كنت تستعد لمقابلة في مجال أمن التطبيقات/DevSecOps/أمن CI-CD، أو تحضّر لمهمة اختبار اختراق تتعلق بسلسلة أدوات CI/CD، أو تريد ببساطة جولة عملية ملموسة لما يبدو عليه فعليًا "تنفيذ خط أنابيب مسموم" (Poisoned Pipeline Execution) أو "نظافة بيانات الاعتماد غير الكافية" (Insufficient Credential Hygiene) على مستوى الشبكة — فهذا مكتوب من أجلك.

البيئة المستهدفة

الحقلالقيمة
الهدفOWASP CICD-Goat — نشر محلي عبر Docker Compose
نوع المهمةمختبر تعلّم ذاتي مصرّح به (grey-box)
حزمة التقنياتJenkins 2.332.1، Gitea 1.16.5، GitLab 15.11.13-ee، CTFd، Docker Compose
النطاقlocalhost:3000 (Gitea)، :8080/:50000 (Jenkins)، :4000 (GitLab)، :8000 (CTFd)، :8008 (prod-sim)
المنهجيةالمراحل 0–3 (تحديد النطاق → البصمة → تحديد الثغرات → الاستغلال)

قواعد الاشتباك الكاملة: docs/00-engagement-overview.md.

⚠️ جميع الاختبارات في هذا المستودع أُجريت ضد مختبر Docker Compose محلي خاص بالمختبر، قابل للتخلص منه، ومصمم عمدًا ليكون معرّضًا للثغرات. لم تُستخدم أي أنظمة إنتاج أو بنية تحتية مشتركة أو بيانات طرف ثالث. أنشئ نسختك الخاصة من CICD-Goat من المستودع الرسمي قبل تجربة أي من هذا بنفسك.

النتائج في لمحة

المعرّفالعنوانالخطورةتعيين OWASP CI/CDعلم CTFd
F-010كشف الأسرار في سجلات وحدة تحكم بناء Jenkins → سرقة بيانات الاعتماد → كتابة غير مصرّح بها في المستودعحرجةCICD-SEC-6, -4, -2flag1, flag2
F-013منطق الدمج التلقائي غير الآمن يتجاوز مراجعة الكود (استدلال فرق الكلمات على مستوى طلب السحب)حرجةCICD-SEC-1, -5flag10
F-016CVE-2024-23897 — قراءة ملفات عشوائية عبر Jenkins CLI على المتحكمحرجةCICD-SEC-7flag8
F-017رمز تسجيل runner مشترك في GitLab → سرقة أسرار CI/CD على مستوى المثيل بأكملهحرجةCICD-SEC-2, -6flag11
F-019تنفيذ كود على عقدة المتحكم في Jenkins عبر تجاوز تسمية الوكيلحرجةCICD-SEC-5, -4flag5
F-018مستودع خط أنابيب منفصل + تجاوز مرشّح استبعاد الفروععاليةCICD-SEC-4, -6flag3
F-020نظام ملفات الوكيل المشترك يكشف بيانات اعتماد مهمة FreeStyleعاليةCICD-SEC-6, -5flag6
F-021تجاوز إعدادات Checkov SAST يتيح سوء تهيئة IaC دون اكتشافعاليةCICD-SEC-1, -8flag7
F-014مفتاح جلسة Flask السري مشتق من متغير خط أنابيب CI/CDعاليةCICD-SEC-6flag11 (عبر F-017)

بالإضافة إلى 6 نتائج إعلامية / مساندة (ضوابط إيجابية، تأكيدات حدود RBAC، كشف معلومات بسيط) في findings/informational/.

كيف تتسلسل النتائج معًا

عدة نتائج ليست مستقلة — إحداها تُمكّن أو تُكمل الأخرى مباشرة. هذا هو الجزء الذي يميل إلى إحداث انطباع في المقابلة أكثر من أي نتيجة منفردة بمفردها:

الفئات