使用 VirusTotal API 分析所有文件的 Python 脚本,可递归扫描文件夹及其子文件夹。专为 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 许可证 - 版权所有 (c) 2025 neorai
本项目为免费开源项目。您可以自由使用、修改和分发。 详情请参阅 LICENSE 文件。