Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
miasma-toolkit — Toolkit di rilevamento e bonifica per il worm Miasma / Shai-Hulud e CVE-2026-35603 (iniezione di configurazione AI-agent/IDE) | Kitploit
Strumenti/GitHubGitHub/jchable/miasma-toolkit
Gestione degli Indicatori di Compromissione (IOC)Analisi delle VulnerabilitàInformatica ForenseAnalisi MalwareDevSecOpsRilevamento SegretiThreat IntelligenceSicurezza della Supply ChainApprendimento e FormazioneRisposta agli Incidenti
GitHubjchable/miasma-toolkit
1 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

miasma-toolkit

Toolkit di rilevamento e bonifica per il worm Miasma / Shai-Hulud e CVE-2026-35603 (iniezione di configurazione AI-agent/IDE)

Vedi Repository

Miasma / Shai-Hulud toolkit

License: MIT PowerShell 7+ Miasma CI guard

Analisi degli incidenti + strumenti di rilevamento/risanamento per il worm Miasma (una variante Mini Shai-Hulud) che inietta payload ad avvio automatico nelle configurazioni di agenti AI / IDE e nei repository npm/GitHub.

⚠️ Disclaimer — nessuna garanzia. Questo è un toolkit difensivo comunitario fornito "così com'è", senza garanzie di alcun tipo (vedi LICENSE). Lo scanner e le regole YARA sono di sola lettura, ma purge-history.sh riscrive la cronologia git e gli hook .claude/ spostano i file in quarantena — entrambe le cose possono alterare un repository. Fai un backup prima, verifica cosa fa ogni strumento ed eseguilo a tuo rischio. Una scansione pulita non è una garanzia di sicurezza: gli indicatori evolvono e compaiono nuove varianti. Usalo su sistemi e account che sei autorizzato a ispezionare. Hai trovato una lacuna o un bug? Vedi SECURITY.md e CONTRIBUTING.md.

Contenuti

Prerequisiti

Installa YARA (Windows): winget install VirusTotal.YARA — oppure choco install yara / scoop install yara. Su Linux/macOS: apt install yara / brew install yara. Verifica con yara --version.

Utilizzo rapido

Nota: -Mode Local esegue la scansione solo di $env:USERPROFILE per impostazione predefinita. Passa -CodeRoots per coprire repository altrove, es. -CodeRoots E:\Sources,D:\work.

root@kitploit:~
# Scan local machine + local repos (+ CVE-2026-35603 ProgramData)
pwsh -File Scan-Miasma.ps1 -Mode Local
pwsh -File Scan-Miasma.ps1 -Mode Local -CodeRoots E:\Sources,D:\work

# Scan remote GitHub repos (authenticate on the target account first for private repos/secrets)
gh auth login
pwsh -File Scan-Miasma.ps1 -Mode Remote -Owners your-org,your-user -OutReport report.md

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

Codice di uscita 1 se è presente un qualsiasi esito INFECTED (compatibile CI).

root@kitploit:~
# Purge history of an infected repo (review PATHS in the script first)
./purge-history.sh /path/to/repo
# then, after reviewing the verification:
git push origin --force --all && git push origin --force --tags
root@kitploit:~
# YARA scan
yara -r setup-js.yar /path/to/scan
root@kitploit:~
# Linux/macOS: local scan (bash port — defaults to $HOME; pass roots to widen)
./scan-miasma.sh
./scan-miasma.sh ~/src /opt/work
root@kitploit:~
# Statically deobfuscate a captured dropper (read-only — never runs it)
pwsh -File Expand-MiasmaPayload.ps1 -Path .github/setup.js   # writes layers + iocs.txt to <Path>.deob/
pwsh -File Expand-MiasmaPayload.ps1 -SelfTest                # verify the decode/decrypt engine

Il deoffuscatore decomprime il layer packer p,a,c,k,e,d, decodifica il layer a codici-char, rileva automaticamente e inverte lo scorrimento Caesar (sostituibile con -Shift), quindi decrittografa ogni blob AES-128-GCM incorporato (_b bootstrapper, _p stealer) ed esamina il codice recuperato alla ricerca di URL, IP e account dead-drop.

root@kitploit:~
# After eradication: generate a prioritized secret-rotation checklist (revokes nothing)
pwsh -File Invoke-MiasmaRotation.ps1                       # detects creds reachable here
pwsh -File Invoke-MiasmaRotation.ps1 -OutReport rotation.md

Guardia CI (rifiuta la build se dropper/launcher è presente)

Usa l'azione composita inclusa come primo passo di qualsiasi workflow:

root@kitploit:~
# In another repo (pin to a tag/SHA for supply-chain safety):
- uses: actions/checkout@v4
- uses: jchable/miasma-toolkit/.github/actions/miasma-guard@main
  # with:
  #   full-scan: 'true'   # also run Scan-Miasma.ps1 -Mode Local (needs pwsh)

