BBOT TUI Viewer

Eine eigenständige Terminal-UI zum Durchsuchen und Analysieren von BBOT-Scanergebnissen.

Funktionen
- 🚀 Keine Einrichtung – Einzelne, selbstinstallierende Datei, keine manuellen Abhängigkeiten
- 🔴 Live-Aktualisierung – Automatische Updates während laufender Scans mit präziser Statusermittlung
- 🎯 Intelligente Statusermittlung – Erkennt zuverlässig laufende, abgeschlossene und unterbrochene Scans
- 📋 Scan-Browser – Navigation durch mehrere Scans mit getrennten Schwachstellen-/Fund-Anzeigen und Statusindikatoren
- 📦 Archivverwaltung – Alte Scans komprimieren, um Speicherplatz zu sparen, bei Bedarf wiederherstellen
- 📝 Arbeitsverfolgung – Schwachstellen und Funde mit Status, Priorität und Notizen versehen
- 🔍 Getrennte Ansichten – Eigene Tabs für Schwachstellen (nach Schweregrad sortiert) und Funde
- 🌳 Entdeckungsbaum – Hierarchische Ansicht der Eltern-Kind-Ereignisbeziehungen
- 🌐 Subdomain-Baum – Hierarchische Ansicht entdeckter Subdomains (sofern verfügbar)
- 📊 Umfangreiche Statistiken – Übersichtliche Tabellen mit Ereignisverteilung, Bereichsanalyse und Workflow-Metriken
- 🔎 Ereignis-Explorer – Filtern, Suchen und Inspizieren aller Scan-Ereignisse
- ⚙️ Konfigurationsanzeige – Anzeige der preset.yml-Konfiguration
Schnellstart
# Auf Server kopieren und ausführen (installiert sich beim ersten Start selbst)
./bbot-ui
# Oder benutzerdefinierten Pfad angeben
./bbot-ui /path/to/scans
Beim ersten Start wird .bbot_ui_venv/ erstellt und Abhängigkeiten installiert. Nachfolgende Starts erfolgen sofort.
Verwendung
./bbot-ui # Standard: ~/.bbot/scans
./bbot-ui /path/to/scans # Alle Scans im Verzeichnis durchsuchen
./bbot-ui ~/.bbot/scans/scan-name # Bestimmten Scan anzeigen
Befehlszeilenoptionen
./bbot-ui --help # Alle Optionen anzeigen
./bbot-ui --scan-interval 5 # Scan-Ansicht alle 5 Sekunden aktualisieren
./bbot-ui --list-interval 10 # Scan-Liste alle 10 Sekunden aktualisieren
Verfügbare Optionen:
--scan-interval SEKUNDEN – Aktualisierungsintervall für die Scan-Detailansicht (Standard: 2,0)
--list-interval SEKUNDEN – Aktualisierungsintervall für die Scan-Listenansicht (Standard: 3,0)
Die Einstellungen werden automatisch in ~/.bbot_ui_config.json gespeichert und als Standardwerte für zukünftige Sitzungen verwendet.
Oberfläche
Scan-Liste
- Sofortiger Start – Die UI erscheint in <200 ms, Scans werden schrittweise geladen
- Alle Scans in einer Tabelle durchsuchen: Spalten: Scan-Name, Status, Ereignisse, Vulns, Funde, Zuletzt geändert
- Kopfzeile zeigt Gesamtzahl der Scans, Anzahl der Schwachstellen/Funde sowie Anzahl laufender Scans
- Status-Spalte zeigt den Echtzeit-Status des Scans:
- ● LÄUFT (grün) – Scan aktiv, entsprechender bbot-Prozess erkannt
- ⚠ UNTERBROCHEN (gelb) – Scan wurde gestoppt/unterbrochen (kein aktiver Prozess)
- ✓ ABGESCHLOSSEN (blau) – Scan erfolgreich beendet
- ○ PRÜFE... (gedimmt) – Status wird überprüft (erscheint während des schrittweisen Ladens)
- Vulns- und Funde-Spalten zeigen ⚠ für Scans mit Schwachstellen/Funden an
- Scans erscheinen nacheinander mit Live-Status-Updates während des anfänglichen Ladens
- Automatische Aktualisierung alle 3 Sekunden, um neue Scans und Statusänderungen anzuzeigen
↑/↓ oder j/k zum Navigieren, Enter zum Öffnen, r zum manuellen Aktualisieren, a zum Archivieren, d zum Löschen
- Drücken Sie
Tab, um archivierte Scans anzuzeigen
Archiv-Liste
- Alle archivierten Scans (komprimierte .zip-Dateien) durchsuchen
- Zeigt: Archiv-Name, Größe, Ereignisse, Vulns, Funde, Datum der Archivierung
u zum Wiederherstellen (aus dem Archiv), d zum endgültigen Löschen
- Drücken Sie
Tab, q oder Escape, um zur Scan-Liste zurückzukehren
Archivverwaltung
Sparen Sie Speicherplatz durch Komprimierung alter Scans in ZIP-Archive:
Archivieren eines Scans:
- Navigieren Sie in der Scan-Liste zu dem zu archivierenden Scan
- Drücken Sie
a, um zu archivieren
- Bestätigen Sie den Vorgang
- Der Scan-Ordner wird in eine .zip-Datei komprimiert und der ursprüngliche Ordner gelöscht
- Das Archiv erscheint in der Archiv-Liste (drücken Sie
Tab zum Anzeigen)
Wiederherstellen eines Archivs:
- Drücken Sie
Tab, um die Archiv-Liste anzuzeigen
- Navigieren Sie zu dem wiederherzustellenden Archiv
- Drücken Sie
u, um das Archiv zu entpacken
- Bestätigen Sie den Vorgang
- Das Archiv wird extrahiert und die .zip-Datei gelöscht
- Drücken Sie
q, um zur Scan-Liste zurückzukehren und den wiederhergestellten Scan zu sehen
Sicherheitsfunktionen:
- Laufende Scans können nicht archiviert werden
- Die Integrität des Archivs wird vor dem Löschen des Quellordners überprüft
- Die Extraktion wird vor dem Löschen des Archivs überprüft
- Alle Vorgänge erfordern eine Bestätigung
- Falls ein Schritt fehlschlägt, wird der Vorgang sicher rückgängig gemacht
Löschen von Scans/Archiven:
- Aus der Scan-Liste: Drücken Sie
d, um einen Scan-Ordner endgültig zu löschen
- Aus der Archiv-Liste: Drücken Sie
d, um eine Archivdatei endgültig zu löschen
- Laufende Scans können nicht gelöscht werden
- Erfordert Bestätigung (die Aktion ist endgültig und kann nicht rückgängig gemacht werden)
- Alle Scandaten gehen verloren
Arbeitsverfolgung und Anmerkungen
Verfolgen Sie Ihren Sicherheitsworkflow, indem Sie Schwachstellen und Funde mit Status, Priorität und Notizen versehen.
So funktioniert es:
- Anmerkungen werden für jeden Scan in
.bbot_ui_annotations.json gespeichert
- Referenziert Ereignisse per UUID – verändert nie BBOTs originale
output.json
- Werden automatisch in Archive aufgenommen (Sicherung/Wiederherstellung)
- Überleben Neu-Scans desselben Ziels
Annotieren einer Schwachstelle/eines Funds:
- Navigieren Sie zum Tab „Schwachstellen“ oder „Funde“
- Wählen Sie einen Eintrag aus (Pfeiltasten oder j/k)
- Drücken Sie
t, um den Anmerkungsdialog zu öffnen
- Setzen Sie Status, Priorität (optional) und Notizen
- Klicken Sie auf Speichern oder drücken Sie Enter
Schnell-Tastenkürzel:
- Drücken Sie
x, um das ausgewählte Element als Falsch-Positiv zu markieren
- Drücken Sie
i, um das ausgewählte Element als Akzeptiertes Risiko zu markieren
- Diese bewahren die vorhandene Priorität und Notizen, während der Status aktualisiert wird
Statusoptionen:
- 🆕 Neu – Standardstatus für nicht annotierte Elemente
- 🔍 In Untersuchung – Wird gerade analysiert
- ✓ Bestätigt – Als echtes Problem verifiziert
- ✗ Falsch-Positiv – Keine echte Schwachstelle
- 📢 Gemeldet – An das Sicherheitsteam übermittelt
- 🔧 Behoben – Problem wurde gelöst
- ⚠ Akzeptiertes Risiko – Bekannt, aber akzeptiert
Prioritätsstufen (optional):
- 🔴 Kritisch – Erfordert sofortige Aufmerksamkeit
- 🟠 Hoch – Wichtig, bald angehen
- 🟡 Mittel – Normale Priorität
- 🟢 Niedrig – Geringfügiges Problem