Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/k11h-de/bbot-ui
偵察脆弱性分析情報収集ユーティリティとフレームワークログ分析
GitHubk11h-de/bbot-ui

bbot-ui

bbotレポートを閲覧するためのターミナルUI

リポジトリを見る
9138ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

BBOT TUI Viewer

License: MIT Python 3.8+ Platform GitHub release Textual TUI

BBOT のスキャン結果を閲覧・分析するための自己完結型ターミナル UI です。

BBOT TUI Demo

特徴

  • 🚀 ゼロセットアップ - 自己インストール型の単一ファイル。手動での依存関係のインストールは不要
  • 🔴 ライブ更新 - スキャン実行中に自動更新され、ステータスを正確に検出
  • 🎯 スマートなステータス検出 - RUNNING、FINISHED、INTERRUPTED のスキャンを正確に識別
  • 📋 スキャンブラウザ - 複数のスキャンを操作。脆弱性/フィンディング数とステータスインジケータを個別に表示
  • 📦 アーカイブ管理 - 古いスキャンを圧縮して容量を節約し、必要なときに復元
  • 📝 作業追跡 - 脆弱性とフィンディングにステータス、優先度、メモを注釈付け
  • 🔍 個別ビュー - 脆弱性(深刻度順にソート)とフィンディング専用のタブ
  • 🌳 ディスカバリーツリー - 親子イベントの関連性を示す階層ビュー
  • 🌐 サブドメインツリー - 検出されたサブドメインの階層ビュー(利用可能な場合)
  • 📊 リッチな統計情報 - イベント分布、スコープ分析、ワークフローメトリクスの美しいテーブル
  • 🔎 イベントエクスプローラ - 全スキャンイベントのフィルタリング、検索、検査
  • ⚙️ 設定ビューア - preset.yml 設定の表示

クイックスタート

root@kitploit:~
# Copy to server and run (auto-installs on first run)
./bbot-ui

# Or specify custom path
./bbot-ui /path/to/scans

初回実行時に .bbot_ui_venv/ が作成され、依存関係がインストールされます。以降の実行は即座に起動します。

使用方法

root@kitploit:~
./bbot-ui                          # Default: ~/.bbot/scans
./bbot-ui /path/to/scans          # Browse all scans in directory
./bbot-ui ~/.bbot/scans/scan-name # View specific scan

コマンドラインオプション

root@kitploit:~
./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 に保存され、今後のセッションのデフォルトとして使用されます。

インターフェース

スキャン一覧

  • 即時起動 - UI は <200ms で表示され、スキャンは段階的に読み込まれます
  • スキャン名、Status、Events、Vulns、Findings、Last Modified の列で全スキャンを閲覧
  • ヘッダーには総スキャン数、脆弱性/フィンディング数、実行中のスキャン数が表示されます
  • Status 列 にリアルタイムのスキャン状態を表示:
    • ● RUNNING (緑) - bbot プロセスが検出され、スキャンがアクティブに実行中
    • ⚠ INTERRUPTED (黄) - スキャンが停止/中断されました(アクティブなプロセスなし)
    • ✓ FINISHED (青) - スキャンが正常に完了
    • ○ CHECKING... (暗色) - ステータスを確認中(段階的読み込みの際に表示)
  • Vulns 列と Findings 列には、脆弱性/フィンディングがあるスキャンに ⚠ インジケータを表示
  • 初期読み込み中、スキャンはライブのステータス更新とともに1件ずつ表示されます
  • 3秒ごとに自動更新され、新しいスキャンとステータスの変更を表示
  • ↑/↓ または j/k で移動、Enter で開く、r で手動更新、a でアーカイブ、d で削除
  • Tab キーでアーカイブ済みスキャンを表示

アーカイブ一覧

  • アーカイブ済みスキャン(圧縮された .zip ファイル)をすべて閲覧
  • 表示内容: Archive Name、Size、Events、Vulns、Findings、Date Archived
  • u でアーカイブ解除(復元)、d で完全削除
  • Tab、q、Escape キーでスキャン一覧に戻る

アーカイブ管理

古いスキャンをZIPアーカイブに圧縮してディスク容量を節約します:

スキャンのアーカイブ:

  1. スキャン一覧で、アーカイブしたいスキャンに移動
  2. a を押してアーカイブ
  3. 操作を確認
  4. スキャンフォルダが .zip ファイルに圧縮され、元のフォルダは削除されます
  5. アーカイブ一覧にアーカイブが表示されます(Tab キーで表示)

