← Retour aux projets
En coursSeptembre 2025
Vérification formelle de paquets logiciels open-source par analyse statique hybride et classification par apprentissage automatique
Les dépôts de paquets open-source (PyPI, npm) sont devenus des vecteurs d'attaque majeurs via l'injection de code malveillant dans les dépendances transitives. Ce projet développe un pipeline hybride combinant l'analyse statique de flux de données (taint analysis) et un classifieur ML entraîné sur des signatures de paquets malveillants connus, pour détecter automatiquement les comportements suspects avant publication.
Équipe
AM
Abdelhamid MASSERITI
Directeur de recherche
KT
Karim TOUATI
Chercheur
Méthodologie
- Construction d'un corpus de 500 paquets malveillants documentés (Backstabber's Knife Collection, MalOSS) et de 5 000 paquets bénins pour l'entraînement du classifieur.
- Implémentation d'un analyseur statique inter-procédural basé sur des graphes de flux de contrôle (CFG) et de flux de données (DFG) pour Python et JavaScript.
- Entraînement d'un modèle GNN (Graph Neural Network) sur les représentations de graphes extraites, avec augmentation par mutations synthétiques.
- Évaluation sur un jeu de test séparé de 200 paquets récemment signalés, comparaison avec les outils existants (Bandit, Semgrep, Socket).
Métriques d'évaluation
- Taux de détection (recall) sur les paquets malveillants — objectif > 92 %.
- Taux de faux positifs — objectif < 5 % sur les paquets bénins.
- Temps d'analyse moyen par paquet — objectif < 30 secondes.
Budget
800 $ en crédits de calcul GPU (Google Cloud) pour l'entraînement du GNN, 200 $ pour l'infrastructure de CI/CD du pipeline d'analyse.
Livrables attendus
- Outil open-source d'analyse de paquets publiable comme action GitHub / hook pre-publish npm.
- Dataset annoté de graphes de flux de paquets (malveillants et bénins) sur Hugging Face.
- Article soumis à ICSE 2027 (International Conference on Software Engineering).