Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
muad-dib — Detección de amenazas en la cadena de suministro de npm/PyPI en tiempo real. Análisis de cadenas de comportamiento, escaneo de AST, fuentes de IOC y motor de puntuación compuesta. | Kitploit
Herramientas/GitHubGitHub/dnszlsk/muad-dib
Gestión de Indicadores de Compromiso (IOC)Análisis EstáticoEscáneres de VulnerabilidadesAnálisis Dinámico (Sandboxing)Análisis de CódigoAnálisis de MalwareDevSecOpsDetección de SecretosInteligencia de AmenazasSeguridad de Cadena de SuministroAprendizaje y Educación
156hace 1 díaAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
dnszlsk/muad-dib

muad-dib

Detección de amenazas en la cadena de suministro de npm/PyPI en tiempo real. Análisis de cadenas de comportamiento, escaneo de AST, fuentes de IOC y motor de puntuación compuesta.

Ver RepositorioSitio web

Logotipo de MUAD'DIB

npm version CI Coverage OpenSSF Scorecard License Node IOCs

Instalación | Uso | Características | VS Code | CI/CD

Versión francesa


¿Por qué MUAD'DIB?

Los ataques a la cadena de suministro de npm y PyPI se están disparando. Shai-Hulud comprometió más de 25 000 repositorios en 2025. Las herramientas existentes detectan amenazas, pero no te ayudan a responder.

MUAD'DIB combina 22 escáneres en paralelo (277 reglas de detección), un motor de desofuscación, análisis de flujo de datos entre módulos, puntuación compuesta (21 reglas compuestas) y un sandbox gVisor/Docker para detectar amenazas conocidas y patrones de comportamiento sospechosos en paquetes npm y PyPI. En el código base existe un clasificador XGBoost, pero actualmente está inactivo (consulta Evaluación).


Posicionamiento

MUAD'DIB es un escáner de cadena de suministro gratuito, abierto y totalmente auditable para npm y PyPI. Detecta amenazas conocidas (más de 225 000 IOCs), RCE en tiempo de instalación, flujos de exfiltración tras robo de credenciales, payloads ofuscados y otros patrones de comportamiento sospechosos — localmente, sin telemetría.

Está licenciado bajo AGPL-3.0; hay una licencia comercial disponible para organizaciones que necesiten integrarlo en un producto propietario o ejecutarlo como un servicio alojado cerrado (consulta Licencia).

Deliberadamente no intenta hacerlo todo — consulta Alcance para ver exactamente qué detecta y qué no.


Alcance

Detecta (npm y PyPI): paquetes maliciosos conocidos (coincidencia de IOC por nombre + SHA256), typosquatting, RCE en tiempo de instalación (scripts de ciclo de vida preinstall/postinstall, curl | sh, en el momento del import en Python, binding.gyp), lectura de credenciales y posterior exfiltración por red (dentro y entre archivos), payloads ofuscados / de alta entropía / de stub loaders, droppers binarios (chmod +x + exec/spawn) y marcadores de evasión anti-análisis.

Fuera del alcance: ataques solo de navegador (DOM/window, sin API de Node.js), el contenido de binarios nativos / WASM (sin análisis binario), paquetes desconocidos de día cero (el feed de IOCs es reactivo) y ecosistemas que no son npm/PyPI (RubyGems, Maven, Go). Un fingerprinting anti-sandbox determinado y los payloads remotos de múltiples etapas son riesgos conocidos de falsos negativos. Detalle completo: Modelo de amenazas.

Sin telemetría. Tu código y los resultados de los escaneos nunca salen de tu máquina — MUAD'DIB solo descarga feeds de inteligencia de amenazas (muaddib update) y, para la puntuación, lee metadatos públicos del registro de npm. Las alertas por webhook son opcionales (opt-in).


Instalación

npm (recomendado)

root@kitploit:~
npm install -g muaddib-scanner

Desde el código fuente

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

Uso

Escaneo básico

root@kitploit:~
muaddib scan .
muaddib scan /path/to/project