アーカイブの復元:

  1. Tab キーでアーカイブ一覧を表示
  2. 復元したいアーカイブに移動
  3. u を押してアーカイブを解除
  4. 操作を確認
  5. アーカイブが解凍され、.zip ファイルは削除されます
  6. q を押してスキャン一覧に戻り、復元されたスキャンを確認

安全機能:

  • RUNNING 状態のスキャンはアーカイブ不可
  • 元のフォルダを削除する前にアーカイブの整合性を検証
  • アーカイブを削除する前に解凍を検証
  • すべての操作で確認が必要
  • いずれかのステップが失敗した場合、操作は安全にロールバックされます

スキャン/アーカイブの削除:

  • スキャン一覧から: d を押すとスキャンフォルダを完全削除
  • アーカイブ一覧から: d を押すとアーカイブファイルを完全削除
  • RUNNING 状態のスキャンは削除不可
  • 確認が必要(操作は永続的で元に戻せません)
  • すべてのスキャンデータが失われます

作業追跡と注釈

脆弱性とフィンディングにステータス、優先度、メモを注釈付けして、セキュリティワークフローを追跡します。

仕組み:

  • 注釈は各スキャンと同じ場所にある .bbot_ui_annotations.json に保存されます
  • イベントを UUID で参照 - BBOT の元の output.json を変更することはありません
  • バックアップ/復元のためにアーカイブに自動的に含まれます
  • 同じターゲットの再スキャン後も保持されます

脆弱性/フィンディングへの注釈付け:

  1. Vulnerabilities タブまたは Findings タブに移動
  2. 項目を選択(矢印キーまたは j/k)
  3. t を押して注釈ダイアログを開く
  4. ステータス、優先度(任意)、メモを設定
  5. Save をクリックするか Enter キーを押す

クイックショートカット:

  • x を押すと選択した項目を False Positive にマーク
  • i を押すと選択した項目を Accepted Risk にマーク
  • 既存の優先度とメモを保持したままステータスを更新します

ステータスオプション:

  • 🆕 New - 未注釈項目のデフォルトステータス
  • 🔍 Investigating - 現在分析中
  • ✓ Confirmed - 実際の問題として検証済み
  • ✗ False Positive - 実際の脆弱性ではない
  • 📢 Reported - セキュリティチームに報告済み
  • 🔧 Fixed - 問題は解決済み
  • ⚠ Accepted Risk - 既知だが許容されるリスク

優先度レベル(任意):

  • 🔴 Critical - 即時の対応が必要
  • 🟠 High - 重要、早急に対応
  • 🟡 Medium - 通常の優先度
  • 🟢 Low - 軽微な問題

機能:

  • Vulnerabilities/Findings テーブルに Status 列と Priority 列
  • ステータスフィルタードロップダウン - 特定のステータスまたは「Actionable」項目でフィルタリング(デフォルト)
  • クイックキーボードショートカット (x/i) による迅速なトリアージ
  • Statistics タブのワークフローステータスチャート
  • 詳細なコンテキスト用のメモフィールド
  • リセット用の注釈クリアボタン
  • 注釈はセッションとアーカイブをまたいで保持されます

ステータスフィルタリング:

  • Actionable (デフォルト) - 対応が必要な項目のみ表示(new、investigating、confirmed、reported)
  • All - ステータスに関係なくすべての脆弱性/フィンディングを表示
  • 特定のステータス - 個別のステータスでフィルタリング(false-positive、fixed など)
  • キーボードショートカットで項目をマークすると、フィルターは自動的に更新されます

スキャンビューアのタブ

  • ステータスバー: リアルタイムのイベント数とともにスキャンステータスを表示
    • ● RUNNING (緑) - 新しいイベントでアクティブに更新中
    • ✓ FINISHED (青) - スキャン完了、以降の更新なし
    • ⚠ INTERRUPTED (黄) - スキャンが停止/中断されました
  • 自動更新: スキャンが RUNNING の間、すべてのタブが2秒ごとに更新
  • スマート検出: FINISHED および INTERRUPTED スキャンのポーリングを自動的に停止
  • r を押すと手動更新し、新しいイベント数とともに通知を表示

