
Un script qui soumet automatiquement des fichiers à Hybrid Analysis (API)
Ce script Python parcourt récursivement un dossier et soumet les fichiers exécutables, scripts, documents et autres fichiers pertinents à Hybrid Analysis (Falcon Sandbox) pour une analyse automatisée des malwares.
~/.hybrid_analysis_submitter/) pour ne pas polluer les dossiers numérisés.env pour des raisons de sécuritéClonez ou téléchargez ce script sur votre machine locale.
Installez les paquets requis :
pip install requests python-dotenv
.env dans le même répertoire que le script avec votre clé API :HYBRID_API_KEY=votre_cle_api_ici
Vous pouvez obtenir une clé API en vous inscrivant sur Hybrid Analysis.
Exécutez le script depuis la ligne de commande en spécifiant le dossier à numériser :
python submit_to_hybrid.py /chemin/vers/dossier
Numériser un dossier avec les paramètres par défaut :
python submit_to_hybrid.py C:\fichiers_suspects
Numériser un dossier mais augmenter la limite de taille à 200 Mo et utiliser un environnement différent (ex. Android) :
python submit_to_hybrid.py /home/utilisateur/echantillons --max-file-size 200 --environment-id 300
Utiliser un nom de fichier cache personnalisé :
python submit_to_hybrid.py ./malware --cache-file mon_cache.json
Scanning folder: C:\suspicious_files
Submitting: C:\suspicious_files\malware.exe (2.34 MB)
-> Success! Job ID: 5f8a9c2d3e4f5a6b7c8d9e0f
Submitting: C:\suspicious_files\document.pdf (0.12 MB)
-> Success! Job ID: 6g9b0c1d2e3f4a5b6c7d8e9f
Skipping already submitted: C:\suspicious_files\malware.exe
Skipping symlink: C:\suspicious_files\link_to_malware.exe
Finished.
Files found: 42
Files submitted: 35
Files skipped: 6
Files failed: 1
.exe, .scr, .pif, .dll, .com, .cpl.msi.bat, .cmd, .ps1, .psd1, .psm1, .js, .vbs, .vbe, , , Pour la liste officielle de tous les types de fichiers pris en charge, consultez la FAQ Hybrid Analysis.
os.walk() pour traverser chaque sous‑dossier.--max-file-size sont ignorés) et si le fichier a déjà été soumis (cache SHA‑256).https://hybrid-analysis.com/api/v2/submit/file en utilisant une Session requests persistante avec votre clé API.~/.hybrid_analysis_submitter/ afin de ne pas être à nouveau soumis lors des exécutions futures. Le cache est enregistré trié pour une meilleure lisibilité.429 et s'arrête après 3 erreurs de ce type pour éviter des tentatives infinies..env – ne l'écrivez pas en dur.--max-file-size sont ignorés.ALLOWED_EXTENSIONS sont soumis.~/.hybrid_analysis_submitter/).Ce script est fourni tel quel à des fins éducatives et d'analyse de sécurité. Utilisez-le de manière responsable et conformément aux Conditions d'utilisation d'Hybrid Analysis.
Soumettre des fichiers à un bac à sable tiers peut exposer un contenu potentiellement sensible. Assurez-vous d'avoir le droit de partager les fichiers avant de les télécharger.
| Argument | Description |
|---|
folder_path | Obligatoire – Chemin du dossier à numériser (récursif) |
--max-file-size | Taille maximale des fichiers en Mo (défaut : 250) |
--environment-id | ID de l'environnement d'analyse (défaut : 120 = Windows 7 64 bits) |
--cache-file | Nom du fichier cache (défaut : submitted_cache.json). Le fichier est stocké dans ~/.hybrid_analysis_submitter/ |
.wsf.hta.sct.lnk, .chm.doc, .docx, .ppt, .pps, .pptx, .ppsx, .xls, .xlsx, .rtf, .pub.pdf, .eml, .msg.jar, .py, .pl.apk (Android), .elf (Linux).svg| Problème | Solution probable |
|---|
ERROR: HYBRID_API_KEY not found | Créez un fichier .env dans le même répertoire avec HYBRID_API_KEY=votre_cle_ici. |
'folder_path' n'est pas un répertoire valide | Fournissez un chemin correct vers un dossier existant. |
| Permission refusée lors de la lecture des fichiers | Exécutez le script avec les autorisations de lecture appropriées. |
| Erreurs 429 fréquentes | Réduisez le taux de soumission (augmentez time.sleep(2) dans le script) ou passez à un plan API supérieur. |
| Les fichiers sont ignorés de manière inattendue | Vérifiez si l'extension est dans ALLOWED_EXTENSIONS. Vous pouvez ajouter d'autres extensions en modifiant le script. |
| Les soumissions en double ne sont pas ignorées | Le fichier cache est peut-être manquant ou corrompu. Supprimez ~/.hybrid_analysis_submitter/submitted_cache.json pour repartir à zéro, ou utilisez l'argument --cache-file pour utiliser un autre nom de fichier cache. |
| Les fichiers en dehors de la racine de numérisation sont ignorés | C'est intentionnel pour des raisons de sécurité. Assurez-vous que tous les fichiers cibles se trouvent à l'intérieur du dossier spécifié. |