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, 威胁情报, 安全沙箱, 开发者工具, 恶意软件分析, 自动化分析, 请求拦截, 跨站脚本, 逆向工具