1. Vulnerabilities - 深刻度順(CRITICAL→HIGH→MEDIUM→LOW→INFO→UNKNOWN)にソートされた VULNERABILITY イベント。ステータス、優先度、注釈付き(ライブ更新) 2. Findings - ステータス、優先度、注釈付きの FINDING イベント(ライブ更新) 3. Events - タイプフィルター、スコープ距離フィルター、複数語検索、JSON詳細付きのすべてのイベント(ライブ更新) 4. Tree - 2つの表示モード(ライブ更新):

  • Discovery: スキャンモジュールを通じてイベントがどのように発見されたかを表示(親子関係)
  • Topology: 論理ネットワーク階層(IP_RANGE → IP → OPEN_TCP_PORT) 5. Statistics - イベント分布、上位15モジュール(ランキング)、スコープ距離チャート、ワークフローステータス、優先度分布(ライブ更新) 6. Subdomains - 検出されたサブドメインの階層ツリービュー(subdomains.txt が存在する場合のみ表示。通常は subdomain-enum プリセットから生成) 7. Configuration - シンタックスハイライト付き preset.yml

複数語検索

Events タブは強力な複数語検索をサポートしています:

  • スペース区切りの語句: スペースで複数の語句を検索(例: httpx in-scope)
  • AND ロジック: 結果に表示するにはイベントがすべての語句に一致する必要があります
  • 検索対象フィールド: data、type、module、host、tags、discovery_context
  • フィルターとの併用: Type および Scope distance フィルターと連動

例:

  • httpx in-scope - in-scope タグが付いた httpx モジュールのイベント
  • k11h HIGH - k11h.de 関連の HIGH 深刻度イベント
  • nuclei VULNERABILITY - nuclei モジュールが発見した脆弱性

サブドメインツリービュー

subdomain-enum プリセット(または subdomains.txt を生成するスキャン)で BBOT を実行すると、スキャンビューアに Subdomains タブが自動的に表示され、発見されたサブドメインの階層ツリーが表示されます。

機能:

  • 階層表示: サブドメインがドメイン構造ごとに整理されます(例: example.com の下の api.example.com)
  • 展開可能なツリー: 直感的なツリーナビゲーションでドメインレベルを移動
  • カウント表示: タブラベルにサブドメインの総数が表示されます(例: "Subdomains (42)")
  • 自動検出: タブはスキャンフォルダに subdomains.txt が存在する場合のみ表示

階層の例:

root@kitploit:~
example.com
  ├─ api.example.com
  ├─ dev.example.com
  └─ www.example.com

キーボードショートカット

ナビゲーション: ↑/↓ または j/k | 注釈付け: t(Vulns/Findings のみ) | False Positive: x(Vulns/Findings のみ) | Accepted Risk: i(Vulns/Findings のみ) | アーカイブ表示: Tab(スキャン一覧から) | 検索: f | 更新: r | アーカイブ: a(スキャン一覧) | アーカイブ解除: u(アーカイブ一覧) | 削除: d | 分割サイズ調整: ←/→ | 戻る/終了: q または Escape

注意: 注釈ショートカット (t, x, i) は、Vulnerabilities タブまたは Findings タブを表示しているときのみフッターに表示されます。

ライブ更新とステータス検出

bbot-ui は実行中のスキャンからの更新を自動的に検出し、リアルタイムで表示します:

スマートなステータス検出

UI は マルチメソッド検出チェーン を使用してスキャンステータスを正確に判定します:

  1. SCAN イベント分析: output.json から最後の SCAN イベントの status フィールドを読み取ります

    • "FINISHED" → スキャン完了(finished_at と duration フィールドあり)
    • "RUNNING" → 実際に実行中かどうかを検証(ステップ2へ)
  2. アクティブプロセス検出(RUNNING ステータスの場合):

    • psutil(自動インストール、クロスプラットフォーム)- いずれかのプロセスが output.json を開いているかどうかを確認
  3. 最終ステータス:

    • RUNNING: SCAN イベントが RUNNING + プロセスがファイルを開いたまま
    • INTERRUPTED: SCAN イベントが RUNNING + ファイルを開いているプロセスがない(スキャンが Ctrl+C された)
    • FINISHED: SCAN イベントが FINISHED(完了データあり)

