KShrey00/virustotal-hash-analyzer
GitHub: KShrey00/virustotal-hash-analyzer
基于 Python 的命令行安全工具,通过计算文件哈希并调用 VirusTotal API 来快速检测恶意文件。
Stars: 0 | Forks: 0
# 集成 VirusTotal 的文件 Hash 分析器
一个基于 Python 的网络安全工具,用于计算文件 hash(MD5、SHA-1 和 SHA-256),并集成 VirusTotal API 来识别恶意和可疑文件。
## 功能特性
* 计算 **MD5**、**SHA-1** 和 **SHA-256** hash
* 显示易读的文件大小
* 使用 SHA-256 hash 查询 VirusTotal API
* 检测恶意和可疑文件
* 处理 API 速率限制和网络错误
* 使用环境变量安全管理 API 密钥
* 全面的异常处理
## 项目结构
```
file-hash-analyzer/
│
├── hashanalyzer.py
├── requirements.txt
├── README.md
├── .gitignore
├── LICENSE
│
├── screenshots/
│ ├── hash_output.png
│ └── virustotal_output.png
│
└── examples/
└── sample_output.txt
```
## 使用的技术
* Python 3
* hashlib
* requests
* VirusTotal API v3
## 安装说明
### 克隆仓库
```
git clone https://github.com/KShrey00/virustotal-hash-analyzer.git
cd file-hash-analyzer
```
### 创建虚拟环境(可选)
```
python -m venv venv
```
激活环境:
**Windows**
```
venv\Scripts\activate
```
**Linux/macOS**
```
source venv/bin/activate
```
### 安装依赖项
```
pip install -r requirements.txt
```
## 配置 VirusTotal API
从 VirusTotal 获取免费的 API 密钥,并将其设置为环境变量。
### Linux/macOS
```
export VIRUSTOTAL_API_KEY="YOUR_API_KEY"
```
### Windows 命令提示符
```
set VIRUSTOTAL_API_KEY=YOUR_API_KEY
```
### Windows PowerShell
```
$env:VIRUSTOTAL_API_KEY="YOUR_API_KEY"
```
## 用法
运行脚本并提供文件路径:
```
python hashanalyzer.py
```
示例:
```
python hashanalyzer.py sample.exe
```
## 示例输出
```
======================================================================
File Hash Analyzer
======================================================================
File: hello.txt
Size: 5.00 B
======================================================================
MD5:
5d41402abc4b2a76b9719d911017c592
SHA-1:
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-256:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
======================================================================
VirusTotal Results
======================================================================
Status: CLEAN
```
## 工作流程
1. 接受目标文件作为输入
2. 计算 MD5、SHA-1 和 SHA-256 hash
3. 获取文件大小信息
4. 使用 SHA-256 hash 查询 VirusTotal API
5. 解析检测统计数据
6. 显示恶意软件分析结果
## 错误处理
应用程序可以处理:
* 文件未找到错误
* 权限错误
* 无效的 API 密钥
* VirusTotal API 速率限制
* 网络连接失败
* 请求超时
* 意外的 API 响应
## 安全特性
* API 密钥使用环境变量存储
* 不硬编码任何敏感信息
* 使用 SHA-256 进行恶意软件声誉查询
* 稳健的异常处理可防止应用程序崩溃
## 未来改进
* 批量文件扫描
* 导出 JSON 报告
* 生成 PDF 报告
* 彩色终端输出
* 多线程扫描
* 支持文件上传至 VirusTotal
* 集成 YARA 规则
* 威胁情报增强
## 学习成果
该项目展示了:
* Python 文件处理
* 加密 hash
* REST API 集成
* JSON 解析
* 异常处理
* 环境变量管理
* 网络安全威胁情报工作流程
## 许可证
该项目基于 MIT 许可证授权。
## 作者
**Shreya Kumari**
网络安全爱好者 | 计算机科学专业学生
标签:Ask搜索, Python, VirusTotal, 威胁情报, 开发者工具, 文件哈希, 无后门