Escanea las dependencias tanto de npm (package.json, node_modules) como de Python (requirements.txt, setup.py, pyproject.toml).

Modo interactivo

root@kitploit:~
muaddib

Instalación segura

root@kitploit:~
muaddib install <package>
muaddib install lodash axios --save-dev
muaddib install suspicious-pkg --force    # Force install despite threats

Escanea los paquetes en busca de amenazas ANTES de instalarlos. Bloquea paquetes maliciosos conocidos.

Puntuación de riesgo

Cada escaneo muestra una puntuación de riesgo de 0 a 100:

root@kitploit:~
[SCORE] 58/100 [***********---------] HIGH

Modo explicación

root@kitploit:~
muaddib scan . --explain

Muestra el ID de la regla, la técnica MITRE ATT&CK, las referencias y el manual de respuesta para cada detección.

Exportación

root@kitploit:~
muaddib scan . --json > results.json     # JSON
muaddib scan . --html report.html        # HTML
muaddib scan . --sarif results.sarif     # SARIF (GitHub Security)

Umbral de severidad

root@kitploit:~
muaddib scan . --fail-on critical  # Fail only on CRITICAL
muaddib scan . --fail-on high      # Fail on HIGH and CRITICAL (default)

Modo paranoico

root@kitploit:~
muaddib scan . --paranoid

Detección ultraestricta con menor tolerancia. Detecta cualquier acceso a la red, ejecución de subprocesos, evaluación dinámica de código y acceso a archivos sensibles.

Alertas por webhook

root@kitploit:~
muaddib scan . --webhook "https://discord.com/api/webhooks/..."

Filtrado estricto (v2.1.2): alertas solo para coincidencias de IOC, amenazas confirmadas por sandbox o exfiltración de tokens canary. Triaje por prioridad (v2.10.21): P1 (rojo, IOC/sandbox/canary), P2 (naranja, puntuación alta/compuestos), P3 (amarillo, el resto).

Detección de anomalías de comportamiento (v2.0)

root@kitploit:~
muaddib scan . --temporal-full     # All 4 temporal features
muaddib scan . --temporal          # Sudden lifecycle script detection
muaddib scan . --temporal-ast      # AST diff between versions
muaddib scan . --temporal-publish  # Publish frequency anomaly
muaddib scan . --temporal-maintainer # Maintainer change detection

Detecta ataques a la cadena de suministro antes de que aparezcan en las bases de datos de IOCs mediante el análisis de los cambios entre versiones de paquetes. Consulta Metodología de evaluación para más detalles.

Sandbox Docker

root@kitploit:~
muaddib sandbox <package-name>
muaddib sandbox <package-name> --strict

Análisis dinámico en un contenedor Docker aislado: strace, tcpdump, diff del sistema de archivos, tokens canary, entorno consciente de CI y precarga mediante monkey-patching para la detección de bombas de tiempo (múltiples ejecuciones en desplazamientos de [0h, 72h, 7d]).

Otros comandos

root@kitploit:~
muaddib watch .                    # Real-time monitoring
muaddib daemon                     # Daemon mode (auto-scan npm install)
muaddib update                     # Update IOCs (fast, ~5s)
muaddib scrape                     # Full IOC refresh (~5min)
muaddib diff HEAD~1                # Compare threats with previous commit
muaddib init-hooks                 # Pre-commit hooks (husky/pre-commit/git)
muaddib scan . --breakdown         # Explainable score decomposition
muaddib replay                     # Ground truth validation (90/94 TPR@3, v2.11.48)

Características

22 escáneres en paralelo

277 reglas de detección

Todas las reglas (272 REGLAS + 5 PARANOID) están mapeadas a técnicas de MITRE ATT&CK. Consulta SECURITY.md para la referencia completa de reglas.

Campañas detectadas


VS Code

La extensión de VS Code escanea automáticamente tus proyectos npm.

