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スプレッドシート、または任意の表計算プログラムで開けます。
================================================================================
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
================================================================================
Error: "Invalid API key"
Error: "Access denied to file"
The script is very slow
Skipped files
MIT License - Copyright (c) 2025 neorai
このプロジェクトは無料でオープンソースです。自由に使用、変更、配布できます。 詳細はLICENSEファイルを参照してください。