matanmay/virus-comparison
GitHub: matanmay/virus-comparison
MalCom 是一个容器化的全栈平台,用于聚合、比较和可视化多个恶意软件的威胁情报和行为报告,帮助分析师高效识别共享特征。
Stars: 0 | Forks: 0
# 🛡️ MalCom — 恶意软件比较与相似性分析工具
[](https://www.php.net/)
[](https://www.mongodb.com/)
[](https://www.docker.com/)
[](LICENSE)
**MalCom** 是一个容器化的全栈网络安全分析平台,旨在为多个恶意软件样本聚合、比较和可视化威胁情报与行为报告。通过利用 **VirusTotal API** 和强大的本地 **MongoDB** 缓存层,MalCom 为威胁分析师和研究人员提供了并排剖析恶意软件属性、生成图表、加载库和反病毒判决结果的工具。
## 🌟 核心功能
* **多恶意软件并排比较:** 在交互式网格中同时比较最多 4 个 MD5 恶意软件哈希值,高亮显示共享的行为特征(加载的库、API 调用、修改的文件)。
* **VirusTotal API 集成:** 直接从 VirusTotal 的威胁引擎动态获取深入的行为报告、元数据、反病毒投票和系统交互信息。
* **智能 NoSQL 缓存层:** 将所有查询到的恶意软件签名本地缓存到 **MongoDB** 中,以最小化外部网络延迟并绕过 API 速率限制。
* **交互式 D3.js 可视化:** 渲染高保真、响应式的数据驱动 SVG,数学化地映射匹配特征并分析进程创建/终止时间线。
* **分类过滤:** 通过响应式 Tailwind 控制面板,实时过滤大型比较数据集(例如,隔离加载的库、活动进程、反病毒判决)。
* **CSV 导出与便携性:** 直接以标准 **CSV 格式** 下载规范化的比较表,用于外部导入和离线分析。
* **高级毛玻璃设计:** 采用最先进的暗色主题、响应式网格布局、自定义滑动过渡面板和流畅的微动画构建。
## 🧪 技术栈
* **前端:** HTML5, CSS3, **Tailwind CSS** (v3), **D3.js** (数据驱动 SVG), FontAwesome 6, JavaScript (ES6+, AJAX)
* **后端:** **PHP** (模型-视图-控制器模式,强大的错误处理与会话管理)
* **数据库:** **MongoDB** (具有自定义强大连接故障保护的 NoSQL 数据存储)
* **容器化与运维:** **Docker** & **Docker Compose**
* **外部 API:** **VirusTotal API v3**
## 📐 平台架构
```
graph TD
A[Security Analyst / Client Browser] <-->|Tailwind UI & D3.js Charts| B[Apache Web Server / PHP Backend]
B <-->|1. Checks Local Cache| C[(MongoDB Database Container)]
B <-->|2. Pulls Fresh Signatures if Missing| D[VirusTotal Threat API]
```
## 🚀 安装与入门
### 📋 前置条件
确保您的主机上已安装以下软件:
* [Docker](https://www.docker.com/get-started)
* [Docker Compose](https://docs.docker.com/compose/install/)
### 🛠️ 配置
1. 将此仓库克隆到您的本地工作区:
```
git clone https://github.com/matanmay/virus-comparison.git
cd virus-comparison
```
2. 在根目录创建一个 `.env` 文件,并配置您的连接字符串和 VirusTotal API 密钥:
```
# MongoDB 连接字符串(指向容器化数据库)
MONGODB_URL=mongodb://root:password@db:27017/malware_db?authSource=admin
# VirusTotal API 密钥 (V3)
VIRTUSTOTAL_API=your_virustotal_api_key_here
```
### 🐳 使用 Docker 运行
1. 启动多容器环境(启动 Apache/PHP Web 容器和 MongoDB 服务器):
```
docker-compose up --build
```
2. 构建完成且容器健康运行后,在浏览器中访问平台:
```
http://localhost:8080
```
3. (可选)要清除缓存数据库并以全新的空白状态启动:
```
docker exec -i malware-comparison-db mongosh -u root -p password --eval "db.getSiblingDB('malware_db').malweres.drop()"
```
## 👥 作者与团队
由以下人员作为理学学士最终项目开发:
* **Matan Mayerowicz**
* **Roei Kriger**
* **Noga Dembinsky**
标签:AMSI绕过, API 集成, CSV 导出, D3.js, DAST, Docker, MongoDB, OpenVAS, PHP, SEO 优化, SVG 渲染, VirusTotal API, 交互式界面, 可视化工具, 威胁情报, 威胁检测, 安全防御评估, 库加载分析, 开发者工具, 恶意软件分析, 恶意软件样本, 技术栈, 数据可视化, 数据聚合, 比较分析, 缓存机制, 网络安全, 行为报告, 请求拦截, 进程分析, 隐私保护