vata-ops/malscan
GitHub: vata-ops/malscan
一款无需沙箱执行的静态恶意软件分析工具,支持 PE、PDF、Office 文档和脚本等多格式文件的快速分析与风险评分。
Stars: 1 | Forks: 0
# MalScan — 静态文件分析器
一款用于**静态恶意软件分析**的网络安全工具 — 无需沙箱,无任何执行操作。拖入文件,即可获取完整报告。
## 功能
### 文件支持
| 格式 | 分析内容 |
|--------|----------------|
| **EXE / DLL** | PE 头、导入表、导出表、区段、安全缓解措施 (ASLR/DEP/CFG)、加壳检测、附加数据 |
| **PDF** | JavaScript 存在情况、自动动作、嵌入文件、XFA、危险关键字、外部 URL |
| **Office (docx/xlsx)** | VBA 宏、自动执行宏、危险函数、DDE 字段、外部链接、OLE 对象 |
| **脚本 (py/js/ps1/sh/bat/vbs)** | 特定语言危险模式、混淆检测、网络/执行特征指标 |
### 分析模块
- **哈希计算** — MD5, SHA1, SHA256
- **VirusTotal 查询** — 真正的 API v3 集成(可选,支持免费 key)
- **熵分析** — 基于文件和分块,并在图表上可视化
- **PE 区段熵** — 针对可执行文件的按区段细分
- **字符串提取** — ASCII + Unicode,支持过滤
- **IOC 提取** — IP、URL、域名、注册表键、文件路径、互斥锁
- **风险评分** — 0–100 分,附带详细的因子细分
## 技术栈
```
backend/ → Python + Flask
frontend/ → HTML + CSS + Vanilla JS (no framework)
```
## 安装
### 前置条件
- Python 3.10+
- `libmagic`(用于文件类型检测)
**Linux / macOS:**
```
sudo apt install libmagic1 # Debian/Ubuntu
brew install libmagic # macOS
```
**Windows:**
```
pip install python-magic-bin # bundles the DLL
```
### 后端
```
cd backend
pip install -r requirements.txt
python app.py
```
后端运行在 `http://localhost:5000`
### 前端
无需构建步骤。只需在浏览器中打开 `frontend/index.html` 即可。
或者启动本地服务:
```
cd frontend
python -m http.server 8080
# 打开 http://localhost:8080
```
## 用法
1. 启动后端
2. 在浏览器中打开前端
3. 拖入文件(或点击 SELECT FILE)
4. 可选择粘贴 VirusTotal API key
5. 等待约 2–5 秒进行分析
6. 浏览标签页:Overview → Strings → IOCs → Entropy → Deep Analysis → VirusTotal
**导出**:点击 `EXPORT JSON` 保存完整报告。
## VirusTotal API
在 [virustotal.com](https://www.virustotal.com/gui/join-us) 获取免费 key。
免费层:4 次请求/分钟,500 次/天。该 key **绝不会存储** — 每次分析时仅发送一次。
## 伦理使用
此工具**仅执行静态分析**:
- 不会执行文件
- 分析后不会将文件存储在磁盘上
- 不会将文件发送给任何第三方(如果您提供了 key,用于 VT 哈希查询的情况除外)
请负责任地使用。不要分析您不拥有或未获授权测试的文件。
## 项目结构
```
malscan/
├── backend/
│ ├── app.py # Flask API + risk scoring
│ ├── requirements.txt
│ └── analyzers/
│ ├── file_identifier.py # libmagic + extension mapping
│ ├── hash_analyzer.py # MD5/SHA1/SHA256 + VT API
│ ├── entropy_analyzer.py # Shannon entropy per chunk + PE sections
│ ├── pe_analyzer.py # pefile — PE32/64 deep analysis
│ ├── pdf_analyzer.py # Raw PDF keyword + metadata scan
│ ├── office_analyzer.py # OOXML + OLE, VBA macro extraction
│ ├── script_analyzer.py # Pattern matching per language
│ └── string_extractor.py # ASCII/Unicode strings + IOC regex
└── frontend/
├── index.html
└── static/
├── css/style.css
└── js/app.js
```
## 许可证
MIT
标签:DNS 反向解析, Flask, Python, 威胁情报, 开发者工具, 搜索语句(dork), 文件分析工具, 无后门, 知识库安全, 网络信息收集, 逆向工具, 静态恶意软件分析