BBOT TUI Viewer

Автономный терминальный интерфейс для просмотра и анализа результатов сканирования BBOT.

Возможности
- 🚀 Нулевая настройка — Один самоустанавливающийся файл, без ручных зависимостей
- 🔴 Живое обновление — Автоматически обновляется во время сканирования с точным определением статуса
- 🎯 Умное определение статуса — Точно определяет выполняющиеся, завершённые и прерванные сканирования
- 📋 Обзор сканирований — Навигация по нескольким сканированиям с отдельными счётчиками уязвимостей/находок и индикаторами статуса
- 📦 Управление архивами — Сжимайте старые сканирования для экономии места, восстанавливайте при необходимости
- 📝 Отслеживание работы — Аннотируйте уязвимости и находки с указанием статуса, приоритета и заметок
- 🔍 Отдельные представления — Выделенные вкладки для уязвимостей (отсортированы по серьёзности) и находок
- 🌳 Дерево обнаружений — Иерархическое представление связей «родитель-потомок» между событиями
- 🌐 Дерево поддоменов — Иерархическое представление обнаруженных поддоменов (при наличии)
- 📊 Богатая статистика — Красивые таблицы с распределением событий, анализом границ и метриками рабочих процессов
- 🔎 Просмотр событий — Фильтрация, поиск и просмотр всех событий сканирования
- ⚙️ Просмотр конфигурации — Просмотр файла preset.yml
Быстрый старт
# Скопируйте на сервер и запустите (автоустановка при первом запуске)
./bbot-ui
# Или укажите свой путь
./bbot-ui /path/to/scans
При первом запуске создаётся .bbot_ui_venv/ и устанавливаются зависимости. Последующие запуски выполняются мгновенно.
Использование
./bbot-ui # По умолчанию: ~/.bbot/scans
./bbot-ui /path/to/scans # Обзор всех сканирований в директории
./bbot-ui ~/.bbot/scans/scan-name # Просмотр конкретного сканирования
Параметры командной строки
./bbot-ui --help # Показать все параметры
./bbot-ui --scan-interval 5 # Обновлять вид сканирования каждые 5 секунд
./bbot-ui --list-interval 10 # Обновлять список сканирований каждые 10 секунд
Доступные параметры:
--scan-interval SECONDS — Интервал обновления детального вида сканирования (по умолчанию: 2.0)
--list-interval SECONDS — Интервал обновления списка сканирований (по умолчанию: 3.0)
Настройки автоматически сохраняются в ~/.bbot_ui_config.json и используются как значения по умолчанию в будущих сеансах.
Интерфейс
Список сканирований
- Мгновенный запуск — UI появляется менее чем за 200 мс, сканирования загружаются постепенно
- Просмотр всех сканирований в таблице со столбцами: Имя сканирования, Статус, События, Уязвимости, Находки, Последнее изменение
- В заголовке отображается общее количество сканирований, количество уязвимостей/находок и количество выполняющихся сканирований
- Столбец Статус показывает состояние сканирования в реальном времени:
- ● ВЫПОЛНЯЕТСЯ (зелёный) — Сканирование активно выполняется, обнаружен процесс bbot
- ⚠ ПРЕРВАНО (жёлтый) — Сканирование было остановлено/прервано (нет активного процесса)
- ✓ ЗАВЕРШЕНО (синий) — Сканирование успешно завершено
- ○ ПРОВЕРКА... (тусклый) — Статус проверяется (отображается во время постепенной загрузки)
- Столбцы Уязвимости и Находки показывают индикатор ⚠ для сканирований с уязвимостями/находками
- Сканирования появляются одно за другим с обновлением статуса в реальном времени во время начальной загрузки
- Автоматическое обновление каждые 3 секунды для отображения новых сканирований и изменений статуса
↑/↓ или j/k для навигации, Enter для открытия, r для ручного обновления, a для архивации, d для удаления
- Нажмите
Tab для просмотра архивированных сканирований
Список архивов
- Просмотр всех архивированных сканирований (сжатые .zip файлы)
- Показывает: Имя архива, Размер, События, Уязвимости, Находки, Дата архивации
u для разархивирования (восстановления), d для окончательного удаления
- Нажмите
Tab, q или Escape для возврата к списку сканирований
Управление архивами
Экономьте дисковое пространство, сжимая старые сканирования в ZIP-архивы:
Архивация сканирования:
- В списке сканирований перейдите к сканированию, которое хотите архивировать
- Нажмите
a для архивации
- Подтвердите операцию
- Папка сканирования сжимается в .zip файл, исходная папка удаляется
- Архив появляется в списке архивов (нажмите
Tab для просмотра)
Восстановление архива:
- Нажмите
Tab для просмотра списка архивов
- Перейдите к архиву, который хотите восстановить
- Нажмите
u для разархивирования
- Подтвердите операцию
- Архив извлекается, .zip файл удаляется
- Нажмите
q для возврата к списку сканирований и просмотра восстановленного сканирования
Функции безопасности:
- Невозможно архивировать выполняющиеся сканирования
- Целостность архива проверяется перед удалением исходной папки
- Извлечение проверяется перед удалением архива
- Все операции требуют подтверждения
- Если какой-либо шаг завершится неудачей, операция безопасно откатывается
Удаление сканирований/архивов:
- Из списка сканирований: Нажмите
d для окончательного удаления папки сканирования
- Из списка архивов: Нажмите
d для окончательного удаления файла архива
- Невозможно удалить выполняющиеся сканирования
- Требуется подтверждение (действие необратимо)
- Все данные сканирования будут потеряны
Отслеживание работы и аннотации
Отслеживайте свой рабочий процесс безопасности, аннотируя уязвимости и находки с указанием статуса, приоритета и заметок.
Как это работает:
- Аннотации хранятся в
.bbot_ui_annotations.json рядом с каждым сканированием
- Ссылаются на события по UUID — никогда не изменяют оригинальный
output.json от BBOT
- Автоматически включаются в архивы для резервного копирования/восстановления
- Сохраняются при повторных сканированиях той же цели
Аннотирование уязвимости/находки:
- Перейдите на вкладку «Уязвимости» или «Находки»
- Выберите элемент (клавиши со стрелками или j/k)
- Нажмите
t для открытия диалога аннотации
- Установите статус, приоритет (необязательно) и заметки
- Нажмите «Сохранить» или Enter
Быстрые сочетания:
- Нажмите
x, чтобы пометить выбранный элемент как Ложное срабатывание
- Нажмите
i, чтобы пометить выбранный элемент как Принятый риск
- Эти действия сохраняют существующий приоритет и заметки, обновляя только статус
Варианты статуса:
- 🆕 Новый — Статус по умолчанию для неаннотированных элементов
- 🔍 Исследуется — В настоящее время анализируется
- ✓ Подтверждено — Проверено как реальная проблема
- ✗ Ложное срабатывание — Не является реальной уязвимостью
- 📢 Сообщено — Отправлено группе безопасности
- 🔧 Исправлено — Проблема решена
- ⚠ Принятый риск — Известно, но принято
Уровни приоритета (необязательно):
- 🔴 Критический — Требует немедленного внимания
- 🟠 Высокий — Важно, решить в ближайшее время
- 🟡 Средний — Обычный приоритет
- 🟢 Низкий — Незначительная проблема