ab069/MalwareLens
GitHub: ab069/MalwareLens
一款由 AI 驱动的恶意软件分析沙箱平台,通过静态与行为分析流水线对可疑文件进行自动化分类、威胁评分和 IoC 提取。
Stars: 0 | Forks: 0
# MalwareLens — 恶意软件分析沙箱
   
由 AI 驱动的恶意软件分析沙箱平台,支持静态/动态分析、行为 AI 分类、IoC 提取和实时监控。
## 快速开始
```
docker compose up -d
```
打开 [http://localhost:3000](http://localhost:3000) 并注册一个新账户。
## 功能
- **文件提交** — 提交文件进行自动化恶意软件分析,并计算哈希值(MD5/SHA1/SHA256)
- **静态分析** — 可疑字符串检测(API 调用、进程操作)、导入分析(DLL 依赖)、熵值测量
- **行为分析** — 能力检测:进程注入、内存分配、命令执行、注册表修改、加密操作、网络通信
- **AI 分类引擎** — 4 级分类:恶意软件(分数 60+)、可疑(35+)、潜在有害(potentially_unwanted,15+)、良性
- **IoC 提取** — 自动提取指标:文件名、哈希、可疑字符串、导入项
- **威胁评分** — 基于静态和行为发现结果的定量风险评分(0-100)
- **详细报告** — 自动生成自然语言分析报告
- **实时仪表盘** — 基于 WebSocket 的实时分析结果流传输
## 架构
```
┌──────────────────────────────────────────────────────────────┐
│ MalwareLens System │
├────────────┬────────────┬────────────┬────────────┬────────────┤
│ File │ Static │ Behavioral │ AI │ WebSocket │
│ Intake │ Analyzer │ Analyzer │ Classifier │ Dashboard │
├────────────┴────────────┴────────────┴────────────┴────────────┤
│ FastAPI + async SQLAlchemy + Redis │
├────────────────────────────────────────────────────────────────┤
│ PostgreSQL + Redis + Docker Compose │
└────────────────────────────────────────────────────────────────┘
```
### 分析流水线
1. **哈希计算** — 提交文件内容的 MD5、SHA1、SHA256
2. **静态分析** — 扫描 8 个可疑的 API 调用(CreateRemoteThread、VirtualAllocEx、WriteProcessMemory、WinExec 等)和 4 个恶意导入(kernel32.dll、ntdll.dll 等)
3. **行为分析** — 将静态发现结果映射到 6 个能力类别
4. **AI 分类** — 根据发现结果的严重程度和数量进行评分和分类
5. **IoC 提取** — 将所有指标与威胁上下文打包
6. **报告生成** — 所有发现结果的自然语言摘要
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| 后端 | Python 3.12, FastAPI, SQLAlchemy (async), asyncpg |
| 前端 | React 18, TypeScript, Vite, Zustand |
| 引擎 | 静态 + 行为分析引擎 |
| 数据库 | PostgreSQL 16 |
| 认证 | JWT (python-jose), bcrypt (passlib) |
| 实时 | WebSockets |
| 基础设施 | Docker, Docker Compose, nginx |
## API 端点
| 方法 | 路径 | 描述 |
|--------|------|-------------|
| POST | `/api/auth/register` | 注册新用户 |
| POST | `/api/auth/login` | 登录,返回 JWT |
| POST | `/api/samples` | 提交样本文件 |
| GET | `/api/samples` | 列出已提交的样本 |
| GET | `/api/samples/stats` | 样本统计信息 |
| GET | `/api/samples/{id}` | 获取样本详情 |
| WS | `/ws/{user_id}` | 用于实时分析的 WebSocket |
| GET | `/api/health` | 健康检查 |
## 项目结构
```
MalwareLens/
├── backend/
│ ├── app/
│ │ ├── core/ # Config, security, database, deps
│ │ ├── models/ # SQLAlchemy models (Sample, User)
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── services/ # Business logic layer
│ │ ├── agents/ # Analysis engine (analyzer.py)
│ │ ├── api/ # Route handlers
│ │ └── main.py # FastAPI app entrypoint
│ ├── tests/ # Pytest test suite
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── store/ # Zustand state stores
│ │ ├── hooks/ # React hooks (WebSocket)
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Login, Register, Dashboard
│ │ ├── main.tsx # Entry point
│ │ └── App.tsx # Router
│ ├── Dockerfile
│ └── nginx.conf
├── docker-compose.yml
└── README.md
```
## 环境变量
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `DATABASE_URL` | `postgresql+asyncpg://...` | PostgreSQL 连接字符串 |
| `REDIS_URL` | `redis://redis:6379/0` | Redis 连接字符串 |
| `SECRET_KEY` | `change-me-in-production` | JWT 签名密钥 |
## 演示凭据
启动应用后,在 `/register` 注册一个新账户。
## 许可证
MIT
标签:AV绕过, DAST, FastAPI, IoC提取, React, Syscalls, 云安全监控, 安全沙箱, 恶意软件分析, 搜索引擎查询, 版权保护, 请求拦截, 静态分析