Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
miasma-toolkit — Kit de détection et de correction pour le ver Miasma / Shai-Hulud et CVE-2026-35603 (AI-agent/IDE config injection) | Kitploit
Outils/GitHubGitHub/jchable/miasma-toolkit
Gestion des Indicateurs de Compromission (IOC)Analyse des VulnérabilitésAnalyse ForensiqueAnalyse de MalwareDevSecOpsDétection de SecretsRenseignement sur les MenacesSécurité de la Chaîne LogistiqueApprentissage et ÉducationRéponse aux Incidents
GitHubjchable/miasma-toolkit
il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

miasma-toolkit

Kit de détection et de correction pour le ver Miasma / Shai-Hulud et CVE-2026-35603 (AI-agent/IDE config injection)

Voir le dépôt

Kit Miasma / Shai-Hulud

License: MIT PowerShell 7+ Miasma CI guard

Outils d'analyse d'incident + détection/remédiation pour le ver Miasma (une variante Mini Shai-Hulud) qui injecte des charges utiles de démarrage automatique dans les configurations AI-agent / IDE et dans les dépôts npm/GitHub.

⚠️ Avertissement — aucune garantie. Il s'agit d'une boîte à outils défensive communautaire fournie « en l'état », sans garantie d'aucune sorte (voir LICENSE). Le scanner et les règles YARA sont en lecture seule, mais purge-history.sh réécrit l'historique git et les hooks .claude/ déplacent les fichiers en quarantaine — les deux peuvent modifier un dépôt. Sauvegardez d'abord, examinez ce que fait chaque outil et exécutez-le à vos propres risques. Un scan propre n'est pas une garantie de sécurité : les indicateurs évoluent et de nouveaux variants apparaissent. Utilisation sur des systèmes et des comptes que vous êtes autorisé à inspecter. Vous avez trouvé une lacune ou un bug ? Voir SECURITY.md et CONTRIBUTING.md.

Contenu

Prérequis

Installer YARA (Windows) : winget install VirusTotal.YARA — ou choco install yara / scoop install yara. Sur Linux/macOS : apt install yara / brew install yara. Vérifier avec yara --version.

Utilisation rapide

Remarque : -Mode Local scanne par défaut uniquement $env:USERPROFILE. Passez -CodeRoots pour couvrir les dépôts ailleurs, par ex. -CodeRoots E:\Sources,D:\work.

root@kitploit:~
# Scanner la machine locale + les dépôts locaux (+ CVE-2026-35603 ProgramData)
pwsh -File Scan-Miasma.ps1 -Mode Local
pwsh -File Scan-Miasma.ps1 -Mode Local -CodeRoots E:\Sources,D:\work

# Scanner les dépôts GitHub distants (authentifiez-vous d'abord sur le compte cible pour les dépôts privés/secrets)
gh auth login
pwsh -File Scan-Miasma.ps1 -Mode Remote -Owners votre-org,votre-utilisateur -OutReport report.md

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

Code de sortie 1 si une découverte INFECTED (compatible CI).

root@kitploit:~
# Purger l'historique d'un dépôt infecté (vérifiez d'abord PATHS dans le script)
./purge-history.sh /chemin/vers/depot
# puis, après avoir vérifié :
git push origin --force --all && git push origin --force --tags
root@kitploit:~
# Scan YARA
yara -r setup-js.yar /chemin/vers/scan
root@kitploit:~
# Linux/macOS : scan local (port bash — par défaut $HOME ; passez des racines pour élargir)
./scan-miasma.sh
./scan-miasma.sh ~/src /opt/work
root@kitploit:~
# Désobfuscation statique d'un dropper capturé (lecture seule — ne l'exécute jamais)
pwsh -File Expand-MiasmaPayload.ps1 -Path .github/setup.js   # écrit layers + iocs.txt dans <Path>.deob/
pwsh -File Expand-MiasmaPayload.ps1 -SelfTest                # vérifier le moteur de décodage/déchiffrement

Le désobfuscateur déballe la vague p,a,c,k,e,d du packer, décode la vague de codes de caractères, détecte automatiquement et inverse le décalage Caesar (remplacer avec -Shift), puis déchiffre chaque blob AES-128-GCM intégré (_b bootstrap, _p voleur) et scanne le code récupéré pour les URL, IP et comptes de dépôt mort.

root@kitploit:~
# Après éradication : générer une liste de vérification priorisée de rotation des secrets (ne révoque rien)
pwsh -File Invoke-MiasmaRotation.ps1                       # détecte les identifiants accessibles ici
pwsh -File Invoke-MiasmaRotation.ps1 -OutReport rotation.md

Garde CI (refuser de construire si le dropper/lanceur est présent)

Utilisez l'action composite fournie comme première étape de tout workflow :

root@kitploit:~
# Dans un autre dépôt (épinglez sur un tag/SHA pour la sécurité de la chaîne d'approvisionnement) :
- uses: actions/checkout@v4
- uses: jchable/miasma-toolkit/.github/actions/miasma-guard@main
  # with:
  #   full-scan: 'true'   # exécute aussi Scan-Miasma.ps1 -Mode Local (nécessite pwsh)

