cchokaaa/malware-hash-scanner
GitHub: cchokaaa/malware-hash-scanner
集成 VirusTotal 威胁情报的恶意软件哈希扫描工具,支持批量文件扫描、威胁评级、历史追踪与多格式报告导出。
Stars: 1 | Forks: 0
# Malware Hash Scanner Pro
一款专业的恶意软件分析工具,支持计算加密哈希、查询 VirusTotal 获取威胁情报、验证文件类型、追踪历史扫描记录,并生成结构化的 JSON 和 PDF 报告。
## 功能
### 核心能力
- 多哈希计算(MD5、SHA1、SHA256)
- VirusTotal API 集成
- 威胁等级分类
- 批量目录扫描
- JSON 报告导出
### 高级功能
- 使用文件签名分析验证文件类型
- 历史扫描追踪
- PDF 报告生成
- 结构化审计风格报告
## 项目结构
```
malware-hash-scanner/
│
├── main.py
├── file_hasher.py
├── threat_checker.py
├── file_type_checker.py
├── history_tracker.py
├── report_generator.py
│
├── README.md
├── requirements.txt
├── .gitignore
├── LICENSE
│
├── reports/
│ └── (generated reports)
│
├── history/
│ └── scan_history.json
│
└── sample/
└── suspicious_files/
└── test.txt
```
## 安装说明
### 1. 克隆仓库
```
git clone https://github.com/cchokaaa/malware-hash-scanner.git
cd malware-hash-scanner
```
### 2. 创建虚拟环境
```
python -m venv venv
```
### 3. 激活虚拟环境
#### Windows PowerShell
```
venv\Scripts\Activate.ps1
```
#### Git Bash
```
source venv/Scripts/activate
```
### 4. 安装依赖
```
pip install -r requirements.txt
```
## VirusTotal API 设置
本项目使用 VirusTotal API 根据文件的 SHA256 哈希检索恶意软件检测统计数据。
在此创建免费账户:
https://www.virustotal.com/
生成 API 密钥并将其配置为环境变量。
### PowerShell
```
$env:VT_API_KEY="your_api_key_here"
```
### Git Bash
```
export VT_API_KEY="your_api_key_here"
```
## 使用说明
### 扫描单个文件
```
python main.py sample/suspicious_files/test.txt
```
### 导出 JSON 报告
```
python main.py sample/suspicious_files/test.txt --json reports/report.json
```
### 导出 PDF 报告
```
python main.py sample/suspicious_files/test.txt --pdf reports/report.pdf
```
### 同时导出 JSON 和 PDF 报告
```
python main.py sample/suspicious_files/test.txt --json reports/report.json --pdf reports/report.pdf
```
### 批量扫描目录
```
python main.py sample/suspicious_files
```
## 示例输出
```
============================================================
file_name: test.txt
file_path: D:\malware-hash-scanner\sample\suspicious_files\test.txt
file_size: 43
md5: a123f7b957092282734d4a91fd193c05
sha1: 77b56de4e98c1a0889224fba1a506a2a870b72f7
sha256: adfa5212baafb6f3b92ad0ed5e093601bcad32d1f29694f66214447b2c8a23eb
detected_type: unknown
extension_matches: True
suspicious: False
malicious_count: 0
threat_level: Low
============================================================
```
## 威胁等级分类
| 恶意检测次数 | 威胁等级 |
|---------------------:|:------------|
| 0 | 低(Low) |
| 1–3 | 中(Medium) |
| 4–10 | 高(High) |
| >10 | 严重(Critical) |
## 工作原理
1. **加密哈希计算**
计算每个文件的 MD5、SHA1 和 SHA256 哈希。
2. **文件类型验证**
使用 magic-byte 分析检测扩展名伪造。
3. **VirusTotal 查询**
将 SHA256 哈希发送至 VirusTotal 并检索恶意软件检测统计数据。
4. **威胁评分**
将恶意检测结果映射至低、中、高或严重等级。
5. **历史记录追踪**
将每次扫描结果存储在 `history/scan_history.json` 中。
6. **报告生成**
将扫描结果导出为 JSON 和 PDF 格式。
## JSON 报告结构示例
```
{
"file_name": "test.txt",
"file_path": "D:/malware-hash-scanner/sample/suspicious_files/test.txt",
"file_size": 43,
"md5": "...",
"sha1": "...",
"sha256": "...",
"detected_type": "unknown",
"extension_matches": true,
"suspicious": false,
"malicious_count": 0,
"threat_level": "Low"
}
```
## 涉及的安全概念
- 加密哈希
- 威胁情报集成
- 文件签名分析
- 恶意软件分类筛选
- 风险评分
- 历史审计追踪
- 自动化报告
## 许可证
本项目基于 MIT 许可证授权。
详见 `LICENSE` 文件。
## 作者
cchokaaa
## 免责声明
本项目仅供教育、研究和防御性安全目的使用。
用户有责任遵守所有适用的法律、法规和第三方服务条款。
标签:Ask搜索, DAST, Homebrew安装, Python, VirusTotal, 威胁情报, 开发者工具, 恶意软件分析, 文件哈希校验, 无后门, 逆向工具