Pranjal-1234/cyber-threat-intelligence-portal
GitHub: Pranjal-1234/cyber-threat-intelligence-portal
一个基于 React 与 Node.js 构建的网络威胁情报门户,提供威胁情报管理、自动化风险评分和可视化仪表盘功能。
Stars: 0 | Forks: 0
# 网络威胁情报 (CTI) 门户
一个为学生实习项目构建的完整、整洁且简单的 CTI 门户。
## 技术栈
- **前端:** React.js, Bootstrap, Chart.js, Lucide-React
- **后端:** Node.js, Express.js, JWT
- **数据库:** MySQL
## 功能
- 使用 JWT 的用户身份验证(注册/登录)
- 基于角色的访问控制(Admin/User)
- 威胁情报管理(添加/查看/删除)
- 自动化风险评分逻辑
- 带有威胁统计信息的交互式 Dashboard
## 安装说明
### 1. 数据库配置
- 打开你的 MySQL 终端或 phpMyAdmin。
- 运行 `database.sql` 中的 SQL 命令来创建数据库和表。
- 默认情况下,它需要一个名为 `cyber_threat_db` 的数据库,使用 `root` 用户且无密码。
### 2. 后端配置
- 在 `backend/` 目录中打开一个终端。
- 运行 `npm install` 安装依赖项。
- 如果你的 MySQL 凭据不同,请更新 `.env` 文件。
- 运行 `npm run dev` 在端口 5000 上启动后端服务器。
### 3. 前端配置
- 在 `frontend/` 目录中打开一个新终端。
- 运行 `npm install` 安装依赖项。
- 运行 `npm start` 启动 React 应用程序。
- 该应用程序将在 `http://localhost:3000` 上可用。
## 使用说明
1. 注册一个新用户(如果你想测试删除功能,请选择“Admin”角色)。
2. 使用你的凭据登录。
3. 转到 **Threat Intelligence** 页面报告新威胁。
4. 尝试添加包含“malicious”或“phishing”等关键字的威胁,以查看自动化风险评分的实际效果。
5. 查看 **Dashboard** 获取可视化统计信息。
## 风险评分逻辑
- **高:** 如果威胁值包含关键字 `malicious`。
- **中:** 如果威胁值包含关键字 `phishing`。
- **低:** 针对所有其他威胁。
标签:GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 威胁情报, 安全运营, 开发者工具, 扫描框架, 自定义脚本, 风险评分