Visualizzatore TUI per BBOT

Un'interfaccia terminale autonoma per sfogliare e analizzare i risultati delle scansioni BBOT.

Caratteristiche
- 🚀 Zero configurazione - Singolo file autoinstallante, nessuna dipendenza manuale
- 🔴 Aggiornamento live - Si aggiorna automaticamente mentre le scansioni sono in esecuzione con rilevamento accurato dello stato
- 🎯 Rilevamento intelligente dello stato - Identifica con precisione le scansioni RUNNING, FINISHED e INTERRUPTED
- 📋 Browser delle scansioni - Naviga tra più scansioni con conteggi separati di vulnerabilità/riscontri e indicatori di stato
- 📦 Gestione archivi - Comprimi le vecchie scansioni per risparmiare spazio, ripristinale quando serve
- 📝 Tracciamento del lavoro - Annota vulnerabilità e riscontri con stato, priorità e note
- 🔍 Viste separate - Schede dedicate per vulnerabilità (ordinate per gravità) e riscontri
- 🌳 Albero delle scoperte - Vista gerarchica che mostra le relazioni genitore-figlio tra gli eventi
- 🌐 Albero dei sottodomini - Vista gerarchica dei sottodomini scoperti (quando disponibili)
- 📊 Statistiche complete - Tabelle eleganti con distribuzione degli eventi, analisi dello scope e metriche del workflow
- 🔎 Esploratore eventi - Filtra, cerca e ispeziona tutti gli eventi della scansione
- ⚙️ Visualizzatore configurazione - Visualizza la configurazione preset.yml
Avvio rapido
# Copia sul server ed esegui (si autoinstalla al primo avvio)
./bbot-ui
# Oppure specifica un percorso personalizzato
./bbot-ui /path/to/scans
Al primo avvio viene creata la cartella .bbot_ui_venv/ e installate le dipendenze. I successivi avvii partono istantaneamente.
Utilizzo
./bbot-ui # Predefinito: ~/.bbot/scans
./bbot-ui /path/to/scans # Sfoglia tutte le scansioni nella directory
./bbot-ui ~/.bbot/scans/scan-name # Visualizza una scansione specifica
Opzioni da riga di comando
./bbot-ui --help # Mostra tutte le opzioni
./bbot-ui --scan-interval 5 # Aggiorna la vista della scansione ogni 5 secondi
./bbot-ui --list-interval 10 # Aggiorna l'elenco delle scansioni ogni 10 secondi
Opzioni disponibili:
--scan-interval SECONDS - Intervallo di aggiornamento per la vista dettaglio della scansione (predefinito: 2.0)
--list-interval SECONDS - Intervallo di aggiornamento per la vista elenco scansioni (predefinito: 3.0)
Le impostazioni vengono salvate automaticamente in ~/.bbot_ui_config.json e usate come predefinite per le sessioni future.
Interfaccia
Elenco scansioni
- Avvio istantaneo - L'interfaccia appare in <200ms, le scansioni vengono caricate progressivamente
- Sfoglia tutte le scansioni in una tabella con le colonne: Nome scansione, Stato, Eventi, Vuln, Riscontri, Ultima modifica
- L'intestazione mostra il totale delle scansioni, i conteggi di vulnerabilità/riscontri e il numero di scansioni in esecuzione
- La colonna Stato mostra lo stato della scansione in tempo reale:
- ● RUNNING (verde) - Scansione attivamente in esecuzione con processo bbot rilevato
- ⚠ INTERRUPTED (giallo) - Scansione interrotta/fermata (nessun processo attivo)
- ✓ FINISHED (blu) - Scansione completata con successo
- ○ CHECKING... (attenuato) - Stato in fase di verifica (appare durante il caricamento progressivo)
- Le colonne Vuln e Riscontri mostrano l'indicatore ⚠ per le scansioni con vulnerabilità/riscontri
- Le scansioni appaiono una ad una con aggiornamenti di stato in tempo reale durante il caricamento iniziale
- Si aggiorna automaticamente ogni 3 secondi per mostrare nuove scansioni e cambi di stato
↑/↓ o j/k per navigare, Enter per aprire, r per aggiornare manualmente, a per archiviare, d per eliminare
- Premi
Tab per vedere le scansioni archiviate
Elenco archivi
- Sfoglia tutte le scansioni archiviate (file .zip compressi)
- Mostra: Nome archivio, Dimensione, Eventi, Vuln, Riscontri, Data di archiviazione
u per ripristinare (estrarre), d per eliminare definitivamente
- Premi
Tab, q o Escape per tornare all'elenco delle scansioni
Gestione archivi
Risparmia spazio su disco comprimendo le vecchie scansioni in archivi ZIP:
Archiviare una scansione:
- Dall'elenco delle scansioni, vai alla scansione che vuoi archiviare
- Premi
a per archiviare
- Conferma l'operazione
- La cartella della scansione viene compressa in un file .zip e la cartella originale viene eliminata
- L'archivio appare nell'elenco archivi (premi
Tab per vederlo)
Ripristinare un archivio:
- Premi
Tab per vedere l'elenco degli archivi
- Vai all'archivio che vuoi ripristinare
- Premi
u per estrarre
- Conferma l'operazione
- L'archivio viene estratto e il file .zip viene eliminato
- Premi
q per tornare all'elenco delle scansioni e vedere la scansione ripristinata
Funzioni di sicurezza:
- Non è possibile archiviare scansioni RUNNING
- L'integrità dell'archivio viene verificata prima di eliminare la cartella sorgente
- L'estrazione viene verificata prima di eliminare l'archivio
- Tutte le operazioni richiedono conferma
- Se un passaggio fallisce, l'operazione viene annullata in modo sicuro
Eliminare scansioni/archivi:
- Dall'elenco scansioni: Premi
d per eliminare definitivamente una cartella di scansione
- Dall'elenco archivi: Premi
d per eliminare definitivamente un file di archivio
- Non è possibile eliminare scansioni RUNNING
- Richiede conferma (l'azione è permanente e irreversibile)
- Tutti i dati della scansione andranno persi
Tracciamento del lavoro e annotazioni
Tieni traccia del tuo workflow di sicurezza annotando vulnerabilità e riscontri con stato, priorità e note.
Come funziona:
- Le annotazioni sono salvate in
.bbot_ui_annotations.json accanto a ciascuna scansione
- Fanno riferimento agli eventi tramite UUID - non modificano mai il
output.json originale di BBOT
- Incluse automaticamente negli archivi per backup/ripristino
- Sopravvivono a nuove scansioni dello stesso target
Annotare una vulnerabilità/riscontro:
- Vai alla scheda Vulnerabilità o Riscontri
- Seleziona un elemento (frecce o j/k)
- Premi
t per aprire il dialogo di annotazione
- Imposta stato, priorità (facoltativa) e note
- Clicca Salva o premi Enter
Scorciatoie rapide:
- Premi
x per contrassegnare l'elemento selezionato come Falso Positivo
- Premi
i per contrassegnare l'elemento selezionato come Rischio Accettato
- Queste preservano priorità e note esistenti aggiornando lo stato
Opzioni di stato:
- 🆕 Nuovo - Stato predefinito per gli elementi non annotati
- 🔍 In Indagine - Attualmente in analisi
- ✓ Confermato - Verificato come problema reale
- ✗ Falso Positivo - Non è una vulnerabilità reale
- 📢 Segnalato - Inviato al team di sicurezza
- 🔧 Risolto - Il problema è stato risolto
- ⚠ Rischio Accettato - Noto ma accettato