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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ThreatDetect — XGBoostおよびIsolation Forestを使用して従業員のアクティビティデータを分析し、リスクサマリーを生成し、SHAPベースの従業員ごとの説明を提供するStreamlitベースのインサイダー脅威検出プロトタイプ。 | Kitploit
ツール/GitLabGitLab/jazbengu/threatdetect
機械学習異常検知
GitLabjazbengu/threatdetect

ThreatDetect

XGBoostおよびIsolation Forestを使用して従業員のアクティビティデータを分析し、リスクサマリーを生成し、SHAPベースの従業員ごとの説明を提供するStreamlitベースのインサイダー脅威検出プロトタイプ。

リポジトリを見るウェブサイト
264ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

ThreatDetect

ThreatDetect は、Streamlit ベースの内部脅威検出プロトタイプで、従業員の活動データを分析し、潜在的にリスクのある行動をフラグ付けします。トレーニング済みの XGBoost 分類器と Isolation Forest 異常検出器を組み合わせて使用し、組織レベルのリスクサマリーと説明可能な従業員レベルのインサイトを生成します。

デモ

このアプリは Streamlit を使用してローカルで実行できます。以前、以下の URL でデプロイされたデモが公開されていました。

  • https://threatdetectcos720.streamlit.app/

主な機能

  • アップロードした CSV ファイルからのバッチリスク検出
  • 組織的な脅威サマリー(件数、確率分布、リスク階層)
  • SHAP 値を使用した従業員ごとの説明可能性
  • アップロードデータまたはサンプルデータセットの探索的データ分析(EDA)
  • 予測結果の CSV エクスポート
  • 特徴量の重要度、リスク分布、異常検出の可視化

リポジトリ構成

  • streamlit_app.py — メインの Streamlit アプリケーション
  • requirements.txt — Python パッケージの依存関係
  • AI_Model_Code/insider_threat_model.pkl — 保存された推論パイプラインとトレーニング済みモデル成果物
  • AI_Model_Code/insider_threat_clean_dataset.csv — EDA 用にバンドルされたサンプルデータセット
  • AI_Model_Code/cos720_ai_model_FINAL.ipynb — モデル開発ノートブック
  • assets/app_styling.css — Streamlit アプリのカスタム UI スタイル
  • unit testing/ — 特徴量準備と説明ロジックのテストファイル
  • docs/TECHNICAL_DOCUMENTATION.md — プロジェクトの技術文書

ソフトウェア要件

  • Python 3.8 以降
  • streamlit
  • pandas
  • numpy
  • scikit-learn
  • matplotlib
  • seaborn
  • plotly
  • xgboost
  • shap

すべての依存関係を以下のコマンドでインストールします。

pip install -r requirements.txt

インストール

  1. リポジトリをクローンします。
git clone https://github.com/jazbengu/ThreatDetect.git
cd ThreatDetect
  1. 仮想環境を作成し、アクティベートします(推奨)。
python3 -m venv venv
source venv/bin/activate
  1. 依存関係をインストールします。
pip install -r requirements.txt

アプリの実行

以下のコマンドでアプリを起動します。

streamlit run streamlit_app.py

その後、ターミナルに表示されるローカル URL(通常は http://localhost:8501)を開きます。

ThreatDetect の使用方法

CSV による組織検索

  • 従業員と活動の特徴を含む CSV ファイルをアップロードします。
  • 「脅威検出を実行」をクリックして、各レコードのリスク確率を計算します。
  • アプリは、悪意/正常予測の全体サマリー、リスク確率分布、特徴量の重要度を表示します。
  • 詳細な結果テーブルを展開し、出力を CSV としてダウンロードできます。
  • レコードごとの説明セクションを使用して、特定の従業員がフラグ付けされた理由を確認します。

探索的データ分析

  • 自分の CSV をアップロードするか、AI_Model_Code/insider_threat_clean_dataset.csv にあるバンドルされたサンプルデータセットを使用します。
  • ページにはデータセットの形状、記述統計、欠損値情報、特徴量プロットが表示されます。
  • 数値列は、ヒストグラム、箱ひげ図、散布図関係、相関ヒートマップで探索できます。
  • 簡単な Isolation Forest 異常スキャンで異常なレコードを強調表示できます。

サイドバーページ

  • 「CSV による組織検索」がメインのバッチ脅威検出ワークフローです。
  • 「単一検索」はサイドバーに表示されますが、現在アプリのロジックには実装されていません。
  • 「探索的データ分析」はデータセットの探索と簡単な異常チェックに利用できます。

モデル成果物

AI_Model_Code/insider_threat_model.pkl には、シリアル化されたモデルパッケージが含まれており、次のものがあります。

  • xgb_model: トレーニング済み XGBoost 分類器
  • iso_forest: トレーニング済み Isolation Forest 異常検出器
  • scaler: 数値入力用の StandardScaler
  • label_encoders: カテゴリ特徴量用のエンコーダ
  • feature_columns: 順序付き特徴量リスト
  • cat_cols, num_cols, bin_cols: 特徴量のグループ化
  • best_threshold: リスク判定に使用される分類しきい値
  • shap_explainer: 説明可能性のための SHAP 説明器

モデルファイルは streamlit_app.py によって読み込まれ、入力の前処理、リスク確率の計算、説明の生成に使用されます。

テスト

リポジトリには unit testing/ の下にテストが含まれています。

テストスイートを次のコマンドで実行します。

pytest "unit testing/"

注意とトラブルシューティング

  • Streamlit が起動しない場合は、仮想環境がアクティブで依存関係がインストールされていることを確認してください。
  • アプリが必要な列がないと報告した場合は、アップロードした CSV に期待される従業員および活動フィールドが含まれていることを確認してください。
  • モデルファイルは古いバージョンの scikit-learn でシリアル化されているため、環境が新しいバージョンの場合、読み込み時に互換性に関する警告が表示される可能性があります。
  • 組み込みのサンプルデータセットが利用できない場合は、独自の CSV をアップロードして EDA ページを引き続き使用できます。

貢献

このリポジトリは拡張とテストを目的として構成されています。今後の改善点としては、特徴量カバレッジの拡大や、追加の内部脅威データを用いたモデルの再トレーニングが含まれる可能性があります。

ツールをダウンロード