ASWINMS07/Malware-Analysis
GitHub: ASWINMS07/Malware-Analysis
MalVerse 是一套由八个独立智能体组成的恶意软件分析与威胁情报平台,支持单独运行或协同编排完成从静态分析到 PDF 报告输出的完整流水线。
Stars: 0 | Forks: 0
# MalVerse
**六个独立、达到生产环境规模的智能体,用于恶意软件分析和
威胁情报——可单独运行,也可协同运行。**
```
┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
│ AGENT 1 │ │ AGENT 3 │ │ AGENT 4 │
│ Static │──▶│ Threat Intel │ │ IOC Extraction │
│ Analysis │ │ (MalwareBazaar, │ │ (IPs, domains, │
│ │ │ ThreatFox) │ │ hashes, mutexes...) │
└──────────────┘ └──────────────────┘ └──────────┬─────────┘
│ │
│ ┌──────────────────┐ ▼
└───────────▶│ AGENT 2 │ ┌───────────────────┐
│ AI Intelligence │ │ AGENT 6 │
│ (Ollama + │ │ Network Intel │
│ MITRE mapping) │ │ (WHOIS, geo/ASN, │
└──────────────────┘ │ TLS certs, DNS) │
└───────────────────┘
┌──────────────────────────┐
│ AGENT 5 │ (independent action, not part
│ Dynamic Analysis │ of the automatic pipeline -
│ (real remote sandbox via │ real sandbox runs take
│ Hybrid Analysis) │ minutes, not seconds)
└──────────────────────────┘
┌──────────────────────────┐
│ AGENT 7 │ (post-pipeline, on demand)
│ Report Generator │ Collects all agent results
│ (professional cyber-themed │ and renders a downloadable
│ PDF via ReportLab) │ PDF report)
└──────────────────────────┘
┌──────────────────────┐
│ AGENT 8 │
│ Memory Forensics │
│ Volatility3 |
| processes · malfind │
│ │
└──────────────────────────┘
```
## 为什么会有这个项目
一次从零开始的重建,只专注于一件事:**真正独立的
智能体**,每个智能体都可以完全独立地进行开发、测试、部署和
运行——同时仍能清晰地组合成一个单一的 pipeline,并提供
实时、动态的视图,准确展示哪个智能体正在做什么。请参阅
[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) 了解这种独立性是如何
被执行的(而不仅仅是口头声称)。
报告中的每一个字段都是真实计算得出的:哈希(标准库 `hashlib`)、
熵(标准库 `math`)、PE/ELF/APK 解析(`pefile` / `pyelftools` /
标准库 `zipfile`)、YARA 扫描(`yara-python`)、威胁情报查询
(MalwareBazaar/ThreatFox)、IOC 提取(标准库 `re`)、网络 OSINT
(WHOIS 协议、ip-api.com、crt.sh、DNS-over-HTTPS——全部免费、全部
被动,绝不进行端口扫描)、动态分析(通过 Hybrid Analysis 进行
真实的远程引爆,绝不在本地执行)以及 AI 叙述(通过真实的
HTTP 调用访问真实的本地 Ollama 服务器)。没有任何内容是模拟或
硬编码的——请参阅每个智能体 README 中的“诚信说明”部分,了解确切
哪些已实现、哪些未实现。
## 快速开始(Arch Linux)
有两种方式可以运行此项目,任选其一:
### 选项 A —— Docker(推荐,约 5 分钟)
```
docker compose up -d --build
curl http://localhost:8000/health
# 打开 http://localhost:3000
```
此次重建中的每个依赖项都提供了预构建的 wheel——**镜像内部
不需要编译器,不需要 `libpq-dev`,也不需要 `build-essential`**。请参阅
[docs/ARCH_LINUX_SETUP.md](docs/ARCH_LINUX_SETUP.md) 了解
之前的构建为何一直失败以及做了哪些改变的确切原因。
AI 叙述生成(Agent 2)需要 Ollama,这是一个体积庞大的镜像,
并且**默认处于关闭状态**。通过以下方式添加它:
```
docker compose --profile ai up -d
docker compose exec ollama ollama pull qwen2.5
```
如果没有它,Agent 1(静态分析)可以完全正常运行;Agent 2 会
如实报告 `ai_available: false`,而不会直接失败。
Agent 3 和 5 也使用免费、可选的外部服务,并在未配置时
以同样诚实的方式降级(绝不产生捏造的结果):
```
# Agent 3 (Threat Intelligence) - 一次免费注册即可覆盖两个来源
# https://auth.abuse.ch/ -> 在 .env 或 docker-compose.yml 中设置:
# MALWAREBAZAAR_AUTH_KEY=...
# THREATFOX_AUTH_KEY=...
# Agent 5 (Dynamic Analysis) - 免费但需要审批/审核步骤
# https://www.hybrid-analysis.com/ -> 设置:
# HYBRID_ANALYSIS_API_KEY=...
```
Agent 4(IOC 提取)和 6(网络情报)完全不需要
配置——它们使用的所有数据源都是免费且无需密钥的。
### 选项 B —— 原生,完全不用 Docker
```
./scripts/setup-arch-native.sh
source .venv/bin/activate
uvicorn backend.main:app --reload &
cd frontend && npm run dev
```
完整指南请见 [docs/ARCH_LINUX_SETUP.md](docs/ARCH_LINUX_SETUP.md)。
### 选项 C —— 仅运行智能体,完全不使用服务器
```
./scripts/run-agent1-standalone.sh /bin/ls --pretty
./scripts/run-pipeline-standalone.sh /bin/ls --pretty
```
请参阅每个智能体各自的 README(`agents/agentN_*/README.md`)了解
独立用法——每个智能体都有自己的 CLI,并且无需任何服务器即可运行。
## 项目布局
```
malverse/
├── agents/
│ ├── agent1_static/ Static analysis (hashing, entropy, PE/ELF/APK, YARA)
│ ├── agent2_intelligence/ AI narrative + MITRE mapping (Ollama)
│ ├── agent3_threat_intel/ Hash reputation (MalwareBazaar, ThreatFox)
│ ├── agent4_ioc_extraction/ IOC extraction (IPs, domains, hashes, mutexes...)
│ ├── agent5_dynamic/ Real remote sandbox detonation (Hybrid Analysis)
│ ├── agent6_network_intel/ Passive OSINT (WHOIS, geo/ASN, TLS certs, DNS)
│ ├── agent7_report/ PDF report generator (ReportLab, cyber-themed)
│ └── orchestrator.py Optional integration of all of the above
├── backend/ FastAPI - exposes every agent, separately and combined
├── frontend/ React + Vite + Tailwind dashboard, live SSE pipeline animation
├── scripts/ Setup + standalone-run helpers
├── tests/ pytest suite (agent-level, no server needed)
├── docs/ Architecture, Arch Linux setup, API reference
└── docker-compose.yml
```
## 运行测试
```
source .venv/bin/activate # or agents/requirements.txt + backend/requirements.txt
pip install pytest
pytest
```
涵盖所有 6 个智能体的 52 项测试:哈希正确性(直接针对标准库
`hashlib`)、熵边界、字符串/IOC 提取、
风险评分引擎(良性 vs. 恶意模式输入、APK 权限
组合、分数边界)、MITRE ATT&CK 映射、威胁情报响应
解析、针对真实响应文本的 WHOIS 解析,以及每个
依赖于外部、可选密钥
服务(Ollama、MalwareBazaar/ThreatFox、Hybrid Analysis)的智能体的诚实降级——每个测试在未配置时
都必须返回一份完整、有效且标签清晰的报告,
绝不捏造结果。
## API 接口
| 路由 | 智能体 | 是否持久化? |
|---|---|---|
| `POST /api/v1/agent1/analyze` | 仅 Agent 1 | 否 |
| `POST /api/v1/agent2/explain` | 仅 Agent 2 | 否 |
| `GET /api/v1/agent3/check/{hash}` | 仅 Agent 3 | 否 |
| `POST /api/v1/agent4/extract` | 仅 Agent 4 | 否 |
| `POST /api/v1/agent5/submit` | 仅 Agent 5 | 否 |
| `POST /api/v1/agent6/investigate` | 仅 Agent 6 | 否 |
| `GET /api/v1/agent7/report/{id}` | Agent 7 —— 基于存储的分析生成 PDF | 否 |
| `POST /api/v1/agent7/report` | Agent 7 —— 基于原始 JSON 请求体生成 PDF | 否 |
| `POST /api/v1/analyze` | 1 + 可选的 2, 3, 4, 6 | 是 |
| `POST /api/v1/analyze/stream` | 同上,以实时 Server-Sent Events 形式 | 是 |
| `GET /api/v1/analyses` / `/{id}` | — | 读取数据库 |
| `GET /health` | — | 真实的依赖检查 |
完整参考:[docs/API.md](docs/API.md)。后端运行后,可在
`http://localhost:8000/docs` 查看交互式文档。
## 许可证
这是一个作品集/学习项目。此处包含的 YARA 规则和 MITRE ATT&CK
映射均为原创工作,参考了公开记录的
已知指标模式和公开的 MITRE ATT&CK 框架。
标签:AI智能体, AI风险缓解, ATT&CK框架, DAST, 威胁情报, 安全沙箱, 开发者工具, 恶意软件分析, 自动化分析, 请求拦截, 跨站脚本, 逆向工具