ab069/MalwareLens

GitHub: ab069/MalwareLens

一款由 AI 驱动的恶意软件分析沙箱平台,通过静态与行为分析流水线对可疑文件进行自动化分类、威胁评分和 IoC 提取。

Stars: 0 | Forks: 0

# MalwareLens — 恶意软件分析沙箱 ![Version](https://img.shields.io/badge/version-1.0.0-10b981) ![FastAPI](https://img.shields.io/badge/FastAPI-0.115-10b981) ![React](https://img.shields.io/badge/React-18.3-10b981) ![License](https://img.shields.io/badge/license-MIT-10b981) 由 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, 云安全监控, 安全沙箱, 恶意软件分析, 搜索引擎查询, 版权保护, 请求拦截, 静态分析