Questo toolkit esegue la stessa guardia su sé stesso tramite .github/workflows/miasma-ci.yml (facendo riferimento all'azione tramite percorso relativo). La guardia è indipendente dalla variante ed è limitata ai file di configurazione del launcher del worm, quindi non produce falsi positivi sui documenti che menzionano soltanto la stringa IOC.

Hook Claude Code (.claude/)

Protezione in tempo reale per le macchine che eseguono Claude Code in questo repository. Gli hook riutilizzano iocs.psd1 (nessun indicatore duplicato) e sono collegati in .claude/settings.json:

  • La quarantena è reversibile: i file infetti vengono spostati in .miasma-quarantine/<timestamp>/… (ignorati da git) e registrati in .miasma-quarantine/quarantine.log — ripristino con Move-Item. Nulla viene eliminato definitivamente.
  • Auto-esclusione (Test-MiasmaExcluded in Miasma.Common.ps1): i file del toolkit stesso contengono legittimamente stringhe IOC (iocs.psd1, Scan-Miasma.ps1, scan-miasma.sh, Expand-MiasmaPayload.ps1, Invoke-MiasmaRotation.ps1, purge-history.sh, setup-js.yar, content/, , , ) e non vengono mai bloccati/messi in quarantena.

Modello di gravità (Scan-Miasma.ps1)

  • INFECTED — DROPPER, INJECT, FORGED, BADDEP, WORKFLOW, RUNNER, PAYLOAD, BUN-DROP, PROGRAMDATA
  • REVIEW — NPM-AUDIT, SECRETS (inventario di rotazione), SIGNATURE, PERSIST, PROGRAMDATA-CFG

Bug noti già corretti (da tenere presenti in caso di refactoring)

  • gh api <404> --jq invia il corpo dell'errore su stdout → non fidarti mai della veridicità dell'output; controlla $LASTEXITCODE + valida il formato (dimensione numerica, nome esatto del branch).
  • GitHub mantiene un redirect master→main dopo la rinomina → branches/master restituisce 200; accetta un branch solo se il nome restituito == nome richiesto.
  • npm audit deve rimanere --package-lock-only (niente npm install, nessuno script eseguito).

TODO / backlog di rework

Il backlog originale (porting bash, badge di gravità, deoffuscamento del layer packer, helper di rotazione) è completato. Idee future:

  1. scan-miasma.sh: aggiungere la modalità remota/GitHub (attualmente solo locale).
  2. Deoffuscatore: gestire le varianti ROT-4/ROT-9 multibyte e non-AES-128-GCM se osservate.
  3. Helper di rotazione: modalità --revoke opzionale (protetta, con conferma) per gh/npm/aws.

Riferimenti

  • 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
Scarica lo strumento
FileDescrizione
content/incident-report.fr.md / content/incident-report.en.mdResoconto completo: come funziona, deoffuscamento del payload, IOC, eradicazione
Scan-Miasma.ps1Scanner unificato (locale + remoto), report JSON strutturato + report Markdown per repository — usa questo
iocs.psd1Indicatori condivisi (hash, firme, pacchetti dannosi, configurazioni) caricati dallo scanner — modifica gli IOC qui
Expand-MiasmaPayload.ps1Deoffuscatore statico per setup.js — rimuove i layer packer/codici-char → Caesar → AES-128-GCM ed estrae C2/IOC (non esegue mai il payload)
Invoke-MiasmaRotation.ps1Checklist di rotazione dei segreti — rileva quali credenziali sono raggiungibili da qui e stampa i comandi di revoca (sola lettura; non revoca nulla)
scan-miasma.shPorting Bash della scansione locale per Linux/macOS (sottoinsieme multipiattaforma)
purge-history.shElimina i file dannosi da tutta la cronologia git (filter-repo → filter-branch) + backup
setup-js.yarRegole YARA per il dropper + configurazioni del launcher
.github/actions/miasma-guard/Azione composita GitHub Actions riutilizzabile — rifiuta la build se dropper/launcher è presente
.claude/Hook Claude Code — protezione/quarantena in tempo reale + comando /miasma-scan (vedi sotto)
ToolServe perObbligatorio?
PowerShell 7+ (pwsh)Scan-Miasma.ps1, Expand-MiasmaPayload.ps1, Invoke-MiasmaRotation.ps1obbligatorio (questi strumenti)
bash + coreutils (sha256sum/shasum, awk, find)scan-miasma.sh (Linux/macOS)solo il porting bash
gitcontrolli della cronologia dei repository locali, purge-history.shobbligatorio
GitHub CLI (gh, autenticato)Scan-Miasma.ps1 -Mode Remotesolo scansione remota
npmnpm audit remoto (solo lockfile)facoltativo (saltato automaticamente se assente)
git-filter-reporiscrittura cronologia preferita (ripiega su git filter-branch integrato)facoltativo
YARA (yara)scansione setup-js.yarfacoltativo
HookEventoAzione
Guard-Write.ps1PreToolUse (Write/Edit/MultiEdit)Blocca una scrittura che inietterebbe un IOC del worm (annulla la chiamata dello strumento)
Guard-Bash.ps1PreToolUse (Bash)Blocca l'esecuzione del worm — node .github/setup.js, bun/bunx, un installer bun.sh via pipe
Scan-Write.ps1PostToolUse (Write/Edit/MultiEdit)Avvisa e mette in quarantena un file infetto dopo che viene scritto
Session-Sweep.ps1SessionStartScansione rapida del repository; segnala qualsiasi infezione preesistente nel contesto
/miasma-scancomandoWrapper on-demand attorno a Scan-Miasma.ps1
.claude/hooks|commands
.github/actions/miasma-guard/
.github/workflows/
  • Guard-Bash blocca l'esecuzione, non la menzione: i suoi pattern (iocs.psd1 → CmdSigs) sono ancorati a una posizione di comando, quindi i comandi di triage che si limitano a menzionare un IOC (grep "node .github/setup.js", yara -r setup-js.yar, cat setup.js) non vengono bloccati — viene bloccata solo l'esecuzione effettiva di node …/setup.js / bun / una pipe di installazione bun.sh. Nota: l'invocazione di bun/bunx è bloccata del tutto (il runtime del worm); aggiungila alla allowlist tramite CmdSigs se hai davvero bisogno di Bun.
  • ⚠️ A differenza di Scan-Miasma.ps1 (sola lettura), questi hook modificano l'albero (quarantena). Sono opt-in: Claude Code chiede di approvare gli hook la prima volta che carica .claude/settings.json.