Contexte et objectif :
- Concevoir un outil intégré qui prend en entrée les résultats de scans (Nmap, OpenVAS/Nessus) et unifie ces données dans un schéma commun (hôtes, services, CVE/CVSS).
- Prioriser automatiquement les vulnérabilités selon le contexte opérationnel et produire des suggestions d’exploitation (étapes, payloads) assistées par un LLM léger local ou via API.
Tâches principales :
- Priorisation (ML CPU) : extraire des features (service/port, bannière, exploits connus, exposition, tags métier), entraîner LogReg/XGBoost pour scorer l’exploitabilité et classer le Top-N.
- Assistance IA (RAG + LLM léger) : indexer ressources (cheatsheets, Exploit-DB, notes) avec FAISS, utiliser un LLM quantifié 3–7B pour générer/adapter étapes et payloads, produire playbooks en Markdown/HTML ; fallback API optionnel.
Ingestion, normalisation et enrichissement des données :
- Parser Nmap/OpenVAS/Nessus, unifier en schéma commun et stocker dans SQLite ; enrichir CPE → produit/version, CVE → CVSS.
- Mettre en place dump/ingestion CVE/CVSS et mécanismes de journalisation & garde-fous (validation humaine, environnement isolé).
Interface, intégration et évaluation :
- Développer une interface CLI + API FastAPI, avec une mini-UI (Streamlit ou FastAPI+HTMX/Jinja) ; CLI possible via Typer/Click.
- Préparer un lab de démonstration (Kali + cible Docker/VM : DVWA/Juice Shop), mesurer performances via MAP@K / NDCG@K, intégrer journalisation et validations humaines.
Technologies et compétences requises :
- Pentest & données : Nmap, OpenVAS/Nessus, Metasploit, Burp (exports), compréhension CVE/CVSS, CPE.
- Python & ML (CPU) : Python 3.11, pandas/numpy, scikit-learn, XGBoost ; RAG/NLP & LLM “light” : sentence-transformers (small), FAISS, Ollama/llama.cpp (Mistral-7B/Llama-3/Phi-3) ou API.
- Backend & UI : FastAPI, CLI (Typer/Click), Streamlit ou FastAPI+HTMX/Jinja ; Infra : Docker, Linux/WSL2, réseau isolé, SQLite.
Livrables attendus :
- Prototype fonctionnel capable d’ingérer scans, prioriser vulnérabilités et générer playbooks exploitation (Markdown/HTML), avec CLI + API et mini-UI.
- Rapport technique détaillant modèle de priorisation (features, entraînement), architecture RAG/LLM, métriques d’évaluation (MAP@K/NDCG@K), et protocole de test en lab isolé.
Modalités de stage :
- Stage de pré-embauche, 6 mois (stage rémunéré).
- Références et démonstrations attendues lors de la soutenance : démo lab (Kali + cible Docker/VM), logs et métriques d’évaluation.
Candidature :
- Pour postuler, envoyer votre candidature à stages@binitns.com en précisant le sujet et en joignant CV + lettre de motivation.
- Objet recommandé : "[candidature stage] SUJET 20 - Conception système d'assistance vulnérabilités - NomPrénom".