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, 测试用例