ThreatSentry AI: AIを活用した脅威ハンティングツール

外部資産の発見を自動化し、マルチソースデータでインテリジェントにエンリッチし、アンサンブル機械学習を活用してリスクを予測・優先順位付けします。アラート疲れを実行可能なインテリジェンスに変えます。
🚀 ミッションステートメント
ThreatSentry AI は、インテリジェントなリスク優先順位付けにより、セキュリティアラート疲れを解消し、プロアクティブな脅威ハンティングを可能にします。自動資産発見、マルチソースデータエンリッチメント、高度な機械学習を組み合わせて、生のセキュリティデータを実行可能なインテリジェンスに変換します。
👨💻 作者と謝辞
プロジェクトリーダー: EclipseManic
開発ノート: この包括的なエンタープライズセキュリティプラットフォームは、コード生成、最適化、ドキュメント作成にAI開発ツールの支援を受けた単一の開発者によって設計・開発されました。これは、複雑なシステムにおけるAI支援ソフトウェアエンジニアリングの実行可能性を示しています。
📋 エグゼクティブサマリー
現代のセキュリティチームは前例のない課題に直面しています:
- アラート疲れ: 手動でのトリアージを不可能にするシグナル対ノイズ比の高い毎日数千件のアラート
- 断片化されたデータ: SIEM、CMDB、パッチシステム、ネットワーク監視に分散した重要なコンテキスト
- 反応的な姿勢: 新たなリスクをハントするのではなく、既知の脅威に反応する
- リソース制約: ますます複雑化するインフラにおける限られた予算と人員
ThreatSentry AI はこれらの問題を以下で解決します:
- 外部資産の自動発見: Shodan APIによる継続的な可視性
- インテリジェントなマルチソースエンリッチメント: NVD、内部システム、行動分析からのデータ統合
- MLを活用したリスクスコアリング: アンサンブルモデルによる正確な脅威優先順位付け
- エグゼクティブ対応ダッシュボード: 実行可能なインテリジェンスと迅速な対応
- プロアクティブなアラート: インシデント発生前に高リスク資産を表面化
✨ コア機能
🤖 インテリジェントリスクスコアリングエンジン
- アンサンブル機械学習モデル: ランダムフォレスト、勾配ブースティング、ニューラルネットワークを組み合わせた堅牢なリスク分類
- 多要素分析: 単純な脆弱性数だけでなく、40以上のセキュリティおよびビジネス属性を評価:
- 時間的コンテキスト: 露出期間、パッチ適用の遅れ、インシデント履歴
- ネットワーク上の位置: クリティカルサービスの状態、ネットワークセグメント、ファイアウォール保護
- 行動シグナル: 認証失敗、トラフィック異常、誤検知履歴
- コンプライアンス影響: データ機密性、規制要件、関連する重要な資産
- 信頼度スコアリング: 各予測には信頼度メトリック(0-1)が含まれ、アナリストが信頼性を評価可能
- 継続的学習: 設定可能な間隔でモデルが自動再トレーニングされ、フィードバックが統合される
🌐 自動資産発見とインテリジェンス融合
- Shodan統合: 高度なクエリサポートによるインターネット公開デバイスの継続的発見
- 一般的なシナリオ(SSL証明書、RDPサービス、ICS/Modbusなど)のプリセットクエリ
- 組織固有の資産ハンティングのためのカスタムクエリサポート
- NVDエンリッチメント: インテリジェントなバナー解析による自動CVE関連付け
- 14以上の製品タイプ(Apache、Nginx、MySQL、IISなど)をサポートするバナーサービス抽出
- CVSSスコアリングと重大度分類
- データ損失の防止:脆弱性が見つかった場合のみCVEメトリックを更新
- 内部データ統合(お客様の環境に対応可能な拡張アーキテクチャ):
- CMDBコレクター: 資産分類、重要度レベル、コンプライアンスタグ
- SIEMコレクター: 行動メトリック、認証パターン、異常スコア
- パッチ管理コレクター: パッチの最新性、未適用アップデート、パッチ適用遅延分析
- ネットワーク監視コレクター: トラフィックパターン、DDoS検出、異常スコア
- 統合データベース: 40以上のインデックス付きカラムを持つSQLite、効率的なクエリとレポート作成に対応
📊 エグゼクティブダッシュボードと分析ツール
- ダーク/ライトテーマ対応のPyQt5ベースGUI:
- リアルタイムのリスク分布可視化(Matplotlibによる棒グラフ)
- ソート・フィルタ可能なデバイステーブル、色分けされたリスクインジケータ
- 組織、国、リスクレベルによるクイックフィルター
- IP、組織、国、リスクフィールドの自動検索
- インタラクティブなデバイス検査:
- CVSSスコア付きの詳細な脆弱性リスト
- 脆弱性のタイムラインと履歴追跡
- スコアリングを説明するリスク要因の内訳
- 一括操作:
- 手動スキャン実行(Shodan + NVDエンリッチメント)
- フィールド検証付きCSV/JSONデータインポート
- パフォーマンスメトリック付きモデル再トレーニング
- 設定確認のための手動アラート送信
- 分析パネル(高度):
- リスク分布のトレンド
- CVE影響分析
- 組織別脆弱性メトリック
📧 プロアクティブなメールアラート
- SendGrid統合: 高リスク資産に対する自動HTMLメール通知
- リスクラベルの変更(低/中→高)時に即座にトリガー
- 「通知済み」ステータス追跡による重複アラート防止
- リッチなアラートコンテンツ:
- リスクスコアと信頼度を含むエグゼクティブサマリー
- 詳細な脆弱性リスト(CVSS上位N件)
- セキュリティチーム向けのリスク要因内訳
- 実行可能な修復推奨事項
- 柔軟な設定: アラート受信者、メールテンプレート、トリガー条件を定義可能
サンプルアラートメール
![自動セキュリティアラートメールテンプレート]
リスクサマリー、CVE詳細、修復ガイダンスを含むHTMLフォーマットのメール(SendGrid経由送信)
📈 モデルの透明性と継続的改善
- パフォーマンス監視:
- トレーニングエポック全体の精度追跡
- 混同行列と分類レポート
- モデルの決定を理解するための特徴量重要度分析
- データドリフト検出インジケータ
- フィードバックループ:
- アナリストによる手動リスクラベル修正
- 真陽性/偽陽性の追跡
- フィードバックに基づくモデル重み調整
- メタデータログ付き自動再トレーニングスケジュール
⚡ パフォーマンスと信頼性
- スケールに最適化:
- 5以上のカラムに対するデータベースインデックスによりサブミリ秒のクエリを実現
- 頻繁にアクセスされるデータの結果キャッシュ(28.7倍の高速化)
- 大規模データセット向け「さらに読み込む」ページネーション(初期50行+50行ずつ増加)
- ワーカースレッド(QThread、ThreadPoolExecutor)によるノンブロッキングUI
- 堅牢なエラーハンドリング:
- API障害(Shodan、NVD、SendGrid)に対する指数バックオフ再試行ロジック
- オプションサービスが利用できない場合のグレースフルデグラデーション
- ファイルローテーション付き包括的なログ記録
- スレッドセーフなシグナル/スロットアーキテクチャによるレースコンディション防止
- メモリ効率:
- チャートレンダリング後のガベージコレクション
- 起動時間短縮のための遅延ロードUIタブ
- 適切なクリーンアップを保証するセッションコンテキストマネージャ
� ビジュアル概要
メインダッシュボード
![ThreatSentry AIダッシュボード - メイン脅威ハンティングインターフェース]
ソート可能なデバイステーブルとリスク分布棒グラフによるリアルタイムリスク可視化
デバイスリスク評価テーブル
![リスクインジケータ付きデバイステーブル]
ソート・フィルタ可能なデバイス一覧、色分けされたリスクレベル(緑=低、黄=中、赤=高)
高度なフィルタリングパネル
![高度なフィルター - CVSS範囲、組織、国、リスクレベル]
CVSS範囲、組織、国、リスクレベルによる強力なフィルター制御 + 「すべてクリア」ボタン
- CVSS範囲フィルター: 最小および最大CVSSスコア(0-10)を調整して特定の重要度レベルにフォーカス
- 組織フィルター: データベース内の全組織のドロップダウンから特定の組織をクイックフィルター
- 国フィルター: 地理的な位置でフィルターして地域リスクを特定
- リスクレベルフィルター: 高、中、低、またはすべてのデバイスを表示してフォーカス分析
- すべてクリアボタン: すべてのフィルターをワンクリックでデフォルト値にリセットし、データセット全体を再表示
- フィルター適用: 選択したすべてのフィルターを即座に適用し、結果をリアルタイムで反映
全データベース検索機能
![検索入力 - データベース全体にわたるマルチカラム検索]
現在表示されている行だけでなく、デバイスデータベース全体を対象とするインテリジェント検索
- 包括的検索: IPアドレス、組織名、国、リスクレベルを横断検索
- 自動IP検出: IPアドレス形式を自動検出し、それに応じて検索
- 全データベースカバレッジ: 検索結果には最初の50行に限定されず、データベース内のすべてのデバイスが含まれる
- リアルタイム結果: デバウンス300msの遅延で応答性が高く、パフォーマンスに影響を与えない
- ページネーション統合: 検索結果は効率的な読み込みのためのページネーションシステムに従う
インテリジェントページネーションと大規模データセットサポート
![さらに読み込むボタン - ページネーションコントロール]
数千のデバイスを効率的に処理するための最適化されたページネーションシステム
- デフォルト50行表示: 高速レンダリングのため、ダッシュボードは最初の50デバイスで読み込み
- 段階的読み込み: 「さらに読み込む(50行)」ボタンにより、タイムアウトなしでインクリメンタルに読み込み
- メモリ効率: 要求された行のみを表示し、データセット全体をメモリにロードしない
- パフォーマンス最適化: 大規模データセット読み込み時のフリーズを防止するノンブロッキングUI
- ステータス表示: 利用可能な全デバイス数の透明性を提供する「X / Y デバイスを表示中」
- 検索統合: 検索フィルターがページネーションとシームレスに連携し、高速な結果を提供
分析・レポートパネル
![分析タブ - リスクトレンドとCVE分析]
過去のリスクトレンド、脆弱性分析、組織別セキュリティメトリック
ツールと設定
![ツールタブ - モデルステータスとデータエクスポート]
モデルトレーニング情報、パフォーマンスメトリック、データエクスポート、高度なフィルタリングオプション
メールアラート通知
![自動セキュリティアラートメール]
エグゼクティブサマリー、脆弱性詳細、修復ガイダンスを含むHTMLフォーマットのメール
手動スキャンワークフロー
![スキャントリガーダイアログ]
詳細なエラーレポートと進捗表示付きのShodan + NVDエンリッチメント実行
🛠️ 技術スタック
| レイヤー | 技術 |
|---|
| バックエンド | Python 3.9+, SQLAlchemy ORM, APScheduler |
| ML/AI | Scikit-learn (Random Forest, Gradient Boosting, MLP), NumPy, Joblib |
| フロントエンド | PyQt5, Matplotlib, Custom theme manager |
| データ | Pandas, NumPy, SQLite3 |
| API | Shodan, NVDLib, SendGrid, Requests |
| ユーティリティ | Python-dotenv, Logging module, Config management |