Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
muad-dib — Echtzeit-Bedrohungserkennung für npm/PyPI-Lieferketten. Verhaltenskettenanalyse, AST-Scanning, IOC-Feeds und kombinierte Bewertungs-Engine. | Kitploit
Tools/GitHubGitHub/dnszlsk/muad-dib
Management von Indicators of Compromise (IOC)Statische AnalyseSchwachstellenscannerDynamische Analyse (Sandboxing)Code-AnalyseMalware-AnalyseDevSecOpsSecret-ErkennungBedrohungsanalyseLieferkettensicherheitLernen & Bildung
15637vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHubdnszlsk/muad-dib

muad-dib

Echtzeit-Bedrohungserkennung für npm/PyPI-Lieferketten. Verhaltenskettenanalyse, AST-Scanning, IOC-Feeds und kombinierte Bewertungs-Engine.

Repository anzeigenWebseite
Teilen
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/10373/84132538a800a2879cff088259fe9e98e975a3fe37f8462fe731d6a06f82314a.png" alt="MUAD'DIB Logo" width="700">
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/muaddib-scanner"><img src="https://img.shields.io/npm/v/muaddib-scanner" alt="npm version"></a>
  <a href="https://github.com/DNSZLSK/muad-dib/actions/workflows/scan.yml"><img src="https://github.com/DNSZLSK/muad-dib/actions/workflows/scan.yml/badge.svg" alt="CI"></a>
  <a href="https://codecov.io/gh/DNSZLSK/muad-dib"><img src="https://codecov.io/gh/DNSZLSK/muad-dib/branch/master/graph/badge.svg" alt="Coverage"></a>
  <a href="https://scorecard.dev/viewer/?uri=github.com/DNSZLSK/muad-dib"><img src="https://api.scorecard.dev/projects/github.com/DNSZLSK/muad-dib/badge" alt="OpenSSF Scorecard"></a>
  <img src="https://img.shields.io/badge/license-AGPL--3.0--only-blue" alt="License">
  <img src="https://img.shields.io/badge/node-%3E=18-brightgreen" alt="Node">
  <img src="https://img.shields.io/badge/IOCs-225,000+-red" alt="IOCs">
</p>

<p align="center">
  <a href="#installation">Installation</a> |
  <a href="#usage">Verwendung</a> |
  <a href="#features">Funktionen</a> |
  <a href="#vs-code">VS Code</a> |
  <a href="#cicd">CI/CD</a>
</p>

<p align="center">
  <a href="https://github.com/dnszlsk/muad-dib/blob/master/docs/README.fr.md">Version francaise</a>
</p>

---

## 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 **<!--stat:scanners-->22<!--/stat:scanners--> parallele Scanner** (<!--stat:rulesTotal-->278<!--/stat:rulesTotal--> Erkennungsregeln), eine **Deobfuskierungs-Engine**, **modulübergreifende Datenflussanalyse**, **zusammengesetzte Bewertung** (<!--stat:compound-->21<!--/stat:compound--> 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](#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](#lizenz)).

Er versucht bewusst nicht, alles zu tun — siehe [Umfang](#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](https://github.com/dnszlsk/muad-dib/blob/master/docs/threat-model.md).

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

```bash
npm install -g muaddib-scanner
```

### Aus dem Quellcode

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

---

## Verwendung

### Grundlegender Scan

```bash
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

```bash
muaddib
```

### Sichere Installation

```bash
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

```bash
muaddib scan . --explain
```

Zeigt Regel-ID, MITRE-ATT&CK-Technik, Referenzen und Reaktions-Playbook für jede Erkennung.

### Export

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

### Schweregrad-Schwelle

```bash
muaddib scan . --fail-on critical  # Nur bei KRITISCH fehlschlagen
muaddib scan . --fail-on high      # Bei HOCH und KRITISCH fehlschlagen (Standard)
```

### Paranoider Modus

```bash
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

```bash
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)

```bash
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](https://github.com/dnszlsk/muad-dib/blob/master/docs/EVALUATION_METHODOLOGY.md).

### Docker-Sandbox

```bash
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

```bash
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)
```

---

## Funktionen

### <!--stat:scanners-->22<!--/stat:scanners--> parallele Scanner