Cette boîte à outils exécute la même garde sur elle-même via .github/workflows/miasma-ci.yml (en référence à l'action par chemin relatif). La garde est indépendante de la vague et limitée aux fichiers de configuration du lanceur du ver, donc ne produit jamais de faux positifs sur des documents qui mentionnent simplement la chaîne IOC.

Hooks Claude Code (.claude/)

Protection en temps réel pour les machines qui exécutent Claude Code dans ce dépôt. Les hooks réutilisent iocs.psd1 (pas d'indicateurs dupliqués) et sont câblés dans .claude/settings.json :

  • La quarantaine est réversible : les fichiers infectés sont déplacés vers .miasma-quarantine/<timestamp>/… (ignorés par git) et journalisés dans .miasma-quarantine/quarantine.log — restaurez avec Move-Item. Rien n'est supprimé définitivement.
  • Auto-exclusion (Test-MiasmaExcluded dans Miasma.Common.ps1) : les fichiers propres de la boîte à outils contiennent légitimement des chaînes IOC (iocs.psd1, Scan-Miasma.ps1, scan-miasma.sh, Expand-MiasmaPayload.ps1, Invoke-MiasmaRotation.ps1, purge-history.sh, setup-js.yar, content/, , , ) et ne sont jamais bloqués/mis en quarantaine.

Modèle de sévérité (Scan-Miasma.ps1)

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

Bugs connus déjà corrigés (à garder à l'esprit lors des refontes)

  • gh api <404> --jq envoie le corps de l'erreur sur stdout → ne jamais se fier à la véracité de la sortie ; vérifier $LASTEXITCODE + valider le format (taille numérique, nom de branche exact).
  • GitHub conserve une redirection master→main après le renommage → branches/master retourne 200 ; n'accepter une branche que si le nom retourné == nom demandé.
  • npm audit doit rester --package-lock-only (pas de npm install, pas de scripts exécutés).

TODO / réserve de refonte

La réserve initiale (port bash, badges de sévérité, désobfuscation de vague de packer, assistant de rotation) est terminée. Idées futures :

  1. scan-miasma.sh : ajouter le mode distant/GitHub (actuellement local uniquement).
  2. Désobfuscateur : gérer les variantes ROT-4/ROT-9 multi-octets et non AES-128-GCM si observées.
  3. Assistant de rotation : mode --revoke optionnel (protégé, avec confirmation) pour gh/npm/aws.

Références

  • 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
Télécharger l’outil
FichierDescription
content/incident-report.fr.md / content/incident-report.en.mdRapport complet : fonctionnement, désobfuscation de la charge utile, IOCs, éradication
Scan-Miasma.ps1Scanner unifié (local + distant), JSON structuré + rapport Markdown par dépôt — utilisez celui-ci
iocs.psd1Indicateurs partagés (hachages, signatures, mauvais paquets, configurations) chargés par le scanner — éditez les IOCs ici
Expand-MiasmaPayload.ps1Désobfuscateur statique pour setup.js — dépile le packer/codes de caractères → Caesar → AES-128-GCM et extrait le C2/IOCs (n'exécute jamais la charge utile)
Invoke-MiasmaRotation.ps1Liste de vérification de rotation des secrets — détecte les identifiants accessibles ici et imprime les commandes de révocation (lecture seule ; ne révoque rien)
scan-miasma.shPort Bash du scan local pour Linux/macOS (sous-ensemble multiplateforme)
purge-history.shPurge des fichiers malveillants de tout l'historique git (filter-repo → filter-branch) + sauvegarde
setup-js.yarRègles YARA pour le dropper et les configurations de lanceur
.github/actions/miasma-guard/Action composite GitHub Actions réutilisable — refuse de construire si le dropper/lanceur est présent
.claude/Hooks Claude Code — garde/quarantaine en temps réel + commande /miasma-scan (voir ci-dessous)
OutilNécessaire pourRequis ?
PowerShell 7+ (pwsh)Scan-Miasma.ps1, Expand-MiasmaPayload.ps1, Invoke-MiasmaRotation.ps1requis (ces outils)
bash + coreutils (sha256sum/shasum, awk, find)scan-miasma.sh (Linux/macOS)seulement pour le port bash
gitvérifications de l'historique du dépôt local, purge-history.shrequis
GitHub CLI (gh, authentifié)Scan-Miasma.ps1 -Mode Remotescan distant uniquement
npmnpm audit distant (uniquement le fichier de verrouillage)optionnel (ignoré automatiquement si absent)
git-filter-reporéécriture d'historique préférée (repli sur git filter-branch intégré)optionnel
YARA (yara)scan setup-js.yaroptionnel
HookÉvénementAction
Guard-Write.ps1PreToolUse (Write/Edit/MultiEdit)Bloque une écriture qui injecterait un IOC du ver (annule l'appel d'outil)
Guard-Bash.ps1PreToolUse (Bash)Bloque l'exécution du ver — node .github/setup.js, bun/bunx, un tube d'installation bun.sh
Scan-Write.ps1PostToolUse (Write/Edit/MultiEdit)Alarme + met en quarantaine un fichier infecté après son arrivée
Session-Sweep.ps1SessionStartBalayage rapide du dépôt ; signale toute infection préexistante dans le contexte
/miasma-scancommandeSur demande, encapsule Scan-Miasma.ps1
.claude/hooks|commands
.github/actions/miasma-guard/
.github/workflows/
  • Guard-Bash cible l'exécution, pas la mention : ses motifs (iocs.psd1 → CmdSigs) sont ancrés à une position de commande, donc les commandes de triage qui nomment simplement un IOC (grep "node .github/setup.js", yara -r setup-js.yar, cat setup.js) ne sont pas bloquées — seulement l'exécution réelle de node …/setup.js / bun / un tube d'installation bun.sh l'est. Note : l'invocation bun/bunx est bloquée directement (le runtime du ver) ; autorisez via CmdSigs si vous avez vraiment besoin de Bun.
  • ⚠️ Contrairement à Scan-Miasma.ps1 (lecture seule), ces hooks modifient l'arborescence (quarantaine). Ils sont facultatifs : Claude Code demande l'approbation des hooks la première fois qu'il charge .claude/settings.json.