root@kitploit:~
code --install-extension dnszlsk.muaddib-vscode
  • MUAD'DIB: Scan Project - Escanear todo el proyecto
  • MUAD'DIB: Scan Current File - Escanear el archivo actual
  • Configuración: muaddib.autoScan, muaddib.webhookUrl, muaddib.failLevel

Consulta vscode-extension/README.md para la documentación completa.


CI/CD

GitHub Actions (Marketplace)

root@kitploit:~
name: Security Scan

on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    permissions:
      security-events: write
      contents: read
    steps:
      - uses: actions/checkout@v4
      - uses: DNSZLSK/muad-dib@v1
        with:
          path: '.'
          fail-on: 'high'
          sarif: 'results.sarif'

Hooks de pre-commit

root@kitploit:~
muaddib init-hooks                        # Auto-detect (husky/pre-commit/git)
muaddib init-hooks --type husky           # Force husky
muaddib init-hooks --mode diff            # Only block NEW threats

Con el framework pre-commit:

root@kitploit:~
repos:
  - repo: https://github.com/DNSZLSK/muad-dib
    rev: v2.11.139
    hooks:
      - id: muaddib-scan

Evaluación

Última medición: v2.11.48 (2026-05-26), solo reglas (el clasificador ML está inactivo — ver más abajo). Verdad fundamental: 94 ataques reales dentro del alcance + 200 npm aleatorios + 124 PyPI + 107 adversariales/holdout.

Clasificador ML: inactivo. Hay un modelo XGBoost en src/ml/, pero nunca está conectado a muaddib scan y, desde 2026-04-08, se ejecuta en modo LOG-ONLY en el monitor (el modelo entrenado colapsó y está pendiente de reentrenamiento). Todos los números anteriores corresponden solo a reglas.

Protocolo completo, historial por pista, la advertencia del límite de 35 en PyPI, la cobertura operativa (denominada en GHSA) y la metodología de reentrenamiento del ML: Metodología de evaluación.


Contribuciones

Añadir IOCs

Edita los archivos YAML en iocs/:

root@kitploit:~
- 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

Desarrollo

root@kitploit:~
git clone https://github.com/DNSZLSK/muad-dib
cd muad-dib
npm install
npm test

Pruebas

  • 4545 pruebas en 152 archivos de prueba modulares
  • 56 pruebas de fuzzing - Entradas malformadas, ReDoS, unicode, binario
  • Benchmark Datadog 17K - 14,587 muestras de malware confirmadas (dentro del alcance)
  • Validación de verdad fundamental - 96 ataques del mundo real (95.74% TPR@3, 88.30% TPR@20 — medición completa v2.11.48 sobre 94 dentro del alcance)
  • Validación de falsos positivos (medición v2.11.48) - 1.10% FPR de reglas (6/545 escaneados), 2.50% sobre 200 aleatorios, 9.68% sobre 124/132 PyPI (primera medición honesta tras la corrección de descarga del Track D). El clasificador ML está actualmente inactivo — ver Métricas de Evaluación → Clasificador ML.

Comunidad

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

Documentación

  • Blog - Artículos técnicos sobre detección de amenazas en la cadena de suministro
  • Carnet de bord - Diario de desarrollo (en francés)
  • Índice de documentación - Toda la documentación en un solo lugar
  • Metodología de evaluación - Protocolo experimental, puntuaciones holdout
  • Modelo de amenazas - Qué detecta y qué no detecta MUAD'DIB
  • Política de seguridad - Referencia de reglas de detección (277 reglas)
  • Auditoría de seguridad - Informe de validación de bypass
  • Análisis de FP - Análisis histórico de falsos positivos

Licencia

MUAD'DIB está licenciado bajo GNU Affero General Public License v3.0 only (AGPL-3.0-only) — consulta LICENSE y NOTICE.

Eres libre de usarlo, estudiarlo, modificarlo y redistribuirlo — incluso a través de una red — siempre que las obras derivadas y las modificaciones desplegadas en red se publiquen bajo la misma licencia.