| Scanner | Erkennung |
|---------|-----------|
| AST-Parse (acorn) | eval, Function, Credential-Diebstahl, binäre Dropper, Prototype-Hooks |
| Musterabgleich | Shell-Befehle, Reverse Shells, Dead Man's Switch |
| Datenflussanalyse | Credential-Lesen + Netzwerk-Senden (innerhalb und zwischen Dateien) |
| Obfuskations-Erkennung | JS-Obfuskationsmuster (.min.js überspringen) |
| Deobfuskierungs-Vorverarbeitung | String-Konkatenation, Charcode, base64, Hex-Array, Konstante-Propagation |
| Modulübergreifender Datenfluss | Dateiübergreifende Taint-Propagation (3-Hop-Ketten, Klassenmethoden) |
| Intent-Kohärenz | Quell-Senke-Paarung innerhalb einer Datei (Credential + eval/Netzwerk) |
| Typosquatting | npm + PyPI (Levenshtein-Distanz) |
| Python-Scanner | requirements.txt, setup.py, pyproject.toml, 14K+ PyPI-IOCs |
| Shannon-Entropie | High-Entropy-Strings (5,5 Bits + mind. 50 Zeichen) |
| KI-Konfigurations-Scanner | .cursorrules, CLAUDE.md, copilot-instructions.md-Injektion |
| Paket/Abhängigkeiten | Lifecycle-Skripte, IOC-Abgleich (225K+ Pakete) |
| GitHub Actions | Shai-Hulud-Backdoor-Erkennung |
| Hash-Scanner | Bekannte bösartige Datei-Hashes |
| IOC-Strings (intel-triage P1.1) | YARA-artiger String-Abgleich (Axios 2026, TeamPCP, GlassWorm, CanisterSprawl) |
| Anti-Forensik-AST (intel-triage P1.2) | XOR-Schleife + Selbstlöschung + Köder-Schreibvorgang zusammengesetzt (csec autodelete) |
| Stub-Paket (intel-triage P1.3) | Winzige Hauptdatei + externe Dep-URL + Lifecycle-Hook (ltidi-Kette) |
| Monorepo-Scanner | Lerna/pnpm-workspace/turbo-Erkennung (Sprint-1-Audit MR-C2-Fix) |
| Trusted-Dep-Diff (optional) | Diff gegen vertrauenswürdige Dep-Tarballs aus der Registry (v2.10.x) |
| Python-Quellcode (PYSRC) | Import-/Installationszeit-RCE-Muster in `__init__.py` / `setup.py` (v2.11.41 — schließt TrapDoor-PyPI-Lücke) |
| Python-AST (PYAST) | Tree-sitter-Python-AST mit Taint-bewussten Detektoren (v2.11.42+) |
| Anti-Scanner-Injektion (ASI) | Prompt-Injektionstext in Kommentaren/Zeichenketten, der einen LLM-Code-Reviewer zu einem sauberen Urteil oder zum Überspringen einer obfuskierten Payload zwingt (ASI-001..004, Hades-Kampagne 2026-06) |

### <!--stat:rulesTotal-->278<!--/stat:rulesTotal--> Erkennungsregeln

