soham138/ThreatX
GitHub: soham138/ThreatX
一款基于 Java Web 技术栈构建的企业级恶意软件分析仪表板,支持文件静态分析、VirusTotal 威胁情报查询和基于角色的报告管理。
Stars: 0 | Forks: 0
# 🛡️ ThreatX
### 企业级恶意软件分析与威胁情报平台
安全上传文件,执行本地静态分析,获取 VirusTotal 威胁情报,并通过现代的基于角色的仪表板管理恶意软件报告。








# 🚀 概述
**ThreatX** 是一款使用 **Java、JSP、Servlets、MySQL、Maven、Bootstrap 和 VirusTotal API** 开发的专业网络安全 Web 应用程序。
该平台允许安全分析师上传可疑文件,执行**本地静态分析**,生成**加密哈希**,从 VirusTotal 获取**全球威胁情报**,并通过安全的基于角色的仪表板监控扫描历史。
# ✨ 核心功能
## 🔐 身份验证与授权
- 用户注册
- 安全登录
- BCrypt 密码哈希
- JWT 身份验证
- Session 管理
- 基于角色的访问控制
- 安全退出登录
## 📁 恶意软件分析
- 安全文件上传
- 静态文件分析
- SHA-256 生成
- SHA-1 生成
- MD5 生成
- MIME 类型检测
- 文件元数据提取
- 文件验证
## 🌐 VirusTotal 集成
- VirusTotal API v3
- 威胁检测
- 检测率
- 恶意软件家族检测
- 风险评分分析
- 安全建议
- 缓存的扫描报告
- 杀毒引擎结果
## 📊 仪表板
### 👨💼 管理员仪表板
- 用户总数
- 上传文件总数
- 扫描总数
- 威胁统计
- 近期活动
- 系统概览
### 👤 用户仪表板
- 个人扫描历史
- 上传统计
- 恶意软件报告
- 威胁概览
## 📜 日志与报告
- 扫描历史
- 审计日志
- 用户活动跟踪
- 搜索功能
- 可打印报告
## 👥 用户管理
- 查看用户
- 搜索用户
- 管理账户
- 用户角色
## ⚠ 错误处理
- 自定义 404 页面
- 自定义 500 页面
- 异常处理
# 🛠 技术栈
| 类别 | 技术 |
|-----------|------------|
| 编程语言 | Java 17 |
| 后端 | JSP, Servlets |
| 服务器 | Apache Tomcat 9 |
| 数据库 | MySQL 8.0 |
| 构建工具 | Maven |
| 前端 | HTML5, CSS3, Bootstrap 5, JavaScript |
| 图表 | Chart.js |
| 身份验证 | JWT |
| 密码安全 | BCrypt |
| 威胁情报 | VirusTotal API v3 |
# 📂 项目结构
```
EnterpriseMalwareDashboard
│
├── src
│ └── main
│ ├── java
│ │ ├── controller
│ │ ├── dao
│ │ ├── model
│ │ └── util
│ │
│ └── webapp
│ ├── admin
│ ├── auth
│ ├── dashboard
│ ├── error
│ ├── history
│ ├── scan
│ ├── upload
│ ├── css
│ └── js
│
├── pom.xml
└── README.md
```
# 🗄 数据库
**数据库名称**
```
enterprise_malware_db
```
在运行应用程序之前,请导入提供的 SQL 文件。
# ⚙ 安装
## 1️⃣ 克隆仓库
```
git clone https://github.com/soham138/EnterpriseMalwareDashboard.git
```
## 2️⃣ 打开项目
在 Eclipse 中导入为:
```
Existing Maven Project
```
## 3️⃣ 创建数据库
```
CREATE DATABASE enterprise_malware_db;
```
导入:
```
enterprise_malware_db.sql
```
## 4️⃣ 配置数据库
打开:
```
DBConnection.java
```
```
private static final String URL = "jdbc:mysql://localhost:3306/enterprise_malware_db";
private static final String USERNAME = "root";
private static final String PASSWORD = "your_password";
```
## 5️⃣ 配置 VirusTotal API
打开
```
VirusTotalUtil.java
```
替换
```
YOUR_API_KEY
```
为您的 API 密钥。
## 6️⃣ 部署
运行使用:
```
Apache Tomcat 9
```
访问:
```
http://localhost:8080/EnterpriseMalwareDashboard
```
# 📊 应用程序模块
| 模块 | 描述 |
|----------|-------------|
| 身份验证 | 登录、注册与 JWT |
| 角色管理 | 管理员与用户访问权限 |
| 恶意软件分析 | 静态文件分析 |
| VirusTotal | 威胁情报 |
| 仪表板 | 分析与图表 |
| 历史记录 | 扫描历史 |
| 报告 | 可打印报告 |
| 审计日志 | 用户活动 |
| 用户管理 | 管理账户 |
# 🔒 安全功能
✅ BCrypt 密码加密
✅ JWT 身份验证
✅ Prepared Statements
✅ 防止 SQL 注入
✅ Session 超时
✅ 基于角色的授权
✅ 文件类型验证
✅ 文件大小验证
✅ 安全文件上传
# 📸 截图
```
screenshots/
│
├── login.png
├── register.png
├── admin-dashboard.png
├── user-dashboard.png
├── upload.png
├── scan-report.png
├── manage-users.png
├── audit-logs.png
```
# 👨💻 开发者
## Soham Yadav
**网络安全爱好者 | 全栈 Java 开发者**
GitHub
👉 https://github.com/soham138
# ⭐ 未来增强计划
- 实时恶意软件监控
- YARA 规则集成
- 电子邮件提醒
- PDF 报告导出
- Docker 部署
- REST API
- 多用户组织
- SIEM 集成
# 📜 许可证
本项目专为**教育、学术和学习目的**而开发。
### ⭐ 如果您觉得这个项目有用,请不要忘记为该仓库点 Star!
使用 ❤️ 与 Java 和网络安全技术构建
标签:Ask搜索, DAST, DNS 反向解析, VirusTotal, 云安全监控, 域名枚举, 威胁情报, 开发者工具, 恶意软件分析, 数据可视化, 网络信息收集, 静态分析