
Ce dépôt démontre un pipeline d'apprentissage automatique pour détecter les techniques MITRE ATT&CK à partir de journaux et enrichir les résultats à l'aide d'un LLM local.
Ce dépôt démontre un pipeline d'apprentissage automatique pour détecter les techniques MITRE ATT&CK à partir de journaux et enrichir la sortie à l'aide d'un LLM local.
Le projet est divisé en deux composants principaux :
Le modèle ML est entraîné à prédire une technique MITRE (ou BENIGN) à partir d'événements de journalisation.
Cela permet d'automatiser la détection et la catégorisation des comportements potentiellement malveillants.
commandline des journauxmitre_label (par ex., T1059.001, T1105, BENIGN)python scripts/train_mitre_model.py
Ce script :
Charge le jeu de données dataset_full_160k.csv
Divise les données en ensembles train/test
Convertit les lignes de commande en vecteurs TF-IDF
Entraîne le modèle Random Forest
Évalue les performances (précision, rappel, score F1, matrice de confusion)
Enregistre le modèle entraîné et le vectoriseur :
models/mitre_ml_model.pkl
models/tfidf_vectorizer.pkl

Une fois que le modèle ML prédit une technique MITRE, le LLM enrichit le résultat en fournissant :
Explication de la technique
Pourquoi la commande correspond à la technique
Intention de l'attaquant
Étapes d'investigation recommandées
Règles de détection suggérées
Cette étape fait le pont entre la prédiction ML brute et les informations exploitables pour l'analyste SOC.
Un LLM local (par ex., Phi-3 via Ollama) est appelé avec un prompt contenant :
Prédiction ML
Ligne de commande brute
python scripts/enrich_with_llm.py

pip3 install -r requirements.txt
Bibliothèques