Alle Regeln (<!--stat:rulesCore-->273<!--/stat:rulesCore--> REGELN + <!--stat:rulesParanoid-->5<!--/stat:rulesParanoid--> PARANOID) sind MITRE-ATT&CK-Techniken zugeordnet. Die vollständige Regeln-Referenz finden Sie in [SECURITY.md](https://github.com/dnszlsk/muad-dib/blob/master/SECURITY.md#detection-rules).

### Erkannte Kampagnen

| Kampagne | Status |
|----------|--------|
| GlassWorm (2026, 433+ Pakete) | Erkannt |
| Shai-Hulud v1/v2/v3 (2025) | Erkannt |
| event-stream (2018) | Erkannt |
| eslint-scope (2018) | Erkannt |
| Protestware (node-ipc, colors, faker) | Erkannt |
| Typosquats (crossenv, mongose, babelcli) | Erkannt |

---

## VS Code

Die VS-Code-Erweiterung scannt Ihre npm-Projekte automatisch.

```bash
code --install-extension dnszlsk.muaddib-vscode
```

- `MUAD'DIB: Scan Project` - Gesamtes Projekt scannen
- `MUAD'DIB: Scan Current File` - Aktuelle Datei scannen
- Einstellungen: `muaddib.autoScan`, `muaddib.webhookUrl`, `muaddib.failLevel`

Vollständige Dokumentation finden Sie in [vscode-extension/README.md](https://github.com/dnszlsk/muad-dib/blob/master/vscode-extension/README.md).

---

## CI/CD

### GitHub Actions (Marketplace)

Minimal (Build bei HOCH+-Bedrohungen fehlschlagen lassen, einzelner Scan):

```yaml
name: Security Scan

on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: DNSZLSK/[email protected]   # auf ein veröffentlichtes Tag pinnen
        with:
          fail-on: 'high'
```

Mit SARIF-Upload auf den **Security**-Tab (benötigt `security-events: write`; führt einen zweiten Durchlauf zur SARIF-Erzeugung aus):

```yaml
jobs:
  scan:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      security-events: write
    steps:
      - uses: actions/checkout@v4
      - uses: DNSZLSK/[email protected]
        with:
          path: '.'
          fail-on: 'high'
          sarif: 'results.sarif'
```

**Eingaben**

| Eingabe | Beschreibung | Standard |
|-------|-------------|---------|
| `path` | Zu scannender Pfad | `.` |
| `fail-on` | Minimale Schwere für Fehlschlag (`critical`/`high`/`medium`/`low`/`none`) | `high` |
| `sarif` | SARIF-Ausgabedateipfad — setzen, um auch auf den Security-Tab hochzuladen | |
| `paranoid` | Ultra-strikte Erkennung (höhere FPR) | `false` |
| `version` | Zu installierende `muaddib-scanner`-npm-Version | `latest` |

**Ausgaben** (in späteren Schritten über `steps.<id>.outputs.*` konsumierbar)

| Ausgabe | Beschreibung |
|--------|-------------|
| `risk-score` | Risikobewertung 0–100 |
| `risk-level` | `SAFE` / `LOW` / `MEDIUM` / `HIGH` / `CRITICAL` |
| `threats-count` | Gesamtzahl erkannter Bedrohungen |
| `critical-count` / `high-count` | Bedrohungen nach Schweregrad |
| `exit-code` | `0` = `fail-on`-Schwelle bestanden, sonst ungleich Null |
| `sarif-file` | Pfad zur SARIF-Datei (leer, wenn `sarif` nicht gesetzt) |

### Pre-Commit-Hooks

```bash
muaddib init-hooks                        # Automatische Erkennung (husky/pre-commit/git)
muaddib init-hooks --type husky           # husky erzwingen
muaddib init-hooks --mode diff            # Nur NEUE Bedrohungen blockieren
```

Mit dem pre-commit-Framework:
```yaml
repos:
  - repo: https://github.com/DNSZLSK/muad-dib
    rev: v2.11.139
    hooks:
      - id: muaddib-scan
```

---

## Evaluierung

Zuletzt gemessen **v2.11.48** (2026-05-26), **nur Regeln** (der ML-Klassifikator ist inaktiv — siehe unten). Ground Truth: 94 im Umfang liegende reale Angriffe + 200 zufällige npm + 124 PyPI + 107 adversariale/Holdout.

| Metrik | Ergebnis |
|--------|--------|
| Erkennungsrate (TPR@3) | **95,74%** (90/94) |
| Alarmrate (TPR@20) | **88,30%** (83/94) |
| FPR — kuratierte npm (548) | **1,10%** (6/545) |
| FPR — zufällige npm (200) | **2,50%** (5/200) |
| FPR — PyPI (132) | **9,68%** (12/124) |
| ADR — adversarial + Holdout | **96,26%** (103/107) |
| Wild-TPR (Datadog 17K) | **92,8%** (13.538/14.587) |

**ML-Klassifikator: inaktiv.** Ein XGBoost-Modell liegt in `src/ml/` vor, ist aber nie in `muaddib scan` eingebunden und läuft seit 2026-04-08 nur im LOG-ONLY-Modus im Monitor (das trainierte Modell kollabierte, Neuschulung ausstehend). Alle obigen Zahlen sind nur Regeln.

Vollständiges Protokoll, Verlauf pro Track, der PyPI-Cap-35-Vorbehalt, operative (GHSA-denominierte) Abdeckung und die ML-Neuschulungsmethodik: [Evaluierungsmethodik](https://github.com/dnszlsk/muad-dib/blob/master/docs/EVALUATION_METHODOLOGY.md).

---

## Mitwirken

### IOCs hinzufügen

YAML-Dateien in `iocs/` bearbeiten:

```yaml
- id: NEW-MALWARE-001
  name: "malicious-package"
  version: "*"
  severity: critical
  confidence: high
  source: community
  description: "Threat description"
  references:
    - https://example.com/article
  mitre: T1195.002
```

### Entwicklung

```bash
git clone https://github.com/DNSZLSK/muad-dib
cd muad-dib
npm install
npm test
```

### Testen

- **<!--stat:tests-->4545<!--/stat:tests--> Tests** über <!--stat:testFiles-->155<!--/stat:testFiles--> modulare Testdateien
- **56 Fuzz-Tests** - Fehlerhafte Eingaben, ReDoS, Unicode, Binär
- **Datadog-17K-Benchmark** - 14.587 bestätigte Malware-Beispiele (im Umfang)
- **Ground-Truth-Validierung** - 96 reale Angriffe (95,74% TPR@3, 88,30% TPR@20 — v2.11.48 vollständige Messung auf 94 im Umfang)
- **False-Positive-Validierung** (v2.11.48-Messung) - 1,10% FPR-Regeln (6/545 gescannt), 2,50% auf 200 zufällige, 9,68% auf 124/132 PyPI (erste ehrliche Messung nach Track-D-Download-Fix). ML-Klassifikator derzeit inaktiv — siehe Evaluierungsmetriken → ML-Klassifikator.

---

## Community

- Discord: https://discord.gg/y8zxSmue

---

## Dokumentation

- [Blog](https://dnszlsk.github.io/muad-dib/blog/) - Technische Artikel zur Lieferketten-Bedrohungserkennung
- [Carnet de bord](https://github.com/dnszlsk/muad-dib/blob/master/docs/CARNET_DE_BORD_MUADDIB.md) - Entwicklungstagebuch (auf Französisch)
- [Dokumentationsindex](https://github.com/dnszlsk/muad-dib/blob/master/docs/INDEX.md) - Alle Dokumentation an einem Ort
- [Evaluierungsmethodik](https://github.com/dnszlsk/muad-dib/blob/master/docs/EVALUATION_METHODOLOGY.md) - Experimentelles Protokoll, Holdout-Ergebnisse
- [Bedrohungsmodell](https://github.com/dnszlsk/muad-dib/blob/master/docs/threat-model.md) - Was MUAD'DIB erkennt und nicht erkennt
- [Sicherheitsrichtlinie](https://github.com/dnszlsk/muad-dib/blob/master/SECURITY.md) - Referenz der Erkennungsregeln (<!--stat:rulesTotal-->278<!--/stat:rulesTotal--> Regeln)
- [Sicherheitsaudit](https://github.com/dnszlsk/muad-dib/blob/master/docs/SECURITY_AUDIT.md) - Bypass-Validierungsbericht
- [FP-Analyse](https://github.com/dnszlsk/muad-dib/blob/master/docs/EVALUATION.md) - Historische False-Positive-Analyse

---

## Lizenz

MUAD'DIB ist unter der **GNU Affero General Public License v3.0 only** (`AGPL-3.0-only`) lizenziert — siehe [LICENSE](https://github.com/dnszlsk/muad-dib/blob/master/LICENSE) und [NOTICE](https://github.com/dnszlsk/muad-dib/blob/master/NOTICE).

Sie dürfen es frei verwenden, studieren, modifizieren und weiterverbreiten — auch über ein Netzwerk — vorausgesetzt, abgeleitete Werke und netzwerkbereitgestellte Modifikationen werden unter derselben Lizenz veröffentlicht.

**Kommerzielle Lizenzierung:** Zur Einbettung von MUAD'DIB in ein proprietäres / Closed-Source-Produkt oder zur Bereitstellung als gehosteter Dienst ohne die Quelloffenlegungspflichten der AGPL ist eine separate kommerzielle Lizenz erhältlich. Öffnen Sie ein Issue oder kontaktieren Sie den Autor ([DNSZLSK](https://github.com/DNSZLSK)).

Copyright (C) 2026 DNSZLSK.

---

<p align="center">
  <strong>The spice must flow. The worms must die.</strong>
</p>
Tool herunterladen