عن المشروع
DashLord هو لوحة تحكم تهدف إلى تتبع الممارسات التقنية الجيدة لمجموعة من المواقع الإلكترونية وواجهات برمجة التطبيقات (API). تتم عملية الحصول على البيانات وإنشاء التقرير بشكل مؤتمت بالكامل عبر GitHub Actions.
## آلية العمل
تتم العملية على مرحلتين:
1. **الحصول على البيانات**: لكل رابط (URL) تم تكوينه، يتم تشغيل كل أداة تحليل وإنتاج ملف JSON يتم حفظه بإصدارات في المستودع.
2. **إنشاء التقرير**: يتم تجميع النتائج وضغطها لإنتاج موقع ويب ثابت، يتم نشره على فرع `gh-pages` عبر GitHub Pages.
## النشر
لنشر نسخة خاصة، يجب إنشاء مستودع جديد من قالب DashLord، وتحرير ملف `dashlord.yml` لتحديد الروابط المراد فحصها، ثم تشغيل سير عمل `DashLord scans` من علامة تبويب Actions. بعد ذلك، يكون التقرير متاحاً للعامة على العنوان `https://[organisation].github.io/[repository]`.
## التكوين
يتيح ملف `dashlord.yml` ضبط ما يلي:
- عنوان لوحة التحكم ووصفها والجهة التابعة لها
- قائمة الروابط المراد فحصها، مع العناوين، والوسوم، والمستودعات المرتبطة، وصور Docker المرتبطة بها
- تفعيل أو تعطيل كل أداة تحليل بشكل فردي
## الأدوات المدمجة
يعتمد DashLord على أدوات تحليل متعددة يمكن تفعيلها بشكل فردي:
- **الأمان**: Nmap (فحص المنافذ)، ZAP، Nuclei، TestSSL، Trivy (ثغرات صور Docker)، Dependabot (تنبيهات الأمان في GitHub)، CodeQL (تنبيهات Code Scan)
- **الأداء والتوافر**: Lighthouse، updown.io (مراقبة التوافر عبر مفتاح API)
- **التقنية**: Wappalyzer (كشف التقنيات)، HTTP Observatory من Mozilla، كشف أخطاء 404، التقاط لقطات شاشة
- **الامتثال**: كشف النصوص البرمجية الخارجية، صفحة /stats، بيان إمكانية الوصول
تكرار عمليات الفحص قابل للتكوين (افتراضياً كل يوم أحد في منتصف الليل)، كما يمكن تشغيل سير العمل يدوياً.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.