機能

  • 段階的読み込み: 起動中、スキャンがライブのステータス更新とともに1件ずつ表示されます
  • 正確な検出: タイムアウトを待たずに中断されたスキャンを即座に識別
  • パフォーマンス最適化:
    • 段階的なディレクトリ反復(ノンブロッキング、ディレクトリごとに1ms)
    • 10ms タイマーティックごとに1スキャン読み込み
    • プロセスチェックを5秒間キャッシュ(全プロセスの繰り返しスキャンを回避)
    • RUNNING スキャンのみチェック(FINISHED スキャンの高コストなチェックをスキップ)
    • スマートポーリングは FINISHED および INTERRUPTED スキャンのチェックを停止
  • インクリメンタル読み込み: output.json から新しいイベントのみを効率的に読み取り
  • ノンブロッキング: 更新中も UI は完全にレスポンシブ
  • カーソル保持: 更新中もテーブル内の位置を維持
  • グレースフル処理: 実行中のスキャンからの不完全/不正な JSON 行をスキップ
  • 設定可能な間隔: ニーズに合わせて更新レートをカスタマイズ

設定

ライブ更新の動作をカスタマイズできます:

コマンドライン経由:

root@kitploit:~
./bbot-ui --scan-interval 5 --list-interval 10

デフォルト:

  • スキャン詳細ビューは 2秒 ごとに更新
  • スキャン一覧ビューは 3秒 ごとに更新

使用例:

  • 高速ネットワーク/ローカルスキャン: 短い間隔を使用(例: --scan-interval 1)
  • リモート/低速システム: 長い間隔を使用(例: --scan-interval 5)
  • CPU使用率の削減: すべての間隔を延長してチェック頻度を下げる

設定は ~/.bbot_ui_config.json に保存され、セッション間で維持されます。

トラブルシューティング

セットアップが正しく完了しませんでしたか?

root@kitploit:~
rm -rf ~/.bbot_ui_venv && ./bbot-ui

psutil がインストールされていないという警告は? psutil が不足しているという警告が表示された場合、venv が古いバージョンです。再インストールしてください:

root@kitploit:~
rm -rf ~/.bbot_ui_venv && ./bbot-ui

output.json が見つからない場合? スキャンディレクトリに output.json が含まれていることを確認してください(BBOT が自動生成します)

Python が見つからない場合?

root@kitploit:~
# Ubuntu/Debian
sudo apt install python3 python3-venv

# macOS
brew install python3

要件

  • Python 3.8+
  • 自動インストール: textual>=0.47.0, rich>=13.0.0, psutil>=5.9.0

注記: psutil は、いずれかのプロセスがスキャンファイルを開いているかを確認して、スキャンステータスを正確に検出するために使用されます。

パフォーマンス

UI は大規模なスキャンや多数のディレクトリ向けに最適化されています:

起動パフォーマンス:

  • 段階的読み込み - UI は即座に表示され(<200ms)、スキャンは1件ずつ読み込まれます
  • ディレクトリ一覧は段階的に処理されます(ディレクトリごとに1ms)
  • ネットワークファイルシステムやリモートマウント上でも効率的に動作
  • 起動中にブロッキング操作なし

表示制限:

  • Vulnerabilities タブ: 最大1000行(深刻度順にソート)
  • Findings タブ: 最大1000行
  • Events タブ: 最大1000行(大規模スキャンではフィルターを使用)
  • ツリービュー: 最大500ノード(特定領域に絞り込むにはフィルターを使用)
  • スキャン一覧: 段階的読み込みでスキャンを検出した順に表示

ファイル読み取り:

  • ファイルの両端から読み取って SCAN イベントを検出(再利用されたスキャンディレクトリに対応)
  • タイムスタンプで最新のスキャンを検出(同じディレクトリでの複数回の実行をサポート)
  • ファイルサイズとサンプリングで大規模スキャンのイベント数を推定
  • ステータスチェックをキャッシュして繰り返しのプロセススキャンを回避

自動更新:

  • FINISHED/INTERRUPTED スキャンではタイマーが自動的に停止
  • RUNNING スキャンのみ更新をチェック
  • 結果は5秒間キャッシュ
  • initial_load_phase フラグにより起動中の更新競合を防止

ヒント

  • フィルター(タイプ、スコープ距離)を使用して、大規模スキャン内の特定イベントに焦点を当てる
  • 大規模スキャン(>1MB)のイベント数はパフォーマンスのための推定値です
  • 注釈ショートカット (t, x, i) はコンテキスト依存で、関連タブでのみ表示されます
  • 段階的読み込みにより、全スキャンの読み込みを待たずにすぐに作業を開始できます
  • 遅いネットワークファイルシステムでは、スキャンが徐々に表示されます - これは正常な動作です
  • ~/.bbot_ui_venv/ を削除してクリーンな再インストールを強制

ライセンス

MIT

ツールをダウンロード