BhargavaKrishna97/CyberCore
GitHub: BhargavaKrishna97/CyberCore
CyberCore 是一个AI驱动的网络安全平台,整合漏洞评估、威胁检测和事件响应功能以简化安全运维。
Stars: 0 | Forks: 0
# CyberCore — AI驱动的网络威胁情报平台
基于Kali Linux使用CEH工具构建的实时勒索软件检测与网络威胁情报平台。
## 🧱 技术栈
| 层级 | 技术 |
|------------|-------------------------------------------|
| 后端 | Flask, SQLAlchemy, Flask-JWT-Extended |
| 数据库 | PostgreSQL |
| 前端 | React + Vite + Tailwind CSS |
| 安全 | Nmap, YARA, VirusTotal API, AbuseIPDB API, Watchdog |
| 开发操作系统 | Kali Linux |
## 📁 项目结构
```
CyberCore/
├── backend/
│ ├── app.py # App factory using create_app() pattern
│ ├── extensions.py # Shared db and jwt instances (avoids circular imports)
│ ├── config.py # Flask config — DB URI, JWT secret, API keys
│ ├── requirements.txt # Python dependencies
│ ├── .env # Environment variables (never commit this)
│ ├── .env.example # Template for .env
│ │
│ ├── models/
│ │ ├── scan_result.py # Stores Nmap scan results
│ │ ├── threat.py # Threat intelligence records
│ │ └── alert.py # Ransomware/monitor alerts
│ │
│ ├── routes/
│ │ ├── scan_routes.py # Nmap port scanning endpoints
│ │ ├── yara_routes.py # YARA rule-based file scanning
│ │ ├── virustotal_routes.py# VirusTotal hash/file check
│ │ ├── abuseipdb_routes.py # AbuseIPDB IP reputation check
│ │ └── monitor_routes.py # Real-time ransomware file monitor
│ │
│ └── yara_rules/ # Custom .yar YARA rule files
│
├── frontend/ # React + Vite frontend (WIP)
├── .gitignore
└── README.md
```
## ⚙️ 后端设置(Kali Linux)
```
# 1. 克隆仓库
git clone https://github.com/BhargavaKrishna97/CyberCore.git
cd CyberCore/backend
# 2. 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
# 3. 安装依赖项
pip install -r requirements.txt
# 4. 设置环境变量
cp .env.example .env
nano .env # fill in DB password, JWT secret, API keys
# 5. 运行后端
python app.py
```
后端运行于:`http://localhost:5000`
## 🔑 环境变量(`.env`)
```
DATABASE_URL=postgresql://postgres:@localhost/cybercore
JWT_SECRET_KEY=your_jwt_secret
VIRUSTOTAL_API_KEY=your_vt_key
ABUSEIPDB_API_KEY=your_abuse_key
```
## 🌐 API 端点
### 扫描(Nmap)
| 方法 | 端点 | 描述 |
|------|---------------------|--------------------------|
| POST | `/api/scan/` | 运行Nmap端口扫描 |
| GET | `/api/scan/history` | 获取扫描历史记录 |
### 6. YARA 扫描
| 方法 | 端点 | 描述 |
|------|--------------------------|------------------------------|
| POST | `/api/yara/scan-file` | 通过路径对文件进行YARA扫描 |
| POST | `/api/yara/scan-upload` | 对上传的文件进行YARA扫描 |
### 7. VirusTotal 分析
| 方法 | 端点 | 描述 |
|------|------------------------------|--------------------------|
| POST | `/api/virustotal/check-hash` | 检查SHA256哈希值 |
| POST | `/api/virustotal/upload` | 上传文件进行分析 |
### 8. AbuseIPDB 查询
| 方法 | 端点 | 描述 |
|------|------------------------------|--------------------------|
| POST | `/api/abuseipdb/check-ip` | 检查单个IP信誉 |
| POST | `/api/abuseipdb/check-block` | 检查CIDR地址块 |
| GET | `/api/abuseipdb/threats` | 列出存储的威胁 |
### 监控(勒索软件检测)
| 方法 | 端点 | 描述 |
|------|-------------------------------------|------------------------------|
| POST | `/api/monitor/start` | 启动文件系统监控 |
| POST | `/api/monitor/stop` | 停止监控 |
| GET | `/api/monitor/alerts` | 列出所有警报 |
| POST | `/api/monitor/alerts//resolve` | 解决一个警报 |
## 🔧 关键修复 — 循环导入解决方案
**问题:** 所有路由文件都执行 `from app import db`,这导致Python在 `app.py` 加载完成前就尝试导入它——形成循环导入循环。
**解决方案:** 创建了 `extensions.py` 作为中立模块,持有 `db` 和 `jwt`。`app.py` 和路由都不互相导入——两者都从 `extensions.py` 导入。
```
Before (broken):
app.py → imports routes → routes import app.py ❌ circular
After (fixed):
extensions.py (db, jwt — no project imports)
↑ ↑
app.py routes/*.py ✅ no circular dependency
```
**`extensions.py`**
```
from flask_sqlalchemy import SQLAlchemy
from flask_jwt_extended import JWTManager
db = SQLAlchemy()
jwt = JWTManager()
```
**`app.py`** 使用 `create_app()` 工厂模式,并在其中注册所有蓝图,仅在 `db` 和 `jwt` 初始化后才导入它们。
## 🚀 Git 和 GitHub(Kali Linux)
```
# 9. 首次推送设置
git remote set-url origin https://:@github.com/BhargavaKrishna97/CyberCore.git
git config --global credential.helper store
# 10. 暂存并推送更改
git add backend/
git commit -m "your message here"
git push origin main
```
## 👥 团队
| 成员 | 角色 |
|---------------------|-------------------------------------|
| BhargavaKrishna97 | 后端 + 安全工具(Flask) |
| nrevathi17 | 前端 + 仪表板(React/Vite) |
## 📌 状态
- [x] Flask后端在Kali Linux上运行
- [x] PostgreSQL + SQLAlchemy 模型
- [x] Nmap, YARA, VirusTotal, AbuseIPDB 路由
- [x] 实时勒索软件文件监控
- [x] 通过 `extensions.py` 修复循环导入
- [ ] JWT 认证
- [ ] React 前端集成
- [ ] 部署
标签:CTI, 测试用例