yatharthmalviya999/cy-sentinel

GitHub: yatharthmalviya999/cy-sentinel

一个基于 XGBoost 与 SHAP 可解释性的钓鱼 URL 检测流水线,搭配 Flask API 和 Chrome 扩展实现实时防护。

Stars: 0 | Forks: 0

# 🛡️ CyberSentinel CyberSentinel 是一个完整的钓鱼检测流水线,包含机器学习后端(带有 SHAP 解释的 XGBoost 分类器)、Flask REST API,以及可实时扫描 URL 的 Chrome 浏览器扩展。 ## 🏗️ 架构 ``` ┌─────────────────┐ ┌─────────────────┐ │ Browser Extension│────▶│ Flask API │ │ (Chrome MV3) │◀────│ /predict │ └─────────────────┘ └────────┬────────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ URL │ │ WHOIS/ │ │ Web │ │ Analysis │ │ DNS │ │ Behavior │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────────────┼─────────────┘ ▼ ┌────────────────────┐ │ XGBoost Classifier│ │ + SHAP Explainer │ └────────┬───────────┘ ▼ ┌────────────────────┐ │ Risk Score (0-100)│ │ ✅ Safe │ ⚠ Warn │ 🚫 Block │ └────────────────────┘ ``` ## ✨ 功能特性 - **40+ URL 特征**:从 URL 结构中提取(无需网络连接) - **WHOIS/DNS 分析**:用于域名年龄和 DNS 记录验证 - **Web 行为分析**:检测虚假登录表单、重定向链、外部脚本 - **XGBoost 分类器**:在 2000+ 个 URL 上训练,准确率 >90% - **SHAP 解释**:为每个预测提供人类可读的解释原因 - **Chrome 扩展**:具有高级深色 UI、动画风险仪表盘和扫描历史记录 - **拦截页面**:带有“仍然继续”选项的全屏警告页面 ## 📁 项目结构 ``` CyberSentinel/ ├── data/ # Training data │ ├── generate_dataset.py # Synthetic dataset generator │ └── dataset.csv # Generated training data ├── features/ # Feature extraction │ ├── url_features.py # URL structural analysis (40+ features) │ ├── whois_features.py # WHOIS/DNS features │ ├── web_features.py # Webpage behavior analysis │ └── extract_all.py # Combined feature pipeline ├── model/ # ML model │ ├── train.py # XGBoost training script │ ├── model.pkl # Trained model │ ├── explainer.pkl # SHAP explainer │ └── metadata.json # Model metrics ├── api/ # REST API │ └── app.py # Flask server ├── extension/ # Chrome extension │ ├── manifest.json # Manifest V3 │ ├── background.js # Service worker │ ├── popup.html/css/js # Extension popup UI │ ├── blocked.html # Block warning page │ └── icons/ # Extension icons ├── requirements.txt # Python dependencies └── README.md ``` ## 🚀 快速开始 ### 1. 设置 Python 环境 ``` cd CyberSentinel python3 -m venv venv source venv/bin/activate # macOS/Linux pip install -r requirements.txt ``` ### 2. 生成数据集并训练模型 ``` python data/generate_dataset.py python model/train.py ``` 你将会看到类似如下的输出: ``` 🛡️ CyberSentinel — Model Training 📊 Loaded dataset: 2000 samples 🔍 Extracting features... 🚀 Training XGBoost classifier... 📊 Accuracy: 95.25% 🎉 Training complete! ``` ### 3. 启动 API 服务器 ``` python api/app.py ``` API 将在 `http://localhost:5000` 上可用。 ### 4. 测试 API ``` # 测试安全 URL curl -X POST http://localhost:5000/predict \ -H "Content-Type: application/json" \ -d '{"url": "https://www.google.com/search?q=test"}' # 测试可疑 URL curl -X POST http://localhost:5000/predict \ -H "Content-Type: application/json" \ -d '{"url": "http://192.168.1.1/login/verify/account"}' ``` ### 5. 安装 Chrome 扩展 1. 打开 Chrome → `chrome://extensions/` 2. 启用 **开发者模式**(右上角开关) 3. 点击 **加载已解压的扩展程序** 4. 选择 `extension/` 文件夹 5. CyberSentinel 的盾牌图标将出现在你的工具栏中! ## 🔌 API 接口 | Method | Endpoint | Description | |--------|-------------|--------------------------| | POST | `/predict` | 分析单个 URL | | POST | `/batch` | 分析多个 URL | | GET | `/health` | 健康检查 | ### 请求格式 ``` { "url": "https://example.com", "use_whois": false, "use_web": false } ``` ### 响应格式 ``` { "url": "https://example.com", "score": 12, "probability": 0.12, "label": "safe", "verdict": "safe", "reasons": [ {"text": "Uses HTTPS encryption", "impact": "safe", "strength": 0.45}, {"text": "Uses a common, trusted top-level domain", "impact": "safe", "strength": 0.32} ] } ``` ## 🧠 技术栈 | Component | Technology | |--------------------|-----------------------------------| | ML 模型 | XGBoost | | 可解释性 | SHAP (TreeExplainer) | | 后端 API | Flask + Flask-CORS | | 特征提取| URL 解析, python-whois, dnspython, BeautifulSoup | | 浏览器扩展 | Chrome Manifest V3 | | 数据处理 | pandas, scikit-learn, NumPy | ## 📊 模型性能 | Metric | Score | |-----------|--------| | 准确率 | ~95% | | 精确率 | ~94% | | 召回率 | ~96% | | F1 分数 | ~95% | ## 📝 许可证 MIT 许可证 — 可自由用于教育和作品集展示目的。
标签:AI安全, Apex, Chat Copilot, DNS分析, Flask, Go语言工具, JSONLines, MV3扩展, REST API, SHAP解释性, Sigma 规则, Splunk, URL特征提取, Web安全, WHOIS查询, XGBoost, 协议探测, 反钓鱼, 可解释AI, 域名分析, 威胁情报, 安全评分, 安全防护, 实时保护, 开发者工具, 恶意URL检测, 数据科学, 机器学习, 浏览器插件, 深度学习, 端点防护, 网络安全, 网络安全解决方案, 网络行为分析, 自定义脚本, 蓝队分析, 资源验证, 逆向工具, 钓鱼检测, 隐私保护, 零信任