shentoumengxin/MirrorShield
GitHub: shentoumengxin/MirrorShield
一个支持多CPU架构的ELF恶意软件动态分析框架,结合eBPF监控、Docker隔离、硬件辅助防护和AI分析能力。
Stars: 0 | Forks: 0
# 欢迎使用 **MirrorShield** 🛡️
**MirrorShield**(前身为 QEMUGuardian)是一个功能强大且全面的跨 CPU 架构 Linux 可执行文件安全分析平台。借助 MirrorShield,您可以使用尖端技术——包括 eBPF 监控、Docker 隔离、硬件辅助隔离 (MPK) 以及 AI 驱动的分析——来分析、监控和评估不可信二进制文件的安全风险。🚀

## 🌟 核心功能
### 🔍 多架构分析
- 无缝支持 x86、ARM、MIPS、PowerPC、RISC-V 等
- 自动检测架构并选择合适的 QEMU 模拟器
- 基于 Docker 的隔离以实现安全执行
### 🛡️ 硬件辅助隔离 (MPK)
- 支持 **Memory Protection Keys (MPK)** 实现硬件级隔离
- 利用 CPU 特性 (Intel PKU/AMD PKEYS) 防止未授权的内存访问
- 针对分析环境内的内存破坏攻击提供强力防护
- 完整性验证,确保隔离未被原始绕过
### 📊 实时系统调用监控
- 使用 eBPF/cBPF 捕获系统调用活动,开销极低
- 基于 Per-cgroup 的事件路由与分片锁机制 (30万+ 事件/秒)
- 即使在 100+ 并发容器下也能实现零丢包
### 🤖 AI 驱动的分析
- **DeepSeek AI 集成**:自动恶意软件行为分析
- 支持多 API Key 以实现高吞吐量分析 (最高 480 请求/分钟)
- 智能风险评分与漏洞模式检测
- 生成全面且人类可读的报告
### 🐳 Docker 池执行
- 支持同时并发分析多达 100+ 个样本
- 智能任务队列策略 (分组 grouped、混合 mixed、轮询 round-robin)
- 自动资源管理与清理
- 事件同步确保日志捕获完整
### 🧩 模块化漏洞检测
- 可扩展的基于 Python 的分析器插件
- 检测 10+ 种漏洞类别:
- Code Injection (代码注入)
- Privilege Escalation (权限提升)
- Memory Corruption (内存破坏)
- Reverse Shells (反向 Shell)
- Information Leakage (信息泄露)
- Race Conditions (竞态条件)
- Fork Bombs (Fork 炸弹)
- 以及更多...
### 🌐 基于 Web 的管理
- **生产就绪服务器**:由 Waitress WSGI 驱动,确保稳定性与并发性
- **自动扫描架构**:自动检测并处理上传到监控目录的文件
- 用于远程分析的 RESTful API 服务器
- 实时任务状态跟踪与报告检索
## 📋 目录
- [架构概览](#architecture-overview)
- [快速开始](#quick-start)
- [本地分析](#local-analysis-wrapper)
- [Web 服务器 (Web Server)](#web-server)
- [组件](#components)
- [性能](#performance)
- [配置](#configuration)
- [API 文档](#api-documentation)
- [贡献](#contributing)
## 🏗️ 架构概览
```
┌─────────────────────────────────────────────────────────────┐
│ MirrorShield Platform │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Wrapper │ │ Server │ │ Guardian │ │
│ │ (Analysis │◄──►│ (REST API) │◄─►│ (Browser │ │
│ │ Engine) │ │ │ │ Extension) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Docker Pool (100+ concurrent) │ │
│ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │
│ │ │ C1 │ │ C2 │ │ C3 │ │ ... │ │ C99 │ │ C100│ │ │
│ │ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ eBPF Monitor (cgroup-based routing) │ │
│ │ ┌────────────────────────────────────────────┐ │ │
│ │ │ Ring Buffer → EventRouter (16 shards) │ │ │
│ │ │ ↓ │ │ │
│ │ │ Per-cgroup Queues (lock-free routing) │ │ │
│ │ └────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ |
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Analysis & Reporting │ │
│ │ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ Analyzers │ │ DeepSeek AI │ │ │
│ │ │ (10+ types) │ │ (4-32 workers)│ │ │
│ │ └──────────────┘ └──────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
## 🚀 快速开始
### 本地分析
直接在您的机器上分析二进制文件:
```
cd Wrapper
# 安装依赖
pip3 install -r requirements.txt
# 使用 MPK 保持完整性
# 确保你的 CPU 支持 PKU (Protection Keys for Userspace)
# 单文件分析
python3 wrapper.py /path/to/binary --docker
# 使用 AI 进行批量分析 (并发模式)
python3 wrapper.py /path/to/directory \
--docker \
--concurrency 10 \
--enable-ai-analysis \
--ai-workers 16
# 高性能模式 (100 个并发容器)
python3 wrapper.py /path/to/samples \
--docker \
--concurrency 100 \
--docker-pool-size 100 \
--enable-ai-analysis \
--ai-workers 32
```
**关键选项:**
- `--docker`:在 Docker 容器中运行(推荐)
- `--concurrency N`:同时分析 N 个样本
- `--enable-ai-analysis`:启用 DeepSeek AI 分析
- `--ai-workers N`:AI 分析工作进程数(默认:4)
- `--docker-pool-size N`:Docker 容器池大小
- `--queue-strategy`:任务分配策略 (grouped/mixed/round_robin)
更多详情,请参阅 [Wrapper/README.md](Wrapper/README.md)
### Web 服务器
运行 RESTful API 服务器以进行远程分析,采用新的 Auto-Scan 架构:
```
cd Server
# 安装依赖
pip3 install -r requirements.txt
# 启动服务器 (Waitress 生产模式)
# 自动启动后台扫描器
./start_server.sh
```
**新工作流:**
1. 上传文件至 `/upload`
2. 服务器保存至 `uploads/` 队列
3. 后台扫描器自动拾取
4. 通过 Wrapper 运行分析
5. 保存结果,文件移动至 `processed/`
**API 端点:**
- `POST /upload` - 上传文件进行分析
- `GET /jobs//status` - 检查任务状态
- `GET /jobs//report` - 获取分析报告
- `GET /deepseek/reports` - 列出所有 AI 分析报告
- `GET /deepseek/reports/` - 获取特定的 AI 报告
- `GET /scanner/status` - 扫描器状态
- `POST /scanner/start` - 启动后台扫描器
- `POST /scanner/stop` - 停止后台扫描器
更多详情,请参阅 [Server/README.md](Server/README.md)
## 🧩 组件
### 1. Wrapper (核心分析引擎)
- **位置**:`/Wrapper`
- **用途**:结合 eBPF 监控和 MPK 隔离的多架构二进制分析
- **主要特性**:
- Docker 池执行 (100+ 并发)
- 带分片锁的事件路由器 (30万 事件/秒)
- DeepSeek AI 集成
- 10+ 种漏洞分析器
- MPK (Memory Protection Keys) 集成
### 2. 服务器 (Web API)
- **位置**:`/Server`
- **用途**:用于远程分析的 RESTful API
- **主要特性**:
- **Waitress WSGI** 服务器,提供生产级性能
- **Auto-scan** 后台工作进程
- 文件上传与自动处理
- 实时状态跟踪
- DeepSeek 报告检索
### 3. DeepSeek AI 模块
- **位置**:`/DeepSeek`
- **用途**:AI 驱动的恶意软件分析
- **主要特性**:
- 多 API Key 支持 (轮询 round-robin)
- 自动风险评分
- 全面的行为分析
- 并行分析 (最多 32 个工作进程)
## ⚡ 性能
### Wrapper 性能
- **事件处理**:30万+ 事件/秒
- **并发容器**:100+ 同时运行
- **零丢包**:即使在重负载下
- **事件同步**:自动队列稳定
### AI 分析性能
| API Keys | 吞吐量 | 100 样本耗时 |
|----------|-----------------|------------------|
| 1 key | 60 请求/分钟 | ~450s |
| 4 keys | 240 请求/分钟 | ~120s |
| 8 keys | 480 请求/分钟 | ~65s |
### Server 性能
- **并发处理**:多线程 Waitress 服务器
- **后台处理**:通过专用线程进行自动队列管理
- **API 响应**:< 100ms (上传立即确认)
## ⚙️ 配置
### Wrapper 配置
编辑 `Wrapper/config.json`:
```
{
"docker_user": "nobody",
"timeout": 60,
"max_workers": 100,
"queue_strategy": "grouped"
}
```
### DeepSeek 配置
编辑 `DeepSeek/config.py`:
```
CONFIG = {
# Multiple API keys for high throughput
"api_keys": [
"sk-key1...",
"sk-key2...",
"sk-key3...",
"sk-key4..."
],
"api_base": "https://api.deepseek.com/v1",
"retry_max": 3
}
```
**性能提示**:使用 4-8 个 API Key 和 16-32 个工作进程以获得最佳吞吐量。
### Server 配置
环境变量 (在 `start_server.sh` 中设置):
```
export PORT=8080 # Server port
export WRAPPER_WORKERS=4 # Concurrent analysis workers
export WRAPPER_MAX_CONTENT_MB=100 # Max upload size
export WRAPPER_USE_SUDO=0 # Use sudo for wrapper
export WRAPPER_PRODUCTION=1 # Production mode
```
## 📚 API 文档
### 上传文件
```
curl -X POST http://localhost:8080/upload \
-F "file=@/path/to/binary"
```
响应:
```
{
"status": "queued",
"filename": "binary",
"message": "File uploaded successfully and added to scanning queue"
}
```
### 检查任务状态
```
curl http://localhost:8080/jobs/binary_timestamp/status
```
响应:
```
{
"job_id": "binary_timestamp",
"status": "completed",
"progress": 100,
"start_time": 1234567890,
"end_time": 1234567950
}
```
### 获取 DeepSeek AI 报告
```
# 列出所有 AI 报告
curl http://localhost:8080/deepseek/reports
# 获取特定 AI 报告
curl http://localhost:8080/deepseek/reports/job_id
```
完整 API 文档,请参阅 [Server/README.md](Server/README.md#api-reference)
## 🤝 贡献
我们欢迎各种贡献!您可以通过以下方式提供帮助:
### 添加新的分析器
在 `Wrapper/analyzers/` 中创建一个新的分析器:
```
# YourAnalyzer.py
ANALYZER_NAME = "YourAnalyzer"
ANALYZER_DESCRIPTION = "Detects specific malicious behavior"
def analyze(event: dict) -> dict:
# Your analysis logic
if is_suspicious(event):
return {
"analyzer": ANALYZER_NAME,
"level": 8,
"message": "Suspicious behavior detected",
"evidence": event
}
return None
```
在 `Wrapper/config.json` 中注册:
```
{
"analyzers": {
"YourAnalyzer": ["EXEC", "OPENAT", "SOCKET"]
}
}
```
### 改进 AI 分析
- 向 DeepSeek 提示词中添加更多行为模式
- 改进风险评分算法
- 增加对更多 AI 模型的支持
### 测试
```
cd Wrapper
python3 -m pytest test/
```
**准备好让您的分析更智能、更安全了吗?**
**立即开始使用 MirrorShield!** ✨
```
┌─────────────────────────────────────────────────────────────┐
│ MirrorShield Platform │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Wrapper │ │ Server │ │ Guardian │ │
│ │ (Analysis │◄──►│ (REST API) │◄─►│ (Browser │ │
│ │ Engine) │ │ │ │ Extension) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Docker Pool (100+ concurrent) │ │
│ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │
│ │ │ C1 │ │ C2 │ │ C3 │ │ ... │ │ C99 │ │ C100│ │ │
│ │ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ eBPF Monitor (cgroup-based routing) │ │
│ │ ┌────────────────────────────────────────────┐ │ │
│ │ │ Ring Buffer → EventRouter (16 shards) │ │ │
│ │ │ ↓ │ │ │
│ │ │ Per-cgroup Queues (lock-free routing) │ │ │
│ │ └────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ |
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Analysis & Reporting │ │
│ │ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ Analyzers │ │ DeepSeek AI │ │ │
│ │ │ (10+ types) │ │ (4-32 workers)│ │ │
│ │ └──────────────┘ └──────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
## 🚀 快速开始
### 本地分析
直接在您的机器上分析二进制文件:
```
cd Wrapper
# 安装依赖
pip3 install -r requirements.txt
# 使用 MPK 保持完整性
# 确保你的 CPU 支持 PKU (Protection Keys for Userspace)
# 单文件分析
python3 wrapper.py /path/to/binary --docker
# 使用 AI 进行批量分析 (并发模式)
python3 wrapper.py /path/to/directory \
--docker \
--concurrency 10 \
--enable-ai-analysis \
--ai-workers 16
# 高性能模式 (100 个并发容器)
python3 wrapper.py /path/to/samples \
--docker \
--concurrency 100 \
--docker-pool-size 100 \
--enable-ai-analysis \
--ai-workers 32
```
**关键选项:**
- `--docker`:在 Docker 容器中运行(推荐)
- `--concurrency N`:同时分析 N 个样本
- `--enable-ai-analysis`:启用 DeepSeek AI 分析
- `--ai-workers N`:AI 分析工作进程数(默认:4)
- `--docker-pool-size N`:Docker 容器池大小
- `--queue-strategy`:任务分配策略 (grouped/mixed/round_robin)
更多详情,请参阅 [Wrapper/README.md](Wrapper/README.md)
### Web 服务器
运行 RESTful API 服务器以进行远程分析,采用新的 Auto-Scan 架构:
```
cd Server
# 安装依赖
pip3 install -r requirements.txt
# 启动服务器 (Waitress 生产模式)
# 自动启动后台扫描器
./start_server.sh
```
**新工作流:**
1. 上传文件至 `/upload`
2. 服务器保存至 `uploads/` 队列
3. 后台扫描器自动拾取
4. 通过 Wrapper 运行分析
5. 保存结果,文件移动至 `processed/`
**API 端点:**
- `POST /upload` - 上传文件进行分析
- `GET /jobs/标签:AI驱动安全, AMSI绕过, CSV导出, DAST, DeepSeek集成, DNS 反向解析, Docker容器隔离, Docker镜像, eBPF监控, ELF恶意软件, JA3, QEMU模拟器, 二进制分析, 云安全运维, 云资产清单, 内存保护键 (MPK), 动态分析框架, 多架构支持, 威胁检测, 客户端加密, 幻觉检测, 恶意软件分析, 沙箱技术, 网络安全, 请求拦截, 跨架构仿真, 身份验证强制, 逆向工具, 逆向工程, 隐私保护, 风险评分