Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ThreatDetect — Prototipo di rilevamento delle minacce interne basato su Streamlit che utilizza XGBoost e Isolation Forest per analizzare i dati delle attività dei dipendenti, generare riepiloghi del rischio e fornire spiegazioni SHAP per singolo dipendente. | Kitploit
Strumenti/GitLabGitLab/jazbengu/threatdetect
Machine LearningRilevamento di Anomalie
GitLabjazbengu/threatdetect

ThreatDetect

Prototipo di rilevamento delle minacce interne basato su Streamlit che utilizza XGBoost e Isolation Forest per analizzare i dati delle attività dei dipendenti, generare riepiloghi del rischio e fornire spiegazioni SHAP per singolo dipendente.

Vedi RepositorySito web
3 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ThreatDetect

ThreatDetect è un prototipo di rilevamento delle minacce interne basato su Streamlit che analizza i dati delle attività dei dipendenti e segnala comportamenti potenzialmente rischiosi. Utilizza un classificatore XGBoost addestrato insieme a un rilevatore di anomalie Isolation Forest per produrre riepiloghi dei rischi a livello di organizzazione e approfondimenti interpretabili a livello di singolo dipendente.

Demo

L'app può essere eseguita localmente usando Streamlit. Una demo pubblicata era in precedenza disponibile su:

  • https://threatdetectcos720.streamlit.app/

Caratteristiche Principali

  • Rilevamento batch dei rischi da un file CSV caricato
  • Riepilogo delle minacce organizzative con conteggi, distribuzione di probabilità e livelli di rischio
  • Spiegabilità per singolo dipendente tramite valori SHAP
  • Analisi Esplorativa dei Dati (EDA) per dataset caricati o di esempio
  • Esportazione dei risultati delle predizioni in CSV
  • Visualizzazioni per importanza delle feature, distribuzione del rischio e rilevamento di anomalie

Struttura del Repository

  • streamlit_app.py — applicazione principale Streamlit
  • requirements.txt — dipendenze dei pacchetti Python
  • AI_Model_Code/insider_threat_model.pkl — pipeline di inferenza salvata e artefatti del modello addestrato
  • AI_Model_Code/insider_threat_clean_dataset.csv — dataset di esempio incluso per EDA
  • AI_Model_Code/cos720_ai_model_FINAL.ipynb — notebook di sviluppo del modello
  • assets/app_styling.css — stile UI personalizzato per l'app Streamlit
  • unit testing/ — file di test per la preparazione delle feature e la logica di spiegazione
  • docs/TECHNICAL_DOCUMENTATION.md — documentazione tecnica del progetto

Requisiti Software

  • Python 3.8 o successivo
  • streamlit
  • pandas
  • numpy
  • scikit-learn
  • matplotlib
  • seaborn
  • plotly
  • xgboost
  • shap

Installa tutte le dipendenze con:

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

Installazione

  1. Clona il repository:
root@kitploit:~
git clone https://github.com/jazbengu/ThreatDetect.git
cd ThreatDetect
  1. Crea e attiva un ambiente virtuale (consigliato):
root@kitploit:~
python3 -m venv venv
source venv/bin/activate
  1. Installa le dipendenze:
root@kitploit:~
pip install -r requirements.txt

Esecuzione dell'App

Avvia l'app con:

root@kitploit:~
streamlit run streamlit_app.py

Poi apri l'URL locale mostrato nel terminale (di solito http://localhost:8501).

Utilizzo di ThreatDetect

Ricerca Organizzativa tramite CSV

  • Carica un file CSV contenente le caratteristiche dei dipendenti e delle attività.
  • Clicca su Run Threat Detection per calcolare le probabilità di rischio per ogni record.
  • L'app mostra un riepilogo delle predizioni complessive tra malevolo e normale, distribuzione delle probabilità di rischio e importanza delle feature.
  • Puoi espandere la tabella dei risultati dettagliati e scaricare l'output come CSV.
  • Usa la sezione di spiegazione per record per ispezionare perché un determinato dipendente è stato segnalato.

Analisi Esplorativa dei Dati

  • Carica il tuo CSV o usa il dataset di esempio incluso in AI_Model_Code/insider_threat_clean_dataset.csv.
  • La pagina mostra la forma del dataset, statistiche descrittive, informazioni sui valori mancanti e grafici delle feature.
  • Le colonne numeriche possono essere esplorate con istogrammi, boxplot, relazioni di dispersione e mappe di calore di correlazione.
  • Una rapida scansione di anomalie con Isolation Forest può evidenziare record insoliti.

Pagine della Barra Laterale

  • Ricerca Organizzativa tramite CSV è il flusso di lavoro principale per il rilevamento batch delle minacce.
  • Ricerca Singola è mostrata nella barra laterale ma non è attualmente implementata nella logica dell'app.
  • Analisi Esplorativa dei Dati è disponibile per l'esplorazione del dataset e controlli rapidi di anomalie.

Artefatti del Modello

AI_Model_Code/insider_threat_model.pkl contiene un pacchetto modello serializzato con:

  • xgb_model: classificatore XGBoost addestrato
  • iso_forest: rilevatore di anomalie Isolation Forest addestrato
  • scaler: StandardScaler per input numerici
  • label_encoders: codificatori per feature categoriche
  • feature_columns: elenco ordinato delle feature
  • cat_cols, num_cols, bin_cols: raggruppamenti di feature
  • best_threshold: soglia di classificazione usata per le decisioni di rischio
  • shap_explainer: spiegatore SHAP per la spiegabilità

Il file del modello viene caricato da streamlit_app.py e utilizzato per preprocessare gli input, calcolare le probabilità di rischio e generare spiegazioni.

Test

Il repository include test nella cartella unit testing/.

Esegui la suite di test con:

root@kitploit:~
pytest "unit testing/"

Note e Risoluzione dei Problemi

  • Se Streamlit non si avvia, assicurati che l'ambiente virtuale sia attivo e che le dipendenze siano installate.
  • Se l'app segnala colonne richieste mancanti, verifica che il CSV caricato includa i campi previsti per dipendenti e attività.
  • Il file del modello è stato serializzato con versioni precedenti di scikit-learn, quindi il caricamento potrebbe generare avvisi di compatibilità se il tuo ambiente utilizza versioni più recenti.
  • Se il dataset di esempio integrato non è disponibile, carica il tuo CSV per continuare a usare la pagina EDA.

Contributo

Questo repository è configurato per miglioramenti e test. Miglioramenti futuri potrebbero includere l'espansione della copertura delle feature e il riaddestramento del modello con dati aggiuntivi sulle minacce interne.

Scarica lo strumento