Outil d'analyse statique et dynamique pour détecter les codes malveillants, les binaires suspects et les violations de la vie privée
Installation - Utilisation - Analyse dynamique - Règles YARA - CI/CD
Docs : Anglais | Tiếng Việt
Outil d'analyse statique et dynamique pour détecter les codes malveillants, les binaires suspects et les violations de la vie privée. Analyse le code source, les exécutables compilés (.exe, .dll, .elf), les bundles macOS (.app, .dmg, .pkg), les applications mobiles (.apk, .ipa) et les paquets applicatifs avec des règles YARA, un bac à sable comportemental Docker, l'analyse mobile MobSF, la désobfuscation de payloads et des rapports multi-formats (JSON, HTML, SARIF).
| Catégorie | Exemples de détection |
|---|---|
| Reverse shells | Python socket+subprocess, bash /dev/tcp, netcat, PowerShell TCPClient, socat |
| Backdoors | Web shells (PHP/JSP/ASP.NET), injection de commandes (Python/JS/Java/Ruby/Go/C), bind shells, routes cachées, chargement de code distant, création d'utilisateur, SSTI, désérialisation non sécurisée |
| Obfuscation | Chaînes Base64+eval, construction de codes de caractères, payloads hexadécimaux, imports dynamiques |
| Mineurs de crypto | Connexions à des pools Stratum, API de minage, adresses de portefeuille (BTC/ETH/XMR) |
| Ransomwares | Parcours de chiffrement de fichiers, messages de rançon, patterns de chiffrement+renommage |
| Vol d'identifiants | Secrets codés en dur, vol du presse-papiers, récupération des variables d'environnement, fichiers d'identifiants de navigateur |
| Chaîne d'approvisionnement | Hooks d'installation npm/pip suspects, confusion de dépendances, registres personnalisés |
| Persistance | Création de cron/schtasks, clés de registre Run, LaunchAgent/Daemon, manipulation SUID |
| Élévation de privilèges | Manipulation du bit SUID, setuid(0), chown root |
| Anti-analyse | Détection de débogueur, détection de machine virtuelle, callbacks TLS, utilisation de ptrace |
| Keyloggers | GetAsyncKeyState, SetWindowsHookEx, pynput, CGEventTapCreate |
| Vie privée | SDK de suivi (40+), champs PII (SSN, cartes de crédit, données biométriques, santé), autorisations invasives, empreinte numérique de l'appareil |
| Indicateurs binaires | Binaires packés (UPX, haute entropie), sections RWX, imports suspects, code non signé/trafiqué |
pip install malware-check
pipx install malware-check
git clone https://github.com/momenbasel/malware-check.git
cd malware-check
pip install -e ".[dev]"
Ceci installe la CLI de base. L'analyse binaire via pefile/lief, la détection de fichiers par IA via magika et l'analyse YARA via yara-python sont des options supplémentaires facultatives.
# Noyau + analyse binaire + détection de fichiers par IA + YARA
pip install malware-check[full]
# Ou installer uniquement ce dont vous avez besoin
pip install malware-check[binary]
pip install malware-check[detect]
pip install malware-check[yara]
# Ou installer les extras manuellement
pip install pefile lief magika yara-python
pip install malware-check[detect]
Une fois installé, malware-check utilise Magika pour améliorer l'identification des fichiers multiplateformes, enrichir les métadonnées file_type et orienter les fichiers sans extension ou déguisés vers le bon analyseur en fonction du contenu plutôt que du nom de fichier.
# Nécessite Docker - https://docs.docker.com/get-docker/
# Construire l'image du bac à sable (une seule fois)
malware-check build-sandbox
malware-check info
La commande info indiquera si la détection de fichiers par Magika est disponible.
Installer en tant que skill Claude Code pour que Claude puisse analyser des fichiers pour vous :
# Installer le skill depuis GitHub
npx skills install momenbasel/malware-check --skill malware-check
# Ou manuellement : copier skill/SKILL.md dans votre répertoire de skills
cp -r skill/ ~/.claude/skills/malware-check/
Ensuite, dans Claude Code, dites : "scan this file for malware" ou "is this binary safe?" et Claude utilisera malware-check automatiquement.
Vous avez également besoin de l'outil CLI installé :