
Скрипт, который автоматически отправляет файлы в Hybrid Analysis (API)
Этот скрипт на Python рекурсивно сканирует папку и отправляет исполняемые файлы, скрипты, документы и другие релевантные файлы в Hybrid Analysis (Falcon Sandbox) для автоматического анализа вредоносного ПО.
~/.hybrid_analysis_submitter/) для предотвращения загрязнения сканируемых папок.env для безопасностиКлонируйте или скачайте этот скрипт на вашу локальную машину.
Установите необходимые пакеты:
pip install requests python-dotenv
.env в той же папке, где находится скрипт, и укажите ваш API-ключ:HYBRID_API_KEY=ваш_ключ_api_здесь
Вы можете получить API-ключ, зарегистрировавшись на Hybrid Analysis.
Запустите скрипт из командной строки, указав папку для сканирования:
python submit_to_hybrid.py /путь/к/папке
Сканирование папки с настройками по умолчанию:
python submit_to_hybrid.py C:\подозрительные_файлы
Сканирование папки с увеличением лимита размера до 200 МБ и использованием другой среды (например, Android):
python submit_to_hybrid.py /home/user/samples --max-file-size 200 --environment-id 300
Использование собственного имени файла кэша:
python submit_to_hybrid.py ./malware --cache-file my_cache.json
Сканирование папки: C:\подозрительные_файлы
Отправка: C:\подозрительные_файлы\malware.exe (2.34 МБ)
-> Успешно! ID задания: 5f8a9c2d3e4f5a6b7c8d9e0f
Отправка: C:\подозрительные_файлы\document.pdf (0.12 МБ)
-> Успешно! ID задания: 6g9b0c1d2e3f4a5b6c7d8e9f
Пропуск уже отправленного: C:\подозрительные_файлы\malware.exe
Пропуск симлинка: C:\подозрительные_файлы\link_to_malware.exe
Готово.
Файлов найдено: 42
Файлов отправлено: 35
Файлов пропущено: 6
Файлов с ошибкой: 1
.exe, .scr, .pif, .dll, .com, .cpl.msi.bat, .cmd, .ps1, .psd1, .psm1, .js, .vbs, .vbe, .wsf, , Официальный список всех поддерживаемых типов файлов можно найти в FAQ Hybrid Analysis.
os.walk() для обхода всех подпапок.--max-file-size), а также был ли файл отправлен ранее (SHA‑256 кэш).https://hybrid-analysis.com/api/v2/submit/file через постоянную сессию requests с вашим API-ключом.~/.hybrid_analysis_submitter/, чтобы не отправлять их повторно в будущих запусках. Кэш сохраняется отсортированным для удобства чтения.429 и останавливается после 3 таких ошибок, чтобы избежать бесконечных повторных попыток..env – не встраивайте его напрямую в код.--max-file-size пропускаются.ALLOWED_EXTENSIONS.~/.hybrid_analysis_submitter/).Данный скрипт предоставляется «как есть» для образовательных целей и целей анализа безопасности. Используйте ответственно и в соответствии с Условиями использования Hybrid Analysis.
Отправка файлов в стороннюю песочницу может привести к раскрытию потенциально конфиденциального содержимого. Убедитесь, что у вас есть право делиться файлами перед загрузкой.
| Аргумент | Описание |
|---|
folder_path | Обязательный – Путь к папке для сканирования (рекурсивно) |
--max-file-size | Максимальный размер файла в МБ (по умолчанию: 250) |
--environment-id | ID среды анализа (по умолчанию: 120 = Windows 7 64‑бит) |
--cache-file | Имя файла кэша (по умолчанию: submitted_cache.json). Файл сохраняется в ~/.hybrid_analysis_submitter/ |
.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| Проблема | Вероятное решение |
|---|
ERROR: HYBRID_API_KEY not found | Создайте файл .env в той же папке с содержимым HYBRID_API_KEY=ваш_ключ_здесь. |
'folder_path' is not a valid directory | Укажите правильный путь к существующей папке. |
| Отказ в доступе при чтении файлов | Запустите скрипт с соответствующими правами на чтение. |
| Частые ошибки 429 | Уменьшите скорость отправки (увеличьте time.sleep(2) в скрипте) или перейдите на более высокий тариф API. |
| Файлы неожиданно пропускаются | Проверьте, есть ли расширение в ALLOWED_EXTENSIONS. Вы можете добавить расширения, отредактировав скрипт. |
| Повторные отправки не пропускаются | Возможно, файл кэша отсутствует или повреждён. Удалите ~/.hybrid_analysis_submitter/submitted_cache.json, чтобы начать заново, или используйте аргумент --cache-file для другого имени файла. |
| Файлы за пределами корня сканирования пропускаются | Это сделано намеренно для безопасности. Убедитесь, что все целевые файлы находятся внутри указанной папки. |