Torna agli aggiornamenti
New releaseJul 26, 2026

muad-dib v2.11.179

Rilevamento in tempo reale delle minacce alla catena di fornitura npm/PyPI. Analisi comportamentale della catena, scansione AST, feed IOC e motore di punteggio composito.

Condividi

MUAD'DIB Logo

npm version CI Coverage OpenSSF Scorecard License Node IOCs

Installazione | Utilizzo | Funzionalità | VS Code | CI/CD

Version française


Perché MUAD'DIB?

Gli attacchi alla supply chain di npm e PyPI stanno esplodendo. Shai-Hulud ha compromesso oltre 25.000 repository nel 2025. Gli strumenti esistenti rilevano le minacce ma non aiutano a rispondere.

MUAD'DIB combina 22 scanner paralleli (278 regole di rilevamento), un motore di deoffuscamento, analisi del flusso dati inter-modulo, punteggio composto (21 regole composte) e una sandbox gVisor/Docker per rilevare minacce note e modelli comportamentali sospetti nei pacchetti npm e PyPI. Un classificatore XGBoost esiste nel codebase ma è attualmente inattivo (vedi Valutazione).


Posizionamento

MUAD'DIB è uno scanner di supply chain gratuito, aperto e completamente verificabile per npm e PyPI. Rileva minacce note (oltre 225.000 IOC), RCE al momento dell'installazione, flussi di esfiltrazione di credenziali, payload offuscati e altri modelli comportamentali sospetti — localmente, senza telemetria.

È concesso in licenza AGPL-3.0; una licenza commerciale è disponibile per le organizzazioni che necessitano di integrarlo in un prodotto proprietario o di eseguirlo come servizio hosted chiuso (vedi Licenza).

Non cerca deliberatamente di fare tutto — vedi Ambito per cosa rileva esattamente e cosa non rileva.


Ambito

Rileva (npm e PyPI): pacchetti noti come dannosi (corrispondenza IOC nome + SHA256), typosquat, RCE al momento dell'installazione (script di ciclo di vita preinstall/postinstall, curl | sh, import-time Python, binding.gyp), lettura di credenziali seguita da esfiltrazione di rete (intra- e cross-file), payload offuscati / ad alta entropia / stub-loader, dropper binari (chmod +x + exec/spawn) e marcatori di evasione anti-analisi.

Fuori ambito: attacchi solo browser (DOM/window, nessuna API Node.js), il contenuto di binari nativi / WASM (nessuna analisi binaria), pacchetti sconosciuti zero-day (il feed IOC è reattivo) ed ecosistemi non npm/PyPI (RubyGems, Maven, Go). Il fingerprinting anti-sandbox determinato e i payload remoti multi-stadio sono rischi noti di falsi negativi. Dettagli completi: Modello di minaccia.

Nessuna telemetria. Il tuo codice e i risultati delle scansioni non lasciano mai la tua macchina — MUAD'DIB scarica solo i feed di threat intelligence (muaddib update) e, per il punteggio, legge i metadati pubblici del registro npm. Gli avvisi webhook sono opt-in.


Installazione

npm (consigliato)

npm install -g muaddib-scanner

Dal sorgente

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

Utilizzo

Scansione di base

muaddib scan .
muaddib scan /path/to/project

Scansiona sia le dipendenze npm (package.json, node_modules) che Python (requirements.txt, setup.py, pyproject.toml).

Modalità interattiva

muaddib

Installazione sicura

muaddib install <package>
muaddib install lodash axios --save-dev
muaddib install suspicious-pkg --force    # Forza l'installazione nonostante le minacce

Scansiona i pacchetti per individuare minacce PRIMA dell'installazione. Blocca i pacchetti noti come dannosi.

Punteggio di rischio

Ogni scansione mostra un punteggio di rischio da 0 a 100:

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

Modalità spiegazione

muaddib scan . --explain

Mostra l'ID della regola, la tecnica MITRE ATT&CK, i riferimenti e il playbook di risposta per ogni rilevamento.

Esportazione

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

Soglia di gravità

muaddib scan . --fail-on critical  # Fallisce solo su CRITICAL
muaddib scan . --fail-on high      # Fallisce su HIGH e CRITICAL (predefinito)

Modalità paranoica

muaddib scan . --paranoid

Rilevamento ultra-stretto con tolleranza inferiore. Rileva qualsiasi accesso di rete, esecuzione di sottoprocessi, valutazione dinamica del codice e accesso a file sensibili.

Avvisi webhook

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

Filtraggio rigoroso (v2.1.2): avvisi solo per corrispondenze IOC, minacce confermate dalla sandbox o esfiltrazione di canary token. Triage prioritario (v2.10.21): P1 (rosso, IOC/sandbox/canary), P2 (arancione, punteggi alti/composti), P3 (giallo, resto).

Rilevamento anomalie comportamentali (v2.0)

muaddib scan . --temporal-full     # Tutte e 4 le funzionalità temporali
muaddib scan . --temporal          # Rilevamento script di ciclo di vita improvvisi
muaddib scan . --temporal-ast      # Diff AST tra versioni
muaddib scan . --temporal-publish  # Anomalia frequenza di pubblicazione
muaddib scan . --temporal-maintainer # Rilevamento cambio di maintainer

Rileva gli attacchi alla supply chain prima che compaiano nei database IOC analizzando i cambiamenti tra le versioni dei pacchetti. Vedi Metodologia di valutazione per i dettagli.

Sandbox Docker

muaddib sandbox <package-name>
muaddib sandbox <package-name> --strict

Analisi dinamica in un contenitore Docker isolato: strace, tcpdump, diff del filesystem, canary token, ambiente CI-aware e preload di monkey-patching per il rilevamento di time-bomb (esecuzioni multiple a offset [0h, 72h, 7d]).

Altri comandi

muaddib watch .                    # Monitoraggio in tempo reale
muaddib daemon                     # Modalità daemon (auto-scan di npm install)
muaddib update                     # Aggiorna gli IOC (veloce, ~5s)
muaddib scrape                     # Aggiornamento completo IOC (~5min)
muaddib diff HEAD~1                # Confronta le minacce con il commit precedente
muaddib init-hooks                 # Hook pre-commit (husky/pre-commit/git)
muaddib scan . --breakdown         # Scomposizione del punteggio spiegabile
muaddib replay                     # Validazione ground truth (90/94 TPR@3, v2.11.48)

Funzionalità

22 scanner paralleli

Categorie