Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ThreatDetect — Prototype de détection des menaces internes basé sur Streamlit, utilisant XGBoost et Isolation Forest pour analyser les données d'activité des employés, générer des résumés de risque et fournir des explications par employé basées sur SHAP. | Kitploit
Outils/GitLabGitLab/jazbengu/threatdetect
Apprentissage AutomatiqueDétection d'Anomalies
GitLabjazbengu/threatdetect

ThreatDetect

Prototype de détection des menaces internes basé sur Streamlit, utilisant XGBoost et Isolation Forest pour analyser les données d'activité des employés, générer des résumés de risque et fournir des explications par employé basées sur SHAP.

Voir le dépôtSite web
il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ThreatDetect

ThreatDetect est un prototype de détection des menaces internes basé sur Streamlit qui analyse les données d'activité des employés et signale les comportements potentiellement risqués. Il utilise un classifieur XGBoost entraîné ainsi qu'un détecteur d'anomalies Isolation Forest pour produire des résumés de risque au niveau organisationnel et des informations explicables au niveau des employés.

Demo

L'application peut être exécutée localement avec Streamlit. Une démo déployée a été précédemment publiée à :

  • https://threatdetectcos720.streamlit.app/

Key Features

  • Détection des risques par lot à partir d'un fichier CSV téléchargé
  • Résumé des menaces organisationnelles avec comptes, distribution de probabilité et niveaux de risque
  • Explicabilité par employé à l'aide des valeurs SHAP
  • Analyse exploratoire des données (EDA) pour les ensembles de données téléchargés ou d'exemple
  • Export CSV des résultats de prédiction
  • Visualisations de l'importance des caractéristiques, de la distribution des risques et de la détection d'anomalies

Repository Structure

  • streamlit_app.py — application principale Streamlit
  • requirements.txt — dépendances des paquets Python
  • AI_Model_Code/insider_threat_model.pkl — pipeline d'inférence sauvegardée et artefacts du modèle entraîné
  • AI_Model_Code/insider_threat_clean_dataset.csv — ensemble de données d'exemple intégré pour l'EDA
  • AI_Model_Code/cos720_ai_model_FINAL.ipynb — notebook de développement du modèle
  • assets/app_styling.css — style d'interface utilisateur personnalisé pour l'application Streamlit
  • unit testing/ — fichiers de test pour la préparation des caractéristiques et la logique d'explication
  • docs/TECHNICAL_DOCUMENTATION.md — documentation technique du projet

Software Requirements

  • Python 3.8 ou ultérieur
  • streamlit
  • pandas
  • numpy
  • scikit-learn
  • matplotlib
  • seaborn
  • plotly
  • xgboost
  • shap

Installez toutes les dépendances avec :

root@kitploit:~
pip install -r requirements.txt

Installation

  1. Clonez le dépôt :
root@kitploit:~
git clone https://github.com/jazbengu/ThreatDetect.git
cd ThreatDetect
  1. Créez et activez un environnement virtuel (recommandé) :
root@kitploit:~
python3 -m venv venv
source venv/bin/activate
  1. Installez les dépendances :
root@kitploit:~
pip install -r requirements.txt

Running the App

Lancez l'application avec :

root@kitploit:~
streamlit run streamlit_app.py

Ouvrez ensuite l'URL locale affichée dans le terminal (généralement http://localhost:8501).

Using ThreatDetect

Organisational Search via CSV

  • Téléchargez un fichier CSV contenant les caractéristiques des employés et des activités.
  • Cliquez sur Run Threat Detection pour calculer les probabilités de risque pour chaque enregistrement.
  • L'application affiche un résumé des prédictions malveillantes vs normales, la distribution des probabilités de risque et l'importance des caractéristiques.
  • Vous pouvez développer le tableau des résultats détaillés et télécharger la sortie en CSV.
  • Utilisez la section d'explication par enregistrement pour inspecter pourquoi un employé spécifique a été signalé.

Exploratory Data Analysis

  • Téléchargez votre propre CSV ou utilisez l'ensemble de données d'exemple intégré dans AI_Model_Code/insider_threat_clean_dataset.csv.
  • La page affiche la forme de l'ensemble de données, les statistiques descriptives, les informations sur les valeurs manquantes et les graphiques des caractéristiques.
  • Les colonnes numériques peuvent être explorées avec des histogrammes, des boîtes à moustaches, des relations de dispersion et des cartes de chaleur de corrélation.
  • Une analyse rapide des anomalies par Isolation Forest peut mettre en évidence des enregistrements inhabituels.

Sidebar Pages

  • Organisational Search via CSV est le principal flux de travail de détection des menaces par lot.
  • Single Search est affiché dans la barre latérale mais n'est pas implémenté actuellement dans la logique de l'application.
  • Exploratory Data Analysis est disponible pour l'exploration de l'ensemble de données et les vérifications rapides d'anomalies.

Model Artifacts

AI_Model_Code/insider_threat_model.pkl contient un package de modèle sérialisé avec :

  • xgb_model : classifieur XGBoost entraîné
  • iso_forest : détecteur d'anomalies Isolation Forest entraîné
  • scaler : StandardScaler pour les entrées numériques
  • label_encoders : encodeurs pour les caractéristiques catégorielles
  • feature_columns : liste ordonnée des caractéristiques
  • cat_cols, num_cols, bin_cols : regroupements de caractéristiques
  • best_threshold : seuil de classification utilisé pour les décisions de risque
  • shap_explainer : explicateur SHAP pour l'explicabilité

Le fichier du modèle est chargé par streamlit_app.py et utilisé pour prétraiter les entrées, calculer les probabilités de risque et générer des explications.

Testing

Le dépôt inclut des tests dans unit testing/.

Exécutez la suite de tests avec :

root@kitploit:~
pytest "unit testing/"

Notes and Troubleshooting

  • Si Streamlit ne démarre pas, assurez-vous que votre environnement virtuel est actif et que les dépendances sont installées.
  • Si l'application signale des colonnes obligatoires manquantes, vérifiez que votre CSV téléchargé inclut les champs attendus des employés et des activités.
  • Le fichier du modèle a été sérialisé avec des versions plus anciennes de scikit-learn, donc le chargement peut générer des avertissements de compatibilité si votre environnement utilise des versions plus récentes.
  • Si l'ensemble de données d'exemple intégré n'est pas disponible, téléchargez votre propre CSV pour continuer à utiliser la page EDA.

Contribution

Ce dépôt est configuré pour l'amélioration et les tests. Les améliorations futures peuvent inclure l'expansion de la couverture des caractéristiques et le réentraînement du modèle avec des données supplémentaires sur les menaces internes.

Télécharger l’outil