Licencia comercial: para integrar MUAD'DIB en un producto propietario / de código cerrado, u ofrecerlo como un servicio alojado sin las obligaciones de divulgación del código fuente del AGPL, hay disponible una licencia comercial independiente. Abre un issue o ponte en contacto con el autor (DNSZLSK).

Copyright (C) 2026 DNSZLSK.


La especia debe fluir. Los gusanos deben morir.

Descargar herramienta
EscánerDetección
Análisis AST (acorn)eval, Function, robo de credenciales, droppers binarios, hooks de prototipo
Coincidencia de patronesComandos de shell, reverse shells, interruptor de hombre muerto
Análisis de flujo de datosLectura de credenciales + envío por red (dentro y entre archivos)
Detección de ofuscaciónPatrones de ofuscación JS (omitir .min.js)
Preprocesamiento de desofuscaciónConcatenación de strings, charcode, base64, array hexadecimal, propagación de constantes
Flujo de datos entre módulosPropagación de taint entre archivos (cadenas de 3 saltos, métodos de clase)
Coherencia de intenciónEmparejamiento fuente-sumidero dentro del archivo (credenciales + eval/red)
Typosquattingnpm + PyPI (distancia de Levenshtein)
Escáner de Pythonrequirements.txt, setup.py, pyproject.toml, más de 14 000 IOCs de PyPI
Entropía de ShannonStrings de alta entropía (mínimo 5.5 bits + 50 caracteres)
Escáner de configuración de IAInyección en .cursorrules, CLAUDE.md, copilot-instructions.md
Paquetes/DependenciasScripts de ciclo de vida, coincidencia de IOCs (más de 225 000 paquetes)
Acciones de GitHubDetección de backdoors de Shai-Hulud
Escáner de hashesHashes de archivos maliciosos conocidos
Strings de IOC (intel-triage P1.1)Coincidencia de strings estilo YARA (Axios 2026, TeamPCP, GlassWorm, CanisterSprawl)
AST anti-forense (intel-triage P1.2)Compuesto de bucle XOR + autoborrado + escritura señuelo (autoborrado csec)
Paquete stub (intel-triage P1.3)Archivo principal diminuto + URL de dependencia externa + hook de ciclo de vida (cadena ltidi)
Escáner de monoreposDetección de Lerna/pnpm-workspace/turbo (corrección MR-C2 de la auditoría del Sprint 1)
Diff de dependencias de confianza (opt-in)Diff contra tarballs de dependencias de confianza del registro (v2.10.x)
Código fuente de Python (PYSRC)Patrones de RCE en tiempo de import/instalación en __init__.py / setup.py (v2.11.41 — cierra la brecha de TrapDoor en PyPI)
AST de Python (PYAST)AST de Tree-sitter-Python con detectores conscientes de taint (v2.11.42+)
Inyección anti-escáner (ASI)Texto de inyección de prompts en comentarios/strings que coacciona a un revisor de código LLM para que dé un veredicto limpio u omita un payload ofuscado (ASI-001..004, campaña Hades 2026-06)
CampañaEstado
GlassWorm (2026, más de 433 paquetes)Detectada
Shai-Hulud v1/v2/v3 (2025)Detectada
event-stream (2018)Detectada
eslint-scope (2018)Detectada
Protestware (node-ipc, colors, faker)Detectada
Typosquats (crossenv, mongose, babelcli)Detectada
EntradaDescripciónValor por defecto
pathRuta a escanear.
fail-onSeveridad mínima para fallarhigh
sarifRuta del archivo de salida SARIF
paranoidDetección ultraestrictafalse
MétricaResultado
Tasa de detección (TPR@3)95.74% (90/94)
Tasa de alertas (TPR@20)88.30% (83/94)
FPR — npm seleccionado (548)1.10% (6/545)
FPR — npm aleatorio (200)2.50% (5/200)
FPR — PyPI (132)9.68% (12/124)
ADR — adversarial + holdout96.26% (103/107)
TPR en el mundo real (Datadog 17K)92.8% (13,538/14,587)