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
miasma-toolkit — Kit de detección y remediación para el gusano Miasma / Shai-Hulud y CVE-2026-35603 (inyección de configuración de AI-agent/IDE) | Kitploit
Herramientas/GitHubGitHub/jchable/miasma-toolkit
Gestión de Indicadores de Compromiso (IOC)Análisis de VulnerabilidadesAnálisis ForenseAnálisis de MalwareDevSecOpsDetección de SecretosInteligencia de AmenazasSeguridad de Cadena de SuministroAprendizaje y EducaciónRespuesta a Incidentes
GitHubjchable/miasma-toolkit
hace 1 mesAú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

miasma-toolkit

Kit de detección y remediación para el gusano Miasma / Shai-Hulud y CVE-2026-35603 (inyección de configuración de AI-agent/IDE)

Ver Repositorio

Toolkit Miasma / Shai-Hulud

License: MIT PowerShell 7+ Miasma CI guard

Herramientas de análisis de incidentes + detección/remediación para el gusano Miasma (una variante Mini Shai-Hulud) que inyecta cargas útiles de auto-ejecución en configuraciones de agentes de IA / IDE y repositorios npm/GitHub.

⚠️ Aviso legal — sin garantía. Este es un kit de herramientas defensivo comunitario proporcionado "tal cual", sin garantía de ningún tipo (consulte LICENSE). El escáner y las reglas YARA son de solo lectura, pero purge-history.sh reescribe el historial de git y los hooks de .claude/ mueven archivos a cuarentena — ambos pueden alterar un repositorio. Haga una copia de seguridad primero, revise qué hace cada herramienta y ejecútela bajo su propio riesgo. Un análisis limpio no es una garantía de seguridad: los indicadores evolucionan y aparecen nuevas variantes. Úselo en sistemas y cuentas que esté autorizado a inspeccionar. ¿Encontró una brecha o un error? Consulte SECURITY.md y CONTRIBUTING.md.

Contenido

Requisitos previos

Instale YARA (Windows): winget install VirusTotal.YARA — o choco install yara / scoop install yara. En Linux/macOS: apt install yara / brew install yara. Verifique con yara --version.

Uso rápido

Nota: -Mode Local escanea solo $env:USERPROFILE por defecto. Pase -CodeRoots para cubrir repositorios en otras ubicaciones, p. ej. -CodeRoots E:\Sources,D:\work.

root@kitploit:~
# Escanea la máquina local + repositorios locales (+ CVE-2026-35603 ProgramData)
pwsh -File Scan-Miasma.ps1 -Mode Local
pwsh -File Scan-Miasma.ps1 -Mode Local -CodeRoots E:\Sources,D:\work

# Escanea repositorios remotos de GitHub (autentíquese primero en la cuenta objetivo para repositorios/secretos privados)
gh auth login
pwsh -File Scan-Miasma.ps1 -Mode Remote -Owners su-org,su-usuario -OutReport report.md

# Todo + JSON + informe Markdown
pwsh -File Scan-Miasma.ps1 -OutJson findings.json -OutReport report.md

Código de salida 1 si hay algún hallazgo INFECTADO (compatible con CI).

root@kitploit:~
# Purga el historial de un repositorio infectado (revise PATHS en el script primero)
./purge-history.sh /ruta/al/repo
# luego, después de revisar la verificación:
git push origin --force --all && git push origin --force --tags
root@kitploit:~
# Escaneo YARA
yara -r setup-js.yar /ruta/a/escanear
root@kitploit:~
# Linux/macOS: escaneo local (puerto Bash — usa $HOME por defecto; pase raíces para ampliar)
./scan-miasma.sh
./scan-miasma.sh ~/src /opt/work
root@kitploit:~
# Desofusca estáticamente un dropper capturado (solo lectura — nunca lo ejecuta)
pwsh -File Expand-MiasmaPayload.ps1 -Path .github/setup.js   # escribe capas + iocs.txt en <Path>.deob/
pwsh -File Expand-MiasmaPayload.ps1 -SelfTest                # verifica el motor de decodificación/descifrado

