
Python-скрипт для анализа ВСЕХ файлов с помощью VirusTotal API, сканирующий папки и подпапки рекурсивно. Оптимизирован для Windows.
Скачайте файлы на ваш компьютер
Установите зависимости:
pip install -r requirements.txt
Скопируйте файл .env.example в .env:
cp .env.example .env
Отредактируйте файл .env и добавьте вашу конфигурацию:
VIRUSTOTAL_API_KEY=your_actual_api_key_here
SCAN_FOLDER=C:\Users\username\Desktop\my_files
Запустите скрипт:
python virustotal_scanner.py
Скрипт автоматически загрузит вашу конфигурацию из файла .env.
Если вы предпочитаете не использовать файл .env, скрипт запросит информацию:
python virustotal_scanner.py
Скрипт запросит:
Пример использования:
Enter your VirusTotal API key: a1b2c3d4e5f6...
Enter the folder path to scan: C:\Users\username\Desktop\my_files
Do you want to continue? (y/n): y
C:\Users\username\Documents\my_filesC:\Users\username\Desktop\folder. (точка = текущая папка)После запуска скрипта будут автоматически созданы следующие файлы:
Файл журнала со всеми событиями:
CSV-файл с результатами (разделитель — точка с запятой):
CSV-файл можно открыть в Excel, Google Sheets или любой другой программе для работы с электронными таблицами.
================================================================================
VIRUSTOTAL SCANNER - COMPLETE FOLDER SCAN
================================================================================
Folder: C:\Users\username\Desktop\my_files
API limit: 4 files per minute
Maximum file size: 32 MB
================================================================================
Counting files...
Total files found: 15
Starting analysis...
================================================================================
Progress: [1/15]
================================================================================
[*] Analyzing: document.pdf
Path: C:\Users\username\Desktop\my_files\document.pdf
Uploading file...
Waiting for analysis results...
Analysis in progress... (attempt 1/30)
>> URL: https://www.virustotal.com/gui/file/abc123...
>> Detections: 0/70
================================================================================
Progress: [2/15]
================================================================================
[*] Analyzing: program.exe
Path: C:\Users\username\Desktop\my_files\program.exe
Uploading file...
Waiting for analysis results...
>> URL: https://www.virustotal.com/gui/file/def456...
>> Detections: 2/70
[!] Rate limit reached: Waiting 15 seconds...
================================================================================
FINAL SCAN SUMMARY
================================================================================
ANALYZED FILES:
--------------------------------------------------------------------------------
1. [CLEAN] 0/70
File: C:\Users\username\Desktop\my_files\document.pdf
URL: https://www.virustotal.com/gui/file/abc123...
2. [DETECTED] 2/70
File: C:\Users\username\Desktop\my_files\program.exe
URL: https://www.virustotal.com/gui/file/def456...
================================================================================
SKIPPED FILES:
--------------------------------------------------------------------------------
1. C:\Users\username\Desktop\my_files\large_file.iso
Reason: File too large (650.50 MB)
2. C:\Users\username\Desktop\my_files\system.dll
Reason: No read permissions
================================================================================
STATISTICS
================================================================================
Total files found: 15
Files analyzed: 13
Files skipped: 2
- Clean files (0 detections): 12
- Files with detections: 1
================================================================================
Ошибка: "Invalid API key"
Ошибка: "Access denied to file"
Скрипт работает очень медленно
Пропущенные файлы
MIT License — Copyright (c) 2025 neorai
Этот проект является свободным и открытым. Вы можете свободно использовать, изменять и распространять его. Подробности см. в файле LICENSE.