a-tushar-a/Aegis-AI-Malware-Detection
GitHub: a-tushar-a/Aegis-AI-Malware-Detection
基于微服务架构的全栈恶意软件检测与威胁分析系统,利用深度学习对上传文件进行字节级特征分类并给出置信度评分。
Stars: 0 | Forks: 0
# Aegis - 全栈恶意软件检测系统
[](https://opensource.org/licenses/MIT)
[](https://fastapi.tiangolo.com)
[](https://spring.io/projects/spring-boot)
[](https://react.dev)
[](https://www.docker.com)
Aegis 是一个可用于生产环境的多服务**恶意软件检测与威胁分析系统**,采用深度学习的字节级特征提取分类器、Spring Security 无状态 REST 处理程序以及高级的响应式仪表盘构建。
## 🏗️ 系统架构
```
+----------------------------------------------+
| Client Browser |
| React / Vite SPA Frontend |
+----------------------+-----------------------+
|
| REST / HTTPS
v
+----------------------------------------------+
| Aegis Spring Boot API |
| Backend Core |
+-------+------------------------------+-------+
| |
| Read / Write | POST /predict (Multipart)
v v
+---------------+ +---------------+
| PostgreSQL | | AI Service |
| Database | | (FastAPI + TF)|
+---------------+ +---------------+
```
该系统由三个独立的容器化层组成:
1. **AI/ML 服务 (端口 8000)**:Python Web 服务,在程序启动时利用 TensorFlow & scikit-learn 构建多层反向传播神经网络,提取深层字节指标(Shannon 熵、NULL 块密度),并返回带有小数置信度标尺的二进制分类结果。
2. **后端 API (端口 8888)**:企业级 Spring Boot Java 应用,提供安全的身份信息存储(采用 JWT 认证)、加密哈希过滤器、数据库迁移以及 REST 映射。
3. **前端仪表盘 (端口 5173)**:基于 tailwind 构建的 React SPA,动态展示自定义的诊断仪表和日志。
## 🧠 技术栈矩阵
| 领域 | 技术 |
|---|---|
| **深度学习与推理** | Python 3.10-slim, FastAPI, TensorFlow/Keras, NumPy, scikit-learn |
| **API 核心网关** | Java 17, Spring Boot 3.1.5, Spring Security, RestTemplate, Lombok |
| **数据持久化** | PostgreSQL 15 Engine, JPA Hibernate |
| **终端客户端** | React 18 / Vite, Tailwind CSS, Lucide icons |
| **基础设施与 CI** | Docker, Docker-Compose, GitHub Actions CD/CI, Maven |
## 🗄️ 核心 API 接口端点
| 方法 | 路由 | 身份验证 | 负载描述 |
|---|---|---|---|
| `POST` | `/api/auth/register` | 开放 | 使用 bCrypt 哈希属性创建新的账户用户配置。 |
| `POST` | `/api/auth/login` | 开放 | 验证器挑战。验证成功后,返回持久的无状态 JWT。 |
| `POST` | `/api/malware/upload` | Bearer Token | 将文件流传输至后端,计算 SHA256 校验和,查询 AI,并保存结果索引。 |
| `GET` | `/api/malware/history` | Bearer Token | 加载按创建日期(DESC 降序)排列的完整历史诊断分析列表。 |
## 🚀 设置与启动指南
### 选项 A:完整多服务编排 (Docker)
使用 Compose 自动初始化所有端点、数据库 schema、模型训练和客户端。请确保 Docker 处于活动状态:
```
# 克隆 catalog 仓库
git clone https://github.com/your-org/malware-detection-system.git
cd malware-detection-system
# 启动完整的 container stack
docker compose up --build
```
各项服务将注册并提供服务访问于:
* **前端仪表盘**:`http://localhost:5173`
* **Spring Boot API**:`http://localhost:8080`
* **FastAPI AI 预测器**:`http://localhost:8000`
* **PostgreSQL 数据库**:`http://localhost:5432`
### 选项 B:本地交互式开发者独立运行(手动设置)
#### 1. 设置 Schema
使用指定的 schema 在 PostgreSQL 中部署您的区域关系型参数:
```
psql -h localhost -U postgres -d postgres -f schema.sql
```
#### 2. 初始化 Python 威胁模型引擎
```
cd ai-service
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
```
#### 3. 运行 Spring REST 后端
```
cd backend
mvn clean spring-boot:run
```
#### 4. 运行客户端仪表盘
```
cd frontend
npm install
npm run dev
```
## 🛡️ 许可证
基于 MIT 许可证分发。详情请参阅 `LICENSE`。
标签:JS文件枚举, Python, React, Syscalls, 人工智能, 威胁分析, 微服务架构, 无后门, 测试用例, 深度学习, 版权保护, 用户模式Hook绕过, 自动化侦查工具, 请求拦截, 逆向工具