FrancescoCitti/ml_threat_detection

GitHub: FrancescoCitti/ml_threat_detection

Stars: 0 | Forks: 0

# ml threat detection Detects anomalous SSH login activity in Linux auth logs using Isolation Forest. Groups events by IP, computes failure rates, and flags statistical outliers likely to represent brute-force or credential-stuffing attempts. ## How it works 1. `preprocess.py` parses raw `/var/log/auth.log` lines, extracts source IPs, and labels each event as failed or successful. 2. `model.py` aggregates per-IP statistics (attempt count, failure count, failure rate), scales them, and runs Isolation Forest to surface outliers. ## Usage pip install -r requirements.txt # Preprocess only python src/preprocess.py data/auth.log # Run full detection python src/model.py data/auth.log Place your auth log at `data/auth.log`. The file is excluded from version control. ## Output example 3 anomalous IP(s) detected: ip_encoded total_attempts failed_attempts failure_rate anomaly 42 847 841 0.993 -1 17 12 12 1.000 -1 3 203 199 0.981 -1 ## Files src/preprocess.py Log parsing and feature extraction src/model.py Isolation Forest detection requirements.txt Python dependencies data/ Place auth.log here (gitignored)