titomazzetta/elf-malware-analysis-llm
GitHub: titomazzetta/elf-malware-analysis-llm
基于本地 LLM 的 ELF 恶意软件静态分析管道,提供自动化分类和可解释报告生成。
Stars: 0 | Forks: 0
# Team 5 Non Binary - LLM 驱动的恶意软件分类器
这是一个跨平台的静态分析 Capstone 项目,利用 Python、本地特征提取以及本地运行的 Ollama 模型对 ELF 恶意软件样本进行分类。
## 本仓库的功能
- 安全地加载二进制文件而不执行它
- 验证其是否看起来像 ELF 样本
- 提取静态特征,如 sections、symbols、imports、interpreter、熵和可打印字符串
- 构建结构化的特征 payload
- 将 payload 发送到本地 Ollama 模型以获取判定结果
- 如果 Ollama 不可用,则回退到确定性启发式算法
- 生成用于演示和截图的 JSON 报告和 Markdown 报告
## 本仓库**不**做的事
- 它不执行恶意软件
- 它不需要任何云 API 密钥
- 它不声称具有完美的恶意软件检测准确率
## 推荐环境
- Python 3.10 或 3.11
- VS Code
- 用于处理恶意软件样本的 Kali Linux 虚拟机
- 如果需要实时 LLM 判定,在主机或虚拟机上安装 Ollama
## 快速开始
### Linux 或 macOS
```
chmod +x setup.sh
./setup.sh
python main.py doctor
python main.py analyze ./path/to/sample
```
### Windows PowerShell
```
powershell -ExecutionPolicy Bypass -File .\setup.ps1
python .\main.py doctor
python .\main.py analyze .\path\to\sample
```
## 默认模型
默认的 Ollama 模型是 `llama3.2:3b`。你可以覆盖它:
```
python main.py analyze ./sample --model mistral
```
## 主要命令
```
python main.py doctor
python main.py analyze ./samples/test_elf
python main.py analyze ./samples/test_elf --offline
python main.py batch ./samples
```
## 仓库结构
- `main.py` - CLI 入口和编排
- `modules/intake` - 安全文件接收和元数据
- `modules/analyzer` - ELF 静态分析
- `modules/features` - 特征整理和风险指标
- `modules/llm` - Ollama 和回退分类器
- `modules/reporting` - JSON 和 Markdown 输出
- `docs/` - 入职指南、操作手册、GitHub 说明、架构文档
- `tests/` - 冒烟测试
## 团队成员
- Tito - 集成与发布经理
- Irina - 接收与安全样本处理
- Lehat - 静态分析器
- Victor - LLM 集成
- DeLisa - 报告与可解释性
## 最佳实践
请在 Kali 虚拟机内进行所有恶意软件处理。不要在主机上运行未知的二进制文件。
标签:AI风险缓解, AMSI绕过, C2, Caido项目解析, CSV导出, DAST, DLL 劫持, DNS 反向解析, ELF文件分析, LLM评估, Ollama, Python, 二进制分析, 云安全监控, 云安全运维, 人工智能安全, 可解释性AI, 合规性, 大语言模型, 威胁检测, 安全报告生成, 恶意软件分析, 无后门, 本地部署, 特征提取, 离线分析, 网络安全, 自动化分类, 逆向工具, 隐私保护, 静态分析