
muad-dib v2.11.179
Echtzeit-Bedrohungserkennung für npm/PyPI-Lieferketten. Verhaltenskettenanalyse, AST-Scanning, IOC-Feeds und kombinierte Bewertungs-Engine.
Installation | Verwendung | Funktionen | VS Code | CI/CD
Warum MUAD'DIB?
Angriffe auf die Lieferkette von npm und PyPI explodieren. Shai-Hulud kompromittierte 2025 über 25.000+ Repositories. Bestehende Tools erkennen Bedrohungen, helfen aber nicht bei der Reaktion.
MUAD'DIB kombiniert 22 parallele Scanner (278 Erkennungsregeln), eine Deobfuskierungs-Engine, modulübergreifende Datenflussanalyse, zusammengesetzte Bewertung (21 zusammengesetzte Regeln) und eine gVisor/Docker-Sandbox, um bekannte Bedrohungen und verdächtige Verhaltensmuster in npm- und PyPI-Paketen zu erkennen. Ein XGBoost-Klassifikator existiert im Code, ist aber derzeit inaktiv (siehe Evaluierung).
Positionierung
MUAD'DIB ist ein kostenloser, offener und vollständig prüfbarer Lieferketten-Scanner für npm und PyPI. Er erkennt bekannte Bedrohungen (225.000+ IOCs), RCE bei der Installation, Credential-Diebstahl mit anschließender Exfiltration, obfuskierte Payloads und andere verdächtige Verhaltensmuster — lokal, ohne Telemetrie.
Er ist unter der AGPL-3.0 lizenziert; eine kommerzielle Lizenz ist für Organisationen verfügbar, die ihn in ein proprietäres Produkt einbetten oder als geschlossenen gehosteten Dienst betreiben müssen (siehe Lizenz).
Er versucht bewusst nicht, alles zu tun — siehe Umfang für genau das, was er erkennt und was nicht.
Umfang
Erkennt (npm & PyPI): bekannte bösartige Pakete (Name + SHA256-IOC-Abgleich), Typosquats, RCE bei der Installation (Lifecycle preinstall/postinstall, curl | sh, Python-Import-Zeit, binding.gyp), Credential-Lesen mit anschließender Netzwerk-Exfiltration (innerhalb und zwischen Dateien), obfuskierte / High-Entropy- / Stub-Loader-Payloads, binäre Dropper (chmod +x + exec/spawn) und Anti-Analyse-Evasion-Marker.
Außerhalb des Umfangs: Browser-only-Angriffe (DOM/window, keine Node.js-API), der Inhalt nativer Binärdateien / WASM (keine Binäranalyse), Zero-Day-unbekannte Pakete (der IOC-Feed ist reaktiv) und Nicht-npm/PyPI-Ökosysteme (RubyGems, Maven, Go). Entschlossenes Anti-Sandbox-Fingerprinting und mehrstufige Remote-Payloads sind bekannte False-Negative-Risiken. Vollständige Details: Bedrohungsmodell.
Keine Telemetrie. Ihr Code und Ihre Scan-Ergebnisse verlassen niemals Ihren Rechner — MUAD'DIB lädt nur Threat-Intel-Feeds herunter (muaddib update) und liest für die Bewertung öffentliche npm-Registry-Metadaten. Webhook-Benachrichtigungen sind optional.
Installation
npm (empfohlen)
npm install -g muaddib-scanner
Aus dem Quellcode
git clone https://github.com/DNSZLSK/muad-dib
cd muad-dib
npm install
npm link
Verwendung
Grundlegender Scan
muaddib scan .
muaddib scan /path/to/project
Scannt sowohl npm- (package.json, node_modules) als auch Python-Abhängigkeiten (requirements.txt, setup.py, pyproject.toml).
Interaktiver Modus
muaddib
Sichere Installation
muaddib install <package>
muaddib install lodash axios --save-dev
muaddib install suspicious-pkg --force # Installation trotz Bedrohungen erzwingen
Scannt Pakete auf Bedrohungen VOR der Installation. Blockiert bekannte bösartige Pakete.
Risikobewertung
Jeder Scan zeigt eine Risikobewertung von 0-100:
[SCORE] 58/100 [***********---------] HIGH
Erklärungsmodus
muaddib scan . --explain
Zeigt Regel-ID, MITRE-ATT&CK-Technik, Referenzen und Reaktions-Playbook für jede Erkennung.
Export
muaddib scan . --json > results.json # JSON
muaddib scan . --html report.html # HTML
muaddib scan . --sarif results.sarif # SARIF (GitHub Security)
Schweregrad-Schwelle
muaddib scan . --fail-on critical # Nur bei KRITISCH fehlschlagen
muaddib scan . --fail-on high # Bei HOCH und KRITISCH fehlschlagen (Standard)
Paranoider Modus
muaddib scan . --paranoid
Ultra-strikte Erkennung mit geringerer Toleranz. Erkennt jeden Netzwerkzugriff, jede Subprozess-Ausführung, jede dynamische Code-Auswertung und jeden Zugriff auf sensible Dateien.
Webhook-Benachrichtigungen
muaddib scan . --webhook "https://discord.com/api/webhooks/..."
Strikte Filterung (v2.1.2): Benachrichtigungen nur bei IOC-Treffern, sandbox-bestätigten Bedrohungen oder Canary-Token-Exfiltration. Priorisierte Triage (v2.10.21): P1 (rot, IOC/Sandbox/Canary), P2 (orange, hohe Bewertung/zusammengesetzt), P3 (gelb, Rest).
Erkennung von Verhaltensanomalien (v2.0)
muaddib scan . --temporal-full # Alle 4 zeitlichen Merkmale
muaddib scan . --temporal # Erkennung plötzlicher Lifecycle-Skripte
muaddib scan . --temporal-ast # AST-Diff zwischen Versionen
muaddib scan . --temporal-publish # Anomalie der Veröffentlichungshäufigkeit
muaddib scan . --temporal-maintainer # Erkennung von Maintainer-Wechseln
Erkennt Lieferketten-Angriffe bevor sie in IOC-Datenbanken erscheinen, durch Analyse von Änderungen zwischen Paketversionen. Details siehe Evaluierungsmethodik.
Docker-Sandbox
muaddib sandbox <package-name>
muaddib sandbox <package-name> --strict
Dynamische Analyse in einem isolierten Docker-Container: strace, tcpdump, Dateisystem-Diff, Canary-Tokens, CI-bewusste Umgebung und Monkey-Patching-Preload für Zeitbomben-Erkennung (mehrfache Ausführung bei [0h, 72h, 7d] Offsets).
Andere Befehle
muaddib watch . # Echtzeit-Überwachung
muaddib daemon # Daemon-Modus (automatischer Scan bei npm install)
muaddib update # IOCs aktualisieren (schnell, ~5s)
muaddib scrape # Vollständige IOC-Aktualisierung (~5min)
muaddib diff HEAD~1 # Bedrohungen mit vorherigem Commit vergleichen
muaddib init-hooks # Pre-Commit-Hooks (husky/pre-commit/git)
muaddib scan . --breakdown # Erklärbare Bewertungs-Zerlegung
muaddib replay # Ground-Truth-Validierung (90/94 TPR@3, v2.11.48)