Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vt-py-scanner — 递归扫描文件夹并使用 VirusTotal API 检测恶意软件。支持哈希查询、CSV 导出、实时进度以及速率限制处理,适用于自动化文件分析。 | Kitploit
工具/GitHubGitHub/neorai/vt-py-scanner
漏洞分析哈希分析取证分析信息收集恶意软件分析威胁情报
GitHubneorai/vt-py-scanner

vt-py-scanner

递归扫描文件夹并使用 VirusTotal API 检测恶意软件。支持哈希查询、CSV 导出、实时进度以及速率限制处理,适用于自动化文件分析。

查看仓库
569个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

VirusTotal 扫描器

使用 VirusTotal API 分析所有文件的 Python 脚本,可递归扫描文件夹及其子文件夹。专为 Windows 优化。

功能特性

  • 扫描文件夹及其所有子文件夹中的全部文件
  • 通过 .env 文件配置 - 保存您的 API 密钥和设置
  • 交互模式 - 无需 .env 文件也可使用
  • 针对 Windows 优化 - 正确的路径处理和 UTF-8 编码
  • 完整日志记录 - 将所有事件和错误记录到 .log 文件
  • CSV 导出 - 将结果保存为 CSV 文件(分号分隔)
  • 时间估算 - 实时显示剩余时间和已用时间
  • 遵守免费 API 每分钟 4 个文件的限制
  • 显示每个文件的 VirusTotal 分析 URL
  • 以 X/Y 格式显示结果(例如,0/70 表示 70 个杀毒引擎中有 0 个检出)
  • 健壮的错误处理(文件被锁定、无权限等)
  • 实时进度计数器,带百分比显示
  • 完成后输出详细摘要,包含统计信息和总耗时
  • 列出被跳过的文件及原因
  • 上传前先进行哈希查询 - 通过检查文件是否已存在于 VirusTotal 来节省时间和带宽

环境要求

  • Python 3.6 或更高版本
  • VirusTotal API 密钥(免费)
  • Windows(已优化,但在其他系统上也可运行)

安装

  1. 将文件下载到您的计算机

  2. 安装依赖:

root@kitploit:~
pip install -r requirements.txt
  1. 获取您的 VirusTotal API 密钥:
    • 前往 https://www.virustotal.com/gui/my-apikey
    • 注册或登录(免费)
    • 复制您的 API 密钥

使用方法

方式一:使用 .env 文件(推荐)

  1. 将 .env.example 文件复制为 .env:

    root@kitploit:~
    cp .env.example .env
    
  2. 编辑 .env 文件并填入您的配置:

    root@kitploit:~
    VIRUSTOTAL_API_KEY=your_actual_api_key_here
    SCAN_FOLDER=C:\Users\username\Desktop\my_files
    
  3. 运行脚本:

    root@kitploit:~
    python virustotal_scanner.py
    

脚本将自动从 .env 文件加载您的配置。

方式二:交互模式(无 .env 文件)

如果您不想使用 .env 文件,脚本会提示您输入所需信息:

root@kitploit:~
python virustotal_scanner.py

脚本会依次询问:

  1. 您的 VirusTotal API 密钥
  2. 您要扫描的文件夹路径

使用示例:

root@kitploit:~
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

Windows 下有效的路径示例:

  • C:\Users\username\Documents\my_files
  • C:\Users\username\Desktop\folder
  • .(点表示当前文件夹)
  • 您可以将文件夹直接拖放到终端中

生成的文件

运行脚本后,将自动生成以下文件:

virustotal_scan.log

包含所有事件的日志文件:

  • 扫描开始和结束
  • 每个已处理的文件
  • 错误和警告
  • 最终统计数据

virustotal_results.csv

包含结果的 CSV 文件(分号分隔):

  • 分析日期和时间
  • 文件名
  • 完整路径
  • 大小(字节)
  • SHA256 哈希
  • 检出数(阳性)
  • 杀毒引擎总数
  • 检出百分比
  • 状态(CLEAN/DETECTED)
  • VirusTotal URL

该 CSV 文件可使用 Excel、Google Sheets 或任何电子表格程序打开。

输出示例

root@kitploit:~
================================================================================
  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
================================================================================

限制与注意事项

免费 API 限制:

  • 每分钟 4 个文件(脚本会自动等待)
  • 每个文件最大 32 MB
  • 更大的文件将被自动跳过

会被跳过的文件:

  • 大于 32 MB 的文件
  • 空文件(0 字节)
  • 没有读取权限的文件
  • 被系统锁定的文件

重要安全说明

  • 请妥善保管您的 API 密钥 - 请勿分享
  • 文件会被公开分析 - 请勿上传机密文件
  • 文件会与安全社区共享 - 一旦上传,即为公开
  • VirusTotal 用于安全分析 - 请负责任地使用
  • 请勿上传个人或敏感的企业数据

脚本的功能

  1. 查找文件夹及其子文件夹中的所有文件
  2. 验证每个文件是否适合分析
  3. 检查文件哈希是否已存在于 VirusTotal(节省时间和带宽)
  4. 如果不存在,则将每个文件上传至 VirusTotal(遵守每分钟 4 个文件的限制)
  5. 等待分析结果
  6. 显示 URL 和检出结果(例如,0/70、5/70)
  7. 最后生成完整摘要

故障排除

错误:"Invalid API key"

  • 检查您是否正确复制了 API 密钥
  • 在 https://www.virustotal.com/gui/my-apikey 获取新密钥

错误:"Access denied to file"

  • 某些系统文件受保护
  • 如果需要分析系统文件,请以管理员身份运行

脚本运行非常慢

  • 这是正常现象:免费 API 限制为每分钟 4 个文件
  • 如果您有 100 个文件,大约需要 25 分钟

文件被跳过

  • 请查看最终摘要以了解被跳过的原因
  • 大于 32 MB 的文件无法使用免费 API 分析

许可证

MIT 许可证 - 版权所有 (c) 2025 neorai

本项目为免费开源项目。您可以自由使用、修改和分发。 详情请参阅 LICENSE 文件。

下载工具