
ماسح Grafana مع جميع CVEs العامة التي جمعتها في سكربت واحد لتسهيل اختبار Grafana
ماسح ضوئي لثغرات Grafana يعمل عبر سطر الأوامر. يحدد إصدار Grafana المثبّت، وينفّذ مجموعة فحوصات CVE واعية بالإصدار، ويدقّق نقاط ضعف الإعدادات الشائعة، ويخزّن النتائج في قاعدة بيانات محلية، ويمكنه عرضها عبر لوحة تحكم ويب صغيرة.
ترسل هذه الأداة طلبات إلى خوادم Grafana، وبالنسبة لبعض الفحوصات تحاول استغلال مسارات استغلال معروفة (تجاوز المسار، حقن SQL، SSRF). شغّلها فقط ضد أنظمة تملكها أو لديك إذن كتابي لاختبارها. قد يُعدّ الفحص غير المصرّح به انتهاكًا لقوانين إساءة استخدام الحاسوب في منطقتك.
requestsflask (مطلوب فقط مع --serve)pip install -r requirements.txt
# فحص هدف واحد
python scanner.py -u https://grafana.example.com
# فحص قائمة عناوين URL من ملف
python scanner.py -f targets.txt -o report
# اكتشاف خوادم Grafana في قائمة عناوين مختلطة، ثم فحصها
python scanner.py --auto-search urls.txt -o discovery
# حفظ النتائج في قاعدة بيانات وعرضها في لوحة التحكم
python scanner.py -f targets.txt --db vulndb.json
python scanner.py --serve --db vulndb.json
| الخيار | الوصف |
|---|---|
-u, --url | فحص عنوان URL واحد |
-f, --file | فحص أهداف مدرجة سطرًا بسطر في ملف |
--auto-search FILE | اكتشاف Grafana في قائمة عناوين URL، ثم فحص الحالات المكتشفة |
-o, --output BASE | الاسم الأساسي لملفات التقارير JSON/HTML/CSV |
--timeout N | مهلة كل طلب بالثواني (الافتراضي 10) |
--threads N | عدد خيوط الفحص المتزامنة (الافتراضي 5) |
--db FILE | تفعيل قاعدة بيانات الثغرات بصيغة JSON في المسار المعطى |
--serve [PORT] | تشغيل لوحة تحكم Flask (المنفذ الافتراضي 8080) |
--host | العنوان الذي ترتبط به لوحة التحكم (الافتراضي 127.0.0.1) |
--dashboard-token TOKEN | طلب رمز حامل (bearer token) على جميع مسارات لوحة التحكم |
--auth-token | رمز الحامل لفحص نقاط النهاية الموثّقة |
--auth-user / --auth-pass | المصادقة الأساسية للفحص |
--no-ssl-verify | تعطيل التحقق من شهادة TLS (يطبع تحذيرًا) |
-v, --verbose | طباعة تفاصيل كل فحص |
--no-banner | إخفاء الترويسة الافتتاحية |
--no-ssl-verify فقط للمضيفات
الداخلية ذات الشهادات ذاتية التوقيع؛ القيام بذلك يطبع تحذيرًا لأن
بيانات الاعتماد قد تتعرض للاعتراض.--dashboard-token.
عندما ترتبط لوحة التحكم بواجهة شبكة غير محلية، يجب تعيين رمز مميز.
كما تتطلب جميع الطلبات التي تغيّر الحالة رمز CSRF.مع -o، يكتب الماسح BASE.json و BASE.html و BASE.csv. يعمل تقرير
HTML على تحييد روابط javascript:/data:/vbscript: التي قد تأتي من
استجابة هدف خبيث.
مع --db، تُخزَّن النتائج في ملف JSON يُكتب بشكل ذرّي: يُحتفظ بنسخة .bak
من الحالة السابقة، ويُنقل أي ملف يفشل تحليله إلى .corrupt-<timestamp>
بدلًا من تجاهله بصمت.
ينفّذ الماسح فحوصات CVE واعية بالإصدار بالإضافة إلى تدقيق الإعدادات (ترويسات
الأمان، CORS، الوصول المجهول، التسجيل الذاتي، تحليل الإضافات، المقاييس
المكشوفة). القائمة الكاملة لثغرات CVE وملاحظات طرق الاكتشاف موجودة في
docs/vulnerabilities.md.
scanner.py — المحرك، الفحوصات، قاعدة البيانات، لوحة التحكم، CLIdocs/usage.md — أوضاع الفحص وسير العملdocs/vulnerabilities.md — مرجع CVEdocs/architecture.md — البنية الداخلية وتدفق البياناتtests/ — مجموعة الاختباراتmake test # تشغيل مجموعة الاختبارات
make lint # ruff + flake8
تشغّل خطوة CI الاختبارات وأدوات الفحص على Python 3.9–3.12 وتبني صورة Docker.
MIT. انظر LICENSE.