soham138/ThreatX

GitHub: soham138/ThreatX

一款基于 Java Web 技术栈构建的企业级恶意软件分析仪表板,支持文件静态分析、VirusTotal 威胁情报查询和基于角色的报告管理。

Stars: 0 | Forks: 0

# 🛡️ ThreatX ### 企业级恶意软件分析与威胁情报平台 安全上传文件,执行本地静态分析,获取 VirusTotal 威胁情报,并通过现代的基于角色的仪表板管理恶意软件报告。 ![Java](https://img.shields.io/badge/Java-17-orange?style=for-the-badge&logo=openjdk) ![JSP](https://img.shields.io/badge/JSP-Jakarta-blue?style=for-the-badge) ![Servlet](https://img.shields.io/badge/Servlet-API-red?style=for-the-badge) ![Tomcat](https://img.shields.io/badge/Apache%20Tomcat-9-yellow?style=for-the-badge&logo=apachetomcat) ![MySQL](https://img.shields.io/badge/MySQL-8.0-blue?style=for-the-badge&logo=mysql) ![Bootstrap](https://img.shields.io/badge/Bootstrap-5-purple?style=for-the-badge&logo=bootstrap) ![JavaScript](https://img.shields.io/badge/JavaScript-ES6-yellow?style=for-the-badge&logo=javascript) ![VirusTotal](https://img.shields.io/badge/VirusTotal-API%20v3-blue?style=for-the-badge)
# 🚀 概述 **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, 云安全监控, 域名枚举, 威胁情报, 开发者工具, 恶意软件分析, 数据可视化, 网络信息收集, 静态分析