BBOT TUI Viewer

واجهة طرفية مكتفية ذاتيًا لتصفّح نتائج فحوصات BBOT وتحليلها.

الميزات
- 🚀 إعداد صفري - ملف واحد يثبّت نفسه ذاتيًا، دون أي اعتماديات يدوية
- 🔴 تحديث مباشر - تحديثات تلقائية أثناء تشغيل الفحوصات مع كشف دقيق للحالة
- 🎯 كشف ذكي للحالة - يحدّد بدقة الفحوصات قيد التشغيل (RUNNING) والمنتهية (FINISHED) والمتقطعة (INTERRUPTED)
- 📋 متصفّح الفحوصات - التنقّل بين فحوصات متعددة مع عدّادات منفصلة للثغرات/النتائج ومؤشرات الحالة
- 📦 إدارة الأرشيف - ضغط الفحوصات القديمة لتوفير المساحة واستعادتها عند الحاجة
- 📝 تتبّع العمل - إضافة تعليقات توضيحية للثغرات والنتائج تتضمن الحالة والأولوية والملاحظات
- 🔍 عروض منفصلة - تبويبات مخصصة للثغرات (مرتبة حسب الخطورة) وللنتائج
- 🌳 شجرة الاكتشاف - عرض هرمي يوضح علاقات الأحداث بين الأصل والفرع
- 🌐 شجرة النطاقات الفرعية - عرض هرمي للنطاقات الفرعية المكتشفة (عند توفّرها)
- 📊 إحصاءات غنية - جداول أنيقة تعرض توزيع الأحداث وتحليل النطاق ومقاييس سير العمل
- 🔎 مستكشف الأحداث - تصفية جميع أحداث الفحص والبحث فيها وفحصها
- ⚙️ عارض الإعدادات - عرض إعدادات preset.yml
بدء سريع
# Copy to server and run (auto-installs on first run)
./bbot-ui
# Or specify custom path
./bbot-ui /path/to/scans
ينشئ التشغيل الأول .bbot_ui_venv/ ويُثبّت الاعتماديات، بينما تنطلق عمليات التشغيل اللاحقة فورًا.
الاستخدام
./bbot-ui # Default: ~/.bbot/scans
./bbot-ui /path/to/scans # Browse all scans in directory
./bbot-ui ~/.bbot/scans/scan-name # View specific scan
خيارات سطر الأوامر
./bbot-ui --help # Show all options
./bbot-ui --scan-interval 5 # Refresh scan view every 5 seconds
./bbot-ui --list-interval 10 # Refresh scan list every 10 seconds
الخيارات المتاحة:
--scan-interval SECONDS - فترة تحديث عرض تفاصيل الفحص (الافتراضي: 2.0)
--list-interval SECONDS - فترة تحديث قائمة الفحوصات (الافتراضي: 3.0)
تُحفظ الإعدادات تلقائيًا في ~/.bbot_ui_config.json وتُستخدم كقيم افتراضية للجلسات المستقبلية.
الواجهة
قائمة الفحوصات
- إقلاع فوري - تظهر الواجهة في أقل من 200 مللي ثانية، وتُحمَّل الفحوصات تدريجيًا
- تصفّح جميع الفحوصات في جدول يحتوي الأعمدة: Scan Name وStatus وEvents وVulns وFindings وLast Modified
- يعرض الرأس إجمالي الفحوصات وعدد الثغرات/النتائج وعدد الفحوصات قيد التشغيل
- يعرض عمود Status حالة الفحص في الوقت الفعلي:
- ● RUNNING (أخضر) - الفحص يعمل بنشاط مع اكتشاف عملية bbot
- ⚠ INTERRUPTED (أصفر) - تم إيقاف الفحص أو قطعه (لا توجد عملية نشطة)
- ✓ FINISHED (أزرق) - اكتمل الفحص بنجاح
- ○ CHECKING... (باهت) - يتم التحقق من الحالة (يظهر أثناء التحميل التدريجي)
- يعرض العمودان Vulns وFindings مؤشر ⚠ للفحوصات التي تحتوي ثغرات/نتائج
- تظهر الفحوصات واحدًا تلو الآخر مع تحديثات مباشرة للحالة أثناء التحميل الأولي
- يتحدّث تلقائيًا كل 3 ثوانٍ لعرض الفحوصات الجديدة وتغيّرات الحالة
- استخدم
↑/↓ أو j/k للتنقّل، وEnter للفتح، وr للتحديث اليدوي، وa للأرشفة، وd للحذف
- اضغط
Tab لعرض الفحوصات المؤرشفة
قائمة الأرشيف
- تصفّح جميع الفحوصات المؤرشفة (ملفات .zip مضغوطة)
- يعرض: Archive Name وSize وEvents وVulns وFindings وDate Archived
- استخدم
u لإلغاء الأرشفة (استعادة)، وd للحذف نهائيًا
- اضغط
Tab أو q أو Escape للعودة إلى قائمة الفحوصات
إدارة الأرشيف
وفّر مساحة القرص بضغط الفحوصات القديمة في أرشيفات ZIP:
أرشفة فحص:
- انتقل في قائمة الفحوصات إلى الفحص الذي تريد أرشفته
- اضغط
a للأرشفة
- أكّد العملية
- يُضغط مجلد الفحص في ملف .zip ويُحذف المجلد الأصلي
- يظهر الأرشيف في قائمة الأرشيف (اضغط
Tab للعرض)
استعادة أرشيف:
- اضغط
Tab لعرض قائمة الأرشيف
- انتقل إلى الأرشيف الذي تريد استعادته
- اضغط
u لإلغاء الأرشفة
- أكّد العملية
- يُستخرج الأرشيف ويُحذف ملف .zip
- اضغط
q للعودة إلى قائمة الفحوصات ورؤية الفحص المُستعاد
ميزات الأمان:
- لا يمكن أرشفة الفحوصات قيد التشغيل (RUNNING)
- يُتحقق من سلامة الأرشيف قبل حذف المجلد المصدر
- يُتحقق من الاستخراج قبل حذف الأرشيف
- تتطلب جميع العمليات تأكيدًا
- إذا فشلت أي خطوة، تُتراجع العملية بأمان
حذف الفحوصات/الأرشيفات:
- من قائمة الفحوصات: اضغط
d لحذف مجلد الفحص نهائيًا
- من قائمة الأرشيف: اضغط
d لحذف ملف الأرشيف نهائيًا
- لا يمكن حذف الفحوصات قيد التشغيل (RUNNING)
- يتطلب تأكيدًا (الإجراء نهائي ولا يمكن التراجع عنه)
- ستُفقد جميع بيانات الفحص
تتبّع العمل والتعليقات التوضيحية
تتبّع سير عملك الأمني بإضافة تعليقات توضيحية للثغرات والنتائج تتضمن الحالة والأولوية والملاحظات.
كيف يعمل:
- تُخزَّن التعليقات التوضيحية في
.bbot_ui_annotations.json بجوار كل فحص
- تشير إلى الأحداث عبر UUID - ولا تعدّل أبدًا ملف
output.json الأصلي الخاص بـ BBOT
- تُضمَّن تلقائيًا في الأرشيفات للنسخ الاحتياطي والاستعادة
- تبقى محفوظة عند إعادة فحص الهدف نفسه
إضافة تعليق توضيحي لثغرة/نتيجة:
- انتقل إلى تبويب Vulnerabilities أو Findings
- حدد عنصرًا (بمفاتيح الأسهم أو j/k)
- اضغط
t لفتح نافذة التعليق التوضيحي
- اضبط الحالة والأولوية (اختياري) والملاحظات
- انقر Save أو اضغط Enter
اختصارات سريعة:
- اضغط
x لتحديد العنصر المحدد كـ False Positive
- اضغط
i لتحديد العنصر المحدد كـ Accepted Risk
- يحافظان على الأولوية والملاحظات الحالية أثناء تحديث الحالة
خيارات الحالة:
- 🆕 New - الحالة الافتراضية للعناصر غير المُعلَّق عليها
- 🔍 Investigating - قيد التحليل حاليًا
- ✓ Confirmed - تم التحقق من كونه مشكلة حقيقية
- ✗ False Positive - ليس ثغرة حقيقية
- 📢 Reported - تم إرساله إلى فريق الأمان
- 🔧 Fixed - تم حل المشكلة
- ⚠ Accepted Risk - معروف لكنه مقبول
مستويات الأولوية (اختياري):
- 🔴 Critical - يتطلب اهتمامًا فوريًا
- 🟠 High - مهم، يجب معالجته قريبًا
- 🟡 Medium - أولوية عادية
- 🟢 Low - مشكلة بسيطة
الميزات:
- عمودا Status وPriority في جدولي Vulnerabilities/Findings
- قائمة منسدلة لتصفية الحالة - تصفية حسب حالة محددة أو عناصر "Actionable" (الافتراضي)
- اختصارات لوحة مفاتيح سريعة (x/i) للفرز السريع
- مخططات حالة سير العمل في تبويب Statistics
- حقل ملاحظات لتوفير سياق تفصيلي
- زر مسح التعليق التوضيحي لإعادة التعيين
- تستمر التعليقات التوضيحية عبر الجلسات والأرشيفات
تصفية الحالة:
- Actionable (الافتراضي) - يعرض فقط العناصر التي تحتاج إلى انتباه (new، investigating، confirmed، reported)
- All - يعرض جميع الثغرات/النتائج بغض النظر عن الحالة
- حالات محددة - تصفية حسب حالة فردية (false-positive، fixed، وما إلى ذلك)
- تتحدّث التصفية تلقائيًا عند وضع علامات على العناصر عبر اختصارات لوحة المفاتيح
تبويبات عارض الفحص
- شريط الحالة: يعرض حالة الفحص مع عدد الأحداث في الوقت الفعلي
- ● RUNNING (أخضر) - يتحدّث بنشاط مع الأحداث الجديدة
- ✓ FINISHED (أزرق) - اكتمل الفحص، لا مزيد من التحديثات
- ⚠ INTERRUPTED (أصفر) - تم إيقاف الفحص أو قطعه
- تحديث تلقائي: تتحدّث جميع التبويبات كل ثانيتين عندما يكون الفحص قيد التشغيل (RUNNING)
- كشف ذكي: يتوقف تلقائيًا عن استقصاء الفحوصات المنتهية (FINISHED) والمتقطعة (INTERRUPTED)
- اضغط
r للتحديث يدويًا ورؤية إشعار بعدد الأحداث الجديدة