Anasnaveed69/THREXIA

GitHub: Anasnaveed69/THREXIA

一款基于 AI 的内部威胁情报平台,通过自动化检测与可视化仪表板解决日志分析耗时易错的问题。

Stars: 1 | Forks: 0

# THREXIA ### 基于AI的内部威胁检测与安全仪表板 *在危机发生前发现人类忽视的问题。* [![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/) [![scikit-learn](https://img.shields.io/badge/scikit--learn-1.x-F7931E?style=flat-square&logo=scikit-learn&logoColor=white)](https://scikit-learn.org/) [![Pandas](https://img.shields.io/badge/Pandas-2.x-150458?style=flat-square&logo=pandas&logoColor=white)](https://pandas.pydata.org/) [![Jupyter](https://img.shields.io/badge/Jupyter-Notebook-F37626?style=flat-square&logo=jupyter&logoColor=white)](https://jupyter.org/) [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE) [![University](https://img.shields.io/badge/FAST--NU-Lahore-00558C?style=flat-square)](https://nu.edu.pk/) ## 📌 目录 - [概述](#-overview) - [问题陈述](#-problem-statement) - [关键特性](#-key-features) - [系统架构](#-system-architecture) - [技术栈](#-tech-stack) - [数据集](#-datasets) - [机器学习模型与结果](#-ml-models--results) - [功能需求](#-functional-requirements) - [用户角色](#-user-roles) - [项目结构](#-project-structure) - [快速开始](#-getting-started) - [部署](#-deployment) - [团队](#-team) - [致谢](#-acknowledgements) ## 🔍 概述 **THREXIA** 是一个端到端的人工智能威胁情报平台,旨在检测内部威胁和组织系统日志中的异常用户行为。它结合了基于机器学习的异常检测与直观的基于角色的Web仪表板,使网络安全分析对资深分析师和非技术利益相关者都易于使用。 系统摄取原始活动日志(登录事件、文件访问、设备使用、网页活动和电子邮件记录),自动预处理它们,并运行训练好的异常检测模型以实时显示可疑模式。 ## ❗ 问题陈述 现代组织每天都会从用户活动生成大量系统日志——登录、文件传输、设备连接、浏览和电子邮件。手动审查这些日志以识别内部威胁: - ⏳ **对安全分析师来说极其耗时** - 🧩 **由于数据规模和复杂性,容易出错** - 📉 **由于企业SIEM/UEBA工具的学习曲线陡峭,学生和小型组织难以使用** THREXIA通过自动化检测管道并通过清晰、可解释的界面展示结果,填补了这一空白——无需深入的网络安全专业知识即可操作。 ## ✨ 关键特性 | 特性 | 描述 | |---|---| | 🔐 **安全认证** | 基于JWT的登录,3次失败尝试后账户锁定 | | 👥 **基于角色的访问控制** | 管理员、分析师和管理角色拥有独立仪表板和权限 | | 📁 **日志文件上传** | 以**CSV**或**JSON**格式上传系统日志以进行自动分析 | | ⚙️ **自动预处理** | 自动清理、标准化和特征工程原始日志数据 | | 🤖 **AI威胁检测** | 孤立森林和One-Class SVM检测行为偏差 | | 🎯 **风险评分** | 每个检测到的异常都分配一个数值风险严重性评分 | | 🔔 **实时警报** | 对高风险威胁在分析师仪表板上即时通知 | | 📊 **交互式仪表板** | 实时和历史数据的视觉图表、时间线和热力图 | | 🧠 **可解释AI** | 人类可读的威胁摘要,包含置信度评分和推荐操作 | | 📄 **报告导出** | 以**PDF**或**CSV**格式下载详细威胁分析报告 | | 📱 **响应式UI** | 完全适应桌面、平板和移动设备 | ## 🏗️ 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ THREXIA System │ ├─────────────────────────────────────────────────────────────┤ │ │ │ [ User / Analyst ] │ │ │ │ │ ▼ │ │ ┌─────────────┐ Upload ┌──────────────────────┐ │ │ │ Web UI / │──────────────▶│ Log Ingestion & │ │ │ │ Dashboard │ │ Validation Layer │ │ │ └─────────────┘ └──────────┬───────────┘ │ │ ▲ │ │ │ │ ▼ │ │ ┌──────┴──────┐ ┌──────────────────────┐ │ │ │ Alerts & │◀──────────────│ Preprocessing │ │ │ │ Reports │ │ Pipeline │ │ │ └─────────────┘ │ (Clean → Normalize │ │ │ │ → Feature Extract) │ │ │ └──────────┬───────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────────────┐ │ │ │ ML Anomaly Detection │ │ │ │ ┌──────────────────┐ │ │ │ │ │ Isolation Forest │ │ │ │ │ └──────────────────┘ │ │ │ │ ┌──────────────────┐ │ │ │ │ │ One-Class SVM │ │ │ │ │ └──────────────────┘ │ │ │ └──────────┬───────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────────────┐ │ │ │ Risk Scoring & │ │ │ │ Threat Storage (DB) │ │ │ └──────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 🛠️ 技术栈 ### 后端与部署 | 工具 | 用途 | |---|---| | `Python 3.9+` | 核心编程语言 | | `FastAPI` | 用于提供机器学习预测的高性能REST API | | `Uvicorn` | 生产级部署的ASGI服务器 | ### 前端与UI | 技术 | 用途 | |---|---| | `React 19` | 智能仪表板的现代UI库 | | `Vite 8` | 快速开发的下一代前端工具 | | `Tailwind CSS` | 具有复杂玻璃形态效果的实用优先样式 | | `Framer Motion` | 高级微动画和流畅过渡 | | `Recharts` | 系统活动统计的动态数据可视化 | | `Lucide Icons` | 一致且专业的图标 | ## 📦 数据集 THREXIA在两个内部威胁数据集上进行了训练和评估: ### 1. 🏢 企业环境内部威胁数据集(用于部署) 模拟企业系统中内部威胁行为的员工活动记录结构化的日志——登录事件、文件操作、系统使用模式等。 **选择此数据集的原因:** 经过比较评估,该数据集在准确率、精确率、召回率和F1分数方面优于CERT数据集。 ### 2. 🔬 CERT内部威胁测试数据集(研究参考) 由卡内基梅隆大学的CERT部门创建,包含标记的模拟日志,包括: | 文件 | 内容 | |---|---| | `logon.csv` | 登录和登出活动 | | `device.csv` | 设备连接事件 | | `http.csv` | 网页浏览活动 | | `email.csv` | 电子邮件通信日志 | | `file.csv` | 文件访问和传输记录 | ## 🤖 机器学习模型与结果 在两个**分层80/20训练/测试分割**和5折交叉验证上训练并评估了两个无监督异常检测模型。 ### 性能评分卡(保留测试集) | 指标 | 孤立森林 | One-Class SVM | |---|:---:|:---:| | **准确率** | 92.07% | **93.62%** ✅ | | **精确率** | 25.65% | **40.30%** ✅ | | **召回率** | 24.90% | **38.37%** ✅ | | **F1分数** | 25.27% | **39.31%** ✅ | | **ROC-AUC** | **78.70%** ✅ | 72.50% | ### 模型超参数 **孤立森林** ``` IsolationForest( n_estimators=200, contamination=CONTAMINATION, # matched to dataset's actual anomaly fraction max_samples="auto", random_state=42, n_jobs=-1 ) ``` **One-Class SVM** ``` OneClassSVM( kernel="rbf", nu=CONTAMINATION, # upper bound on outlier fraction gamma="scale" ) ``` ### 保存的工件 训练后,以下文件会被持久化并由FastAPI后端使用: ``` backend/models/ ├── threxia_model.joblib # Best trained model (One-Class SVM) └── threxia_scaler.joblib # Fitted StandardScaler for data normalization ``` ## 📋 功能需求
点击展开全部10个功能需求 1. **用户注册** — 管理员可以为分析师和人员创建账户 2. **用户认证** — 带有会话令牌的secure登录;3次失败尝试后锁定 3. **基于角色的访问控制** — 按用户角色限制模块访问;直接URL访问被阻止 4. **日志文件上传** — 支持CSV和JSON格式,带大小和格式验证 5. **日志预处理** — 自动管道:去重 → 去除空值 → 标准化 → 特征提取 6. **基于AI的威胁检测** — ML模型识别与既定行为基线的偏差 7. **风险评分生成** — 每个检测到的异常接收一个数值严重性评分 8. **威胁警报通知** — 实时仪表板警报高危检测 9. **仪表板可视化** — 实时和历史分析的交互式图表和图形 10. **报告生成** — 以PDF和CSV格式导出的可威胁分析报告
## 👤 用户角色 ``` ┌─────────────────────┬──────────────────────────────────────────────────────┐ │ Role │ Capabilities │ ├─────────────────────┼──────────────────────────────────────────────────────┤ │ 🔑 Administrator │ Full system access, user management, log uploads, │ │ │ system configuration, all reports │ ├─────────────────────┼──────────────────────────────────────────────────────┤ │ 🔍 Security Analyst │ View alerts, investigate anomalies, generate reports,│ │ │ access threat detail panels │ ├─────────────────────┼──────────────────────────────────────────────────────┤ │ 📈 IT Manager / │ View summarized dashboards, risk-level overviews, │ │ Supervisor │ read-only threat reports for decision-making │ ├─────────────────────┼──────────────────────────────────────────────────────┤ │ 🎓 Student / │ Interact with simulated log data, explore detection │ │ Researcher │ concepts in a sandboxed academic environment │ └─────────────────────┴──────────────────────────────────────────────────────┘ ``` ## 📁 项目结构 ``` THREXIA/ │ ├── 📓 BCS-D-17_THREXIA.ipynb # Main ML research and model training │ ├── 📂 backend/ # FastAPI Prediction Engine │ ├── main.py # API endpoints & log simulation │ ├── models/ # Production model artifacts │ │ ├── threxia_model.joblib │ │ └── threxia_scaler.joblib │ └── requirements.txt # Backend dependencies │ ├── 📂 frontend/ # React + Vite Intelligence Dashboard │ ├── index.html # App entry point │ ├── src/ # React components & pages │ ├── public/ # Static assets (logo, icons) │ └── package.json # Frontend dependencies │ ├── 📂 machine_learning/ # Research & Notebooks │ ├── 📂 docs_and_design/ # Project documentation & design assets │ ├── SRS.docx # Software Requirements Specification │ ├── SE_Proposal.pdf # HCI Project Proposal │ └── Threxia project Proposal.pdf # AI Project Proposal │ └── README.md ``` ## 🚀 快速开始 ### 先决条件 - Python 3.9 或更高版本 - pip 包管理器 - Kaggle 账户(用于数据集下载) ### 1. 克隆仓库 ``` git clone https://github.com/Anasnaveed69/THREXIA.git cd THREXIA ``` ### 2. 安装依赖 ``` pip install pandas numpy scikit-learn matplotlib seaborn joblib imbalanced-learn kagglehub ``` 或者一次性安装所有依赖: ``` pip install -r requirements.txt ``` ### 3. 配置 Kaggle API ``` # 将您的 kaggle.json 凭据放在: ~/.kaggle/kaggle.json # 或者在笔记本中通过 kagglehub 进行身份验证: import kagglehub kagglehub.login() ``` ### 4. 运行项目 #### 启动后端 #### 启动前端 ``` cd frontend npm install npm run dev ``` ## 🌐 部署 训练好的模型工件由 **FastAPI** 后端使用。 **计划中的未来扩展:** - 通过 WebSockets 实时日志流 - 与实时企业环境集成 - 高级深度学习模型(自编码器、LSTM) - SIEM/UEBA 平台集成钩子 ## 👨‍💻 团队 **BCS-6D | 计算机科学系** **FAST-NU, 拉合尔, 巴基斯坦** | 姓名 | 学号 | |---|---| | Anas Naveed Butt | 23L-0764 | | Muhammad Usman Saboor | 23L-0813 | | Ibrahim Rashid | 23L-0741 | | Mohib Ali Khattak | 23L-0763 | ## 🙏 致谢 - **卡内基梅隆大学CERT部门** — 提供CERT内部威胁测试数据集 - **Ahmed Uzaki (Kaggle)** — 提供企业内部威胁数据集 - **FAST-NU, 拉合尔** — 计算机科学系,提供学术指导和支持 - 课程讲师:教授**人工智能**、**软件工程**和**人机交互**
**THREXIA** — *将原始日志转化为可操作的智能。* 在 FAST-NU 拉合尔用心制作 · 2025–2026
标签:AI安全, Anomaly Detection, Apex, Chat Copilot, Cybersecurity AI, DInvoke, FAST-NU Lahore, Insider Threat Detection, Jupyter, Log Ingestion, MIT License, ML Model, Python, Role-Based Access, scikit-learn, Security Dashboard, 内鬼威胁, 大学研究, 威胁情报, 安全仪表盘, 开发者工具, 异常检测, 数据预处理, 无后门, 时间线生成, 机器学习, 端到端平台, 组织安全, 角色权限, 逆向工具