Retour aux mises à jour
New releaseJul 26, 2026

muad-dib v2.11.179

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.

Partager

MUAD

npm version CI Coverage OpenSSF Scorecard License Node IOCs

Installation | Utilisation | Fonctionnalités | VS Code | CI/CD

English version


Pourquoi MUAD'DIB ?

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).


Positionnement

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.


Installation

npm (recommandé)

npm install -g muaddib-scanner

Depuis les sources

git clone https://github.com/DNSZLSK/muad-dib
cd muad-dib
npm install
npm link

Utilisation

Scan basique

muaddib scan .
muaddib scan /chemin/vers/projet

Scanne les dépendances npm (package.json, node_modules) et Python (requirements.txt, setup.py, pyproject.toml).

Mode interactif

muaddib

Lance un menu interactif pour vous guider à travers toutes les fonctionnalités.

Installation sécurisée

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.

Score de risque

Chaque scan affiche un score de risque 0-100 :

[SCORE] 58/100 [***********---------] HIGH

Mode explain (détails complets)

muaddib scan . --explain

Affiche pour chaque détection :

  • Rule ID
  • Technique MITRE ATT&CK
  • Références (articles, CVEs)
  • Playbook de réponse

Export

muaddib scan . --json > results.json     # JSON
muaddib scan . --html report.html        # HTML
muaddib scan . --sarif results.sarif     # SARIF (GitHub Security)

Seuil de sévérité

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

Mode paranoid

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.

Webhook Discord/Slack

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.

Surveillance temps réel

muaddib watch .

Mode daemon

muaddib daemon
muaddib daemon --webhook "https://discord.com/api/webhooks/..."

Surveille automatiquement tous les npm install et scanne les nouveaux packages.

Mise à jour IOCs (rapide, ~5 secondes)

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.

Scrape IOCs (complet, ~5 minutes)

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 :

  • OSV.dev npm dump - Téléchargement en masse de toutes les entrées MAL-*
  • OSV.dev PyPI dump - Téléchargement en masse de toutes les entrées PyPI MAL-*
  • GenSecAI Shai-Hulud 2.0 Detector - Liste consolidée de 700+ packages Shai-Hulud
  • DataDog Security Labs - IOCs consolidés de plusieurs vendors
  • OSSF Malicious Packages - Base OpenSSF (8000+ rapports via OSV.dev)
  • Snyk Known Malware - Packages malveillants historiques
  • IOCs Statiques - Socket.dev, Phylum, packages supprimés de npm

Sandbox Docker

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.

Catégories