El desofuscador desempaqueta la oleada del empaquetador p,a,c,k,e,d, decodifica la oleada de códigos de caracteres, detecta automáticamente y revierte el desplazamiento César (anule con -Shift), luego descifra cada blob AES-128-GCM incrustado (_b bootstrap, _p ladrón) y escanea el código recuperado en busca de URLs, IPs y cuentas de drop muerto.

root@kitploit:~
# Después de la erradicación: genera una lista de verificación priorizada de rotación de secretos (no revoca nada)
pwsh -File Invoke-MiasmaRotation.ps1                       # detecta credenciales accesibles aquí
pwsh -File Invoke-MiasmaRotation.ps1 -OutReport rotation.md

Guardia de CI (rechazar compilar si el dropper/lanzador está presente)

Use la acción compuesta incluida como primer paso de cualquier flujo de trabajo:

root@kitploit:~
# En otro repositorio (fíjese a una etiqueta/SHA para seguridad de cadena de suministro):
- uses: actions/checkout@v4
- uses: jchable/miasma-toolkit/.github/actions/miasma-guard@main
  # with:
  #   full-scan: 'true'   # también ejecuta Scan-Miasma.ps1 -Mode Local (necesita pwsh)

Este kit ejecuta la misma guardia sobre sí mismo a través de .github/workflows/miasma-ci.yml (referenciando la acción por ruta relativa). La guardia es independiente de la oleada y está enfocada en los archivos de configuración del lanzador del gusano, por lo que nunca da falsos positivos en documentos que solo mencionan la cadena IOC.

Hooks de Claude Code (.claude/)

Protección en tiempo real para máquinas que ejecutan Claude Code en este repositorio. Los hooks reutilizan iocs.psd1 (sin indicadores duplicados) y están conectados en .claude/settings.json:

  • La cuarentena es reversible: los archivos infectados se mueven a .miasma-quarantine/<marca de tiempo>/… (ignorados por git) y se registran en .miasma-quarantine/quarantine.log — restáurelos con Move-Item. No se elimina nada de forma permanente.
  • Autoexclusión (Test-MiasmaExcluded en Miasma.Common.ps1): los propios archivos del kit contienen legítimamente cadenas IOC (iocs.psd1, Scan-Miasma.ps1, scan-miasma.sh, Expand-MiasmaPayload.ps1, Invoke-MiasmaRotation.ps1, purge-history.sh, setup-js.yar, content/, , , ) y nunca son bloqueados/puestos en cuarentena.

Modelo de gravedad (Scan-Miasma.ps1)

  • INFECTADO — DROPPER, INJECT, FORGED, BADDEP, WORKFLOW, RUNNER, PAYLOAD, BUN-DROP, PROGRAMDATA
  • REVISAR — NPM-AUDIT, SECRETS (inventario de rotación), SIGNATURE, PERSIST, PROGRAMDATA-CFG

Errores conocidos ya corregidos (tener en cuenta al rehacer)

  • gh api <404> --jq vuelca el cuerpo del error a stdout → nunca confíe en la veracidad de la salida; verifique $LASTEXITCODE + valide el formato (tamaño numérico, nombre de rama exacto).
  • GitHub mantiene una redirección master→main tras el cambio de nombre → branches/master devuelve 200; solo acepte una rama si el nombre devuelto == nombre solicitado.
  • npm audit debe permanecer con --package-lock-only (sin npm install, sin ejecución de scripts).

TODO / pendientes de reelaboración

La lista original (puerto Bash, insignias de gravedad, desofuscación de oleadas de packer, ayuda de rotación) está completa. Ideas futuras:

  1. scan-miasma.sh: añadir el modo remoto/GitHub (actualmente solo local).
  2. Desofuscador: manejar ROT-4/ROT-9 multibyte y variantes que no sean AES-128-GCM si se observan.
  3. Ayuda de rotación: modo --revoke opcional (restringido, con confirmación) para gh/npm/aws.

