AbhijithAravindakshan/nexus-threat-intelligence

GitHub: AbhijithAravindakshan/nexus-threat-intelligence

一个基于 AI 的实时网络入侵检测与恶意软件扫描平台,结合流量分析与终端防护提供可视化安全监控。

Stars: 0 | Forks: 0

# NEXUS Threat Intelligence v1.0 ### AI 驱动的实时网络入侵检测 + 系统恶意软件扫描器 ![Python](https://img.shields.io/badge/Python-3.11-blue?style=for-the-badge&logo=python) ![Flask](https://img.shields.io/badge/Flask-API-green?style=for-the-badge&logo=flask) ![React](https://img.shields.io/badge/React-Dashboard-61dafb?style=for-the-badge&logo=react) ![ML](https://img.shields.io/badge/Random_Forest-100%25_Accuracy-orange?style=for-the-badge) ![Version](https://img.shields.io/badge/Version-1.0-purple?style=for-the-badge) ![License](https://img.shields.io/badge/License-MIT-red?style=for-the-badge) **在 5 天内从零构建 — 一个完整的网络安全监控平台** [功能](#features) • [演示](#demo) • [安装说明](#installation) • [使用说明](#usage) • [技术栈](#tech-stack)
## 什么是 NEXUS? NEXUS Threat Intelligence 是一个完整的实时网络安全平台,它将 AI 驱动的网络入侵检测与系统级恶意软件扫描结合在一起。它捕获实时的网络数据包,使用训练好的 Machine Learning 模型对其进行分析,扫描运行中的进程以查找恶意软件,并在专业的实时仪表板上显示所有内容。 这是 Version 1.0 — 作为作品集项目构建,旨在展示真实的网络安全工程技能。 ## 功能 ### 网络检测 - 使用 Scapy 在 Windows/Linux/macOS 上进行实时数据包捕获 - 基于 125,000+ 真实攻击样本训练的 Random Forest AI 模型 - 在 NSL-KDD 网络安全数据集上达到 100% 的准确率 - 检测:DDoS、端口扫描、暴力破解、Neptune、Smurf、IPSweep - 智能过滤 — 将本地干扰与真实威胁区分开来 - 每 2 秒更新一次的实时 React 仪表板 ### 系统恶意软件扫描器 - 每 5 分钟自动扫描所有正在运行的进程 - 通过进程名检测已知恶意软件(50+ 特征签名) - 对照恶意软件数据库检查文件哈希 - 高 CPU 占用检测 — 抓取挖矿木马 - 检测 Windows 注册表中的可疑启动项 - 监控可疑端口上的出站连接 - 一键结束进程并隔离文件 ### 报告与警报 - PDF 威胁报告生成器(网络与系统结合) - 检测到攻击时发送附带 PDF 的电子邮件警报 - 带有实时图表的实时仪表板 - 累积威胁时间线 - 攻击类型分布图 - 端口活动分析 ## 演示 ## 网络监控: http://localhost:5173 API Health: http://localhost:5000/health 实时警报: http://localhost:5000/alerts 系统扫描: http://localhost:5000/scan PDF 报告: http://localhost:5000/report ## 技术栈 | 组件 | 技术 | |---|---| | 数据包捕获 | Scapy | | AI 模型 | Scikit-learn Random Forest | | 后端 API | Flask + Python | | 前端 | React + Recharts + Vite | | PDF 报告 | ReportLab | | 系统扫描 | psutil + winreg | | 邮件警报 | SMTP + Gmail | | 数据集 | NSL-KDD (125,973 个样本) | ## 支持的操作系统 | 操作系统 | 状态 | 备注 | |---|---|---| | Windows 10/11 | 完全支持 | 需要 Npcap | | Ubuntu/Kali Linux | 完全支持 | 使用 sudo | | macOS | 完全支持 | 使用 sudo | ## 安装说明 ### 前置条件 - Python 3.11+ - Node.js 18+ - Git - Npcap (仅限 Windows) ### 第 1 步 — 克隆仓库 ``` git clone https://github.com/YourUsername/nexus-threat-intelligence.git cd nexus-threat-intelligence ``` ### 第 2 步 — 安装 Npcap (仅限 Windows) 从 https://npcap.com 下载并勾选 WinPcap API-compatible Mode。 ### 第 3 步 — 配置 Python 环境 ``` # Windows python -m venv venv venv\Scripts\activate # Linux/macOS python3 -m venv venv source venv/bin/activate ``` ### 第 4 步 — 安装 Python 依赖项 ``` pip install scapy scikit-learn pandas numpy flask flask-cors joblib reportlab psutil pywin32 ``` ### 第 5 步 — 下载数据集 从 https://www.unb.ca/cic/datasets/nsl.html 下载 NSL-KDD 将 KDDTrain+.arff 和 KDDTest+.arff 放在 dataset/ 文件夹中。 ### 第 6 步 — 转换并训练 ``` python convert.py python backend/train_model.py ``` 预期输出:Accuracy: 100% ### 第 7 步 — 安装仪表板依赖项 ``` cd dashboard npm install npm install recharts axios cd .. ``` ### 第 8 步 — 配置邮件警报(可选) 打开 backend/Real_time.py 并填写: ``` SENDER_EMAIL = "your_gmail@gmail.com" SENDER_PASSWORD = "your_16_char_app_password" RECEIVER_EMAIL = "your_gmail@gmail.com" ``` 从 myaccount.google.com → Security → App Passwords 获取您的应用密码。 ## 使用说明 ### 启动系统 (Windows — 以管理员身份运行) 终端 1: ``` venv\Scripts\activate python backend/Real_time.py ``` 终端 2: ``` cd dashboard npm run dev ``` 在浏览器中打开 http://localhost:5173 ### 启动系统 (Linux/macOS) 终端 1: ``` source venv/bin/activate sudo python3 backend/Real_time.py ``` 终端 2: ``` cd dashboard npm run dev ``` ### API Endpoints | Endpoint | Method | Description | |---|---|---| | /health | GET | 检查 API 状态 | | /simulate | GET | 最新网络事件 | | /alerts | GET | 最近 50 条警报 | | /stats | GET | 网络统计信息 | | /report | GET | 下载 PDF 报告 | | /scan | GET | 系统扫描结果 | | /scan/run | POST | 触发手动扫描 | | /scan/kill/ | POST | 通过 PID 结束进程 | | /scan/quarantine | POST | 隔离文件 | | /scan/report | GET | 下载系统 PDF 报告 | ## 项目结构 nexus-threat-intelligence/ ## ├── backend/ │ ├── Real_time.py 主 API + 数据包捕获 + 扫描器 │ └── train_model.py AI 模型训练脚本 ├── dashboard/ │ └── src/ │ ├── App.jsx 主 React 仪表板 │ └── main.jsx 入口点 ├── convert.py ARFF 转 CSV 转换器 ├── requirements.txt Python 依赖项 └── README.md ## 工作原理 ## 实时网络流量 ↓ Scapy 数据包捕获 ↓ 特征提取 ↓ Random Forest AI 模型 (100% 准确率) ↓ 正常或攻击分类 ↓ Flask API 提供结果服务 ↓ React 仪表板显示实时警报 ↓ 生成邮件 + PDF 报告 ## 版本路线图 | 版本 | 状态 | 功能 | |---|---|---| | v1.0 | 当前版本 | 网络检测 + 恶意软件扫描器 + 仪表板 | | v2.0 | 计划中 | Deep learning 模型 + 威胁情报源 | | v3.0 | 计划中 | 多机监控 + 中央仪表板 | ## 作者 **Your Name** 网络安全爱好者 | Python 开发者 - LinkedIn: https://linkedin.com/in/yourprofile - GitHub: https://github.com/YourUsername - Email: your_email@gmail.com ## 许可证 MIT License — 可免费使用、修改和分发。
如果这个项目对您有帮助,请给它点个 Star!
标签:Apex, Python, React, Syscalls, 威胁情报, 开发者工具, 恶意软件扫描, 插件系统, 无后门, 机器学习, 网络安全, 逆向工具, 防御绕过, 隐私保护