sanaullahcode/ai-malware-analysis-assistant
GitHub: sanaullahcode/ai-malware-analysis-assistant
一款纯静态的 AI 驱动恶意软件分析助手,通过 PE 解析、熵值检查、IOC 提取和威胁情报查询,在不执行样本的前提下生成风险评分和行为解读报告。
Stars: 1 | Forks: 0
# AI 驱动的恶意软件分析助手
由 **Sana Ullah** 开发
[](https://www.python.org/)
[](https://github.com/erocarrera/pefile)
[](https://www.virustotal.com/)
[](LICENSE)
给它一个可疑文件。它会返回该文件是什么、它接触了什么,
以及它有多危险——而无需执行它。
## 它的功能
仅限静态分析。此工具绝不会运行样本。它读取
文件结构和内容,以便在任何人在沙箱中
引爆它之前构建其意图的全貌。
1. **指纹识别** — 计算 MD5、SHA1 和 SHA256 以供识别和查询
2. **结构扫描** — 解析 PE 头、节区和导入表
3. **熵值检查** — 通过节区熵值标记加壳或加密的 payload
4. **IOC 扫描** — 从字符串中提取嵌入的 IP 地址、域名和 URL
5. **威胁情报交叉检查** — 可选通过 hash 查询 VirusTotal
6. **AI 分类** — Claude 解释行为并指出可能的类别
7. **评分** — 上述所有内容汇总为一个 0–100 的风险评分
## 风险评分指南
| 评分 | 含义 | 建议操作 |
|---|---|---|
| 0–24 | 未发现强烈的指标 | 记录并继续 |
| 25–49 | 存在一些可疑特征 | 建议人工审查 |
| 50–74 | 存在多个强烈指标 | 隔离主机,升级处理 |
| 75–100 | 高置信度恶意 | 立即遏制 |
## 标记内容
| 信号 | 重要性 |
|---|---|
| `VirtualAlloc`, `WriteProcessMemory`, `CreateRemoteThread` | 经典的进程注入原语 |
| `SetWindowsHookEx` | 常见于键盘记录器 |
| `URLDownloadToFile`, `InternetOpen` | 第二阶段 payload 获取 |
| 节区熵值超过 7.2 | 可能是加壳、加密或混淆的代码 |
| `IsDebuggerPresent` | 反分析 / 沙箱逃避行为 |
## 示例报告输出
```
{
"file": "invoice_march.exe",
"risk_score": 82,
"hashes": { "sha256": "a3f1c9..." },
"static_analysis": {
"overall_entropy": 7.61,
"suspicious_imports": ["VirtualAlloc", "WriteProcessMemory", "CreateRemoteThread"]
},
"iocs": { "ip_addresses": ["185.220.101.14"], "urls": [] },
"ai_analysis": "This sample allocates remote memory in another process and writes shellcode into it, consistent with a process injection loader..."
}
```
## 项目结构
```
ai-malware-analysis-assistant/
├── src/
│ ├── malware_assistant.py # CLI entry point
│ ├── static_analyzer.py # PE parsing, hashing, entropy
│ ├── ioc_extractor.py # string and IOC extraction
│ └── vt_lookup.py # VirusTotal hash lookup
├── data/samples/ # place suspicious files here for testing
├── reports/ # generated analysis reports
├── tests/
│ └── test_ioc_extractor.py
├── requirements.txt
└── .env.example
```
## 快速开始
```
git clone https://github.com/sanaullahcode/ai-malware-analysis-assistant.git
cd ai-malware-analysis-assistant
pip install -r requirements.txt
cp .env.example .env
```
在 `.env` 中添加你的密钥:
```
ANTHROPIC_API_KEY=your_key_here
VIRUSTOTAL_API_KEY=optional_but_recommended
```
运行它:
```
python src/malware_assistant.py data/samples/suspicious_file.exe
```
尚未配置 API 密钥也没关系——该工具仍可基于规则
分析和本地回退文本运行,因此无需任何计费
设置即可进行演示。
## 测试
```
pytest tests/
```
## 安全提示
本项目专为防御性安全教育和个人实验室
使用而构建。仅进行静态分析是安全的,但请务必将可疑文件保存在
隔离的 VM 或沙箱环境中。切勿在宿主机上执行可疑文件,并在未事先检查您所在组织的数据处理政策的情况下,切勿将包含敏感或专有
数据的文件提交给 VirusTotal 等第三方服务。
## 当前限制
- 结构解析仅支持 PE 格式;非 PE 文件仍会进行 hash、
熵值和 IOC 分析,但没有导入表检查
- 尚无 YARA 规则匹配,检测依赖于导入和熵值启发式
- VirusTotal 查询仅基于 hash,未知 hash 不返回结果
## 路线图
- 在基于导入的启发式基础上加入 YARA 规则匹配
- 集成沙箱引爆以进行行为分析
- 除 PE 外,支持基于 ELF 和脚本的样本
## 许可证
基于 [MIT 许可证](LICENSE) 发布。
## 作者
**Sana Ullah**
软件工程学士,FUUAST 伊斯兰堡
专注领域:网络安全、AI/ML、软件工程
GitHub: [sanaullahcode](https://github.com/sanaullahcode)
标签:AI辅助分析, DAST, DNS 反向解析, PE文件解析, Python, 云安全监控, 威胁情报, 安全规则引擎, 开发者工具, 恶意软件分析, 无后门, 网络信息收集, 逆向工具, 静态分析