
Détection en temps réel des menaces sur la chaîne d'approvisionnement npm/PyPI. Analyse des chaînes comportementales, analyse AST, flux IOC et moteur de notation composite.
MUAD
Installation | Utilisation | Fonctionnalités | VS Code | CI/CD
Les attaques supply-chain npm et PyPI explosent. Shai-Hulud a compromis 25K+ repos en 2025. Les outils existants détectent, mais n'aident pas à répondre.
MUAD'DIB combine 22 scanners paralleles (277 regles de detection), un moteur de desobfuscation, une analyse dataflow inter-module, du scoring compose (21 regles compound), et un sandbox gVisor/Docker pour detecter les menaces connues et les patterns comportementaux suspects dans les packages npm et PyPI. Un classifier XGBoost existe dans le code mais est actuellement inactif (modele effondre, en attente de re-entrainement — voir section ML Classifier ci-dessous).
MUAD'DIB est un scanner supply-chain npm et PyPI libre, ouvert et entièrement auditable. Il détecte les menaces connues (225 000+ IOCs), le RCE à l'installation, les flux credential-puis-exfiltration, les payloads obfusqués et d'autres patterns comportementaux suspects — en local, sans télémétrie.
Il est distribué sous licence AGPL-3.0 ; une licence commerciale est disponible pour les organisations qui doivent l'intégrer dans un produit propriétaire ou l'exécuter en service hébergé fermé (voir Licence).
Il ne cherche volontairement pas à tout couvrir — voir le Threat Model pour ce qu'il détecte et ce qu'il ne détecte pas.
npm install -g muaddib-scanner
git clone https://github.com/DNSZLSK/muad-dib
cd muad-dib
npm install
npm link
muaddib scan .
muaddib scan /chemin/vers/projet
Scanne les dépendances npm (package.json, node_modules) et Python (requirements.txt, setup.py, pyproject.toml).
muaddib
Lance un menu interactif pour vous guider à travers toutes les fonctionnalités.
muaddib install <package>
muaddib install lodash axios --save-dev
muaddib i express -g
muaddib install suspicious-pkg --force # Forcer l'installation malgré les menaces
Scanne les packages AVANT installation. Bloque les packages malveillants connus.
Chaque scan affiche un score de risque 0-100 :
[SCORE] 58/100 [***********---------] HIGH
muaddib scan . --explain
Affiche pour chaque détection :
muaddib scan . --json > results.json # JSON
muaddib scan . --html report.html # HTML
muaddib scan . --sarif results.sarif # SARIF (GitHub Security)
muaddib scan . --fail-on critical # Fail seulement sur CRITICAL
muaddib scan . --fail-on high # Fail sur HIGH et CRITICAL (défaut)
muaddib scan . --fail-on medium # Fail sur MEDIUM, HIGH, CRITICAL
muaddib scan . --paranoid
Détection ultra-stricte avec moins de tolérance. Utile pour les projets critiques. Détecte tout accès réseau, exécution de sous-processus, évaluation de code dynamique et accès aux fichiers sensibles.
muaddib scan . --webhook "https://discord.com/api/webhooks/..."
Envoie une alerte avec le score et les menaces sur Discord ou Slack. Filtrage strict (v2.1.2) : les alertes ne sont envoyées que pour les correspondances IOC, les menaces confirmées par sandbox, ou l'exfiltration de canary tokens — réduisant le bruit des détections heuristiques seules.
muaddib watch .
muaddib daemon
muaddib daemon --webhook "https://discord.com/api/webhooks/..."
Surveille automatiquement tous les npm install et scanne les nouveaux packages.
muaddib update
Charge les 225 000+ IOCs inclus dans le package, fusionne les IOCs YAML et les sources GitHub additionnelles (GenSecAI, DataDog). Lancez cette commande après npm install pour un rafraîchissement instantané des IOCs.
muaddib scrape
Rafraîchissement complet depuis toutes les sources primaires. Télécharge les dumps OSV pour npm et PyPI (~100-200 Mo), OSSF, et toutes les autres sources. Lancez cette commande quand vous voulez les données les plus récentes.
Sources :
muaddib sandbox <nom-package>
muaddib sandbox <nom-package> --strict
Analyse dynamique : installe le package dans un container Docker isolé et surveille le comportement à l'exécution via strace, tcpdump et diff filesystem.