Referencias

  • The bot that never was — icflorescu (dev.to)
  • Miasma worm: AI coding agent config injection — safedep.io
  • CVE-2026-35603: AI coding tools privilege escalation — Cymulate
Descargar herramienta
ArchivoQué es
content/incident-report.fr.md / content/incident-report.en.mdInforme completo: cómo funciona, desofuscación de carga útil, IOCs, erradicación
Scan-Miasma.ps1Escáner unificado (local + remoto), JSON estructurado + informe Markdown por repositorio — use este
iocs.psd1Indicadores compartidos (hashes, firmas, paquetes maliciosos, configuraciones) cargados por el escáner — edite los IOCs aquí
Expand-MiasmaPayload.ps1Desofuscador estático para setup.js — despeja packer/códigos de caracteres → César → AES-128-GCM y extrae el C2/IOCs (nunca ejecuta la carga útil)
Invoke-MiasmaRotation.ps1Lista de verificación de rotación de secretos — detecta qué credenciales son accesibles aquí e imprime los comandos de revocación (solo lectura; no revoca nada)
scan-miasma.shPuerto Bash del escaneo local para Linux/macOS (subconjunto multiplataforma)
purge-history.shPurga archivos maliciosos de todo el historial de git (filter-repo → filter-branch) + copia de seguridad
setup-js.yarReglas YARA para el dropper + configuraciones del lanzador
.github/actions/miasma-guard/Acción compuesta reutilizable de GitHub Actions — rechaza compilar si el dropper/lanzador está presente
.claude/Hooks de Claude Code — guardia/cuarentena en tiempo real + comando /miasma-scan (ver más abajo)
HerramientaNecesario para¿Obligatorio?
PowerShell 7+ (pwsh)Scan-Miasma.ps1, Expand-MiasmaPayload.ps1, Invoke-MiasmaRotation.ps1obligatorio (esas herramientas)
bash + coreutils (sha256sum/shasum, awk, find)scan-miasma.sh (Linux/macOS)solo el puerto Bash
gitcomprobaciones de historial de repositorios locales, purge-history.shobligatorio
GitHub CLI (gh, autenticado)Scan-Miasma.ps1 -Mode Remotesolo escaneo remoto
npmnpm audit remoto (solo archivo de bloqueo)opcional (se omite automáticamente si no está presente)
git-filter-reporeescritura de historial preferida (usa git filter-branch integrado como alternativa)opcional
YARA (yara)escaneo con setup-js.yaropcional
HookEventoAcción
Guard-Write.ps1PreToolUse (Write/Edit/MultiEdit)Bloquea una escritura que inyectaría un IOC del gusano (cancela la llamada a la herramienta)
Guard-Bash.ps1PreToolUse (Bash)Bloquea la ejecución del gusano — node .github/setup.js, bun/bunx, un instalador bun.sh canalizado
Scan-Write.ps1PostToolUse (Write/Edit/MultiEdit)Alerta + pone en cuarentena un archivo infectado después de que se escriba
Session-Sweep.ps1SessionStartBarrido rápido del repositorio; informa cualquier infección preexistente en el contexto
/miasma-scancomandoEnvoltorio bajo demanda alrededor de Scan-Miasma.ps1
.claude/hooks|commands
.github/actions/miasma-guard/
.github/workflows/
  • Guard-Bash apunta a la ejecución, no a la mención: sus patrones (iocs.psd1 → CmdSigs) están anclados a una posición de comando, por lo que los comandos de triaje que simplemente nombran un IOC (grep "node .github/setup.js", yara -r setup-js.yar, cat setup.js) no se bloquean — solo se bloquea la ejecución real de node …/setup.js / bun / un pipe de instalación bun.sh. Nota: la invocación de bun/bunx se bloquea directamente (es el runtime del gusano); si realmente necesita Bun, inclúyalo en la lista blanca a través de CmdSigs.
  • ⚠️ A diferencia de Scan-Miasma.ps1 (solo lectura), estos hooks modifican el árbol (cuarentena). Son de aceptación voluntaria: Claude Code solicita aprobar los hooks la primera vez que carga .claude/settings.json.