Mugesh-kanna43/CyberTwin
GitHub: Mugesh-kanna43/CyberTwin
Cyber Twin 是一个 AI 驱动的个人网络安全意识与防护平台,帮助用户实时检测钓鱼链接、恶意二维码和欺诈邮件,并通过可解释 AI 和健康评分提升安全素养。
Stars: 0 | Forks: 0
# 🛡️ Cyber Twin — AI 数字身份伴侣与安全平台
**Cyber Twin** 是一个由 AI 驱动的数字身份伴侣和网络安全意识平台,旨在保护用户免受网络钓鱼、二维码诈骗、电子邮件欺诈和身份泄露的侵害,同时通过**可解释 AI (XAI)** 清晰地解释威胁因素。
## 🌟 核心功能
1. **URL / 钓鱼链接分析器(可解释 AI)**
- 提取 10 项启发式和算法特征:品牌同形字视觉相似度(基于 Levenshtein 距离与排名前 100 的品牌域名比对)、域名年龄、IP 主机检测、可疑顶级域名 (TLD)、紧急关键词密度、误导性 HTTPS token 以及 SSL 证书有效性。
- 使用训练好的 **Scikit-Learn RandomForest Classifier** 模型 (`model.joblib`) 评估链接。
- **XAI 细分报告**:透明地输出排名前 3-5 的贡献风险信号,并附带进度条(+X 风险点)和通俗英文解释。
- 可选与 Google Safe Browsing API 进行交叉验证。
2. **防二维码诈骗(Quishing)扫描器**
- 支持拖拽图片上传或通过浏览器网络摄像头实时拍照。
- 使用 OpenCV 和 Pillow 解码二维码 payload,并将提取的 URL 导入钓鱼链接分析器。
3. **电子邮件与信头分析器**
- 解析原始电子邮件文本和信头,检测**发件人显示名欺诈**(例如发件人为 `@mail-server99.xyz` 却显示为 `PayPal Support`)。
- 检查 **SPF / DKIM / DMARC** 信头验证状态(`pass`/`fail`)。
- 检测社会工程学恐慌话术,并扫描内嵌超链接。
4. **个人网络健康评分**
- 包含 5 个要点的交互式安全审计问卷(密码管理、2FA 覆盖率、操作系统自动更新、防病毒状态)。
- 集成 **HaveIBeenPwned API** 以检测已泄露的电子邮件数据。
- 计算综合的 **0-100 网络健康评分**,并包含 4 个子类别指标(密码管理、泄露风险、设备安全、安全意识)。
- 使用 **Recharts** 可视化评分历史和趋势。
5. **AI Cyber Twin 助手(聊天机器人)**
- 在控制面板中提供常驻的伴侣聊天机器人。
- 连接至 **Gemini API** 或 **Anthropic API**(在缺少 API 密钥时,智能回退至本地安全机器人)。
- **上下文感知**:系统提示词会在每次对话中注入用户当前的网络健康评分和近期的威胁标记。
## 🤖 透明度报告:机器学习与启发式算法对比
为了学术和黑客马拉松评估的透明度:
| 功能组件 | 使用技术 | 真正的 ML / AI 还是基于规则的启发式算法 |
|---|---|---|
| **钓鱼链接评分** | 在 Kaggle/UCI 钓鱼特征集上训练的 Scikit-Learn `RandomForestClassifier` | **真正的 ML 模型** (`backend/model.joblib`) |
| **同形字品牌欺诈** | 基于排名前 100 品牌域名的 Levenshtein 距离比率 | **算法特征提取器** |
| **可解释 AI (XAI)** | 特征贡献权重分解(+X 风险点) | **可解释 AI 引擎** |
| **二维码解码** | OpenCV `QRCodeDetector` 和 Pillow | **计算机视觉库** |
| **电子邮件信头审计** | Python `email.parser` + Regex 信头匹配器 | **基于规则的解析器** |
| **网络健康算法** | 跨 4 个安全维度的加权评分公式 | **数学评分模型** |
| **Cyber Twin 聊天机器人** | Gemini / Anthropic API(或本地回退规则引擎机器人) | **LLM 集成**(+ 回退机器人) |
## 🚀 快速入门指南
### 前置条件
- Python 3.10+
- Node.js v18+ & npm
### 步骤 1:后端设置 (FastAPI)
```
# 导航到 backend 目录
cd backend
# 安装 Python 依赖
pip install -r requirements.txt
# 训练 Scikit-Learn ML Model
python train_model.py
# 使用演示账户和扫描历史记录填充 SQLite 数据库
python seed_db.py
# 启动 FastAPI backend 服务器
uvicorn app.main:app --reload --port 8000
```
*后端 API 将在 `http://localhost:8000` 运行。API Swagger 文档可在 `http://localhost:8000/docs` 获取。*
### 步骤 2:前端设置 (React + Vite)
```
# 1. 导航到 frontend 目录
cd frontend
# 2. 安装 npm 依赖
npm install
# 3. 启动 Vite dev server
npm run dev
```
*前端将在 `http://localhost:3000`(或 `http://localhost:5173`)运行。*
## 🔑 演示用户凭据
数据库预装了示例用户账户和历史扫描记录,方便进行即时实时测试:
| 角色 | 邮箱 | 密码 | 预加载数据 |
|---|---|---|---|
| **演示用户** | `demo@cybertwin.ai` | `Password123!` | 5 条预扫描的链接/邮件 + 30 天健康趋势 |
| **管理员账户** | `admin@cybertwin.ai` | `AdminSecret123!` | 全新的初始状态 |
*注意:登录页面包含便捷的**一键演示访问**按钮。*
## 🔑 环境变量配置
在 `/backend` 文件夹中创建一个 `.env` 文件(或从 `.env.example` 复制):
```
SECRET_KEY=super-secret-cyber-twin-jwt-key-2026-secure
# 可选的 3rd-Party API Keys(如果省略,系统会优雅降级)
GEMINI_API_KEY=
ANTHROPIC_API_KEY=
SAFE_BROWSING_API_KEY=
HIBP_API_KEY=
```
## 📁 项目结构
```
Cyber Twin App/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI entrypoint & CORS configuration
│ │ ├── config.py # Environment settings & API keys
│ │ ├── database.py # SQLite engine & Session Local
│ │ ├── models.py # SQLAlchemy DB models (User, ScanHistory, HealthScoreHistory)
│ │ ├── schemas.py # Pydantic schemas
│ │ ├── auth.py # JWT auth & PBKDF2 password hashing
│ │ ├── services/
│ │ │ ├── url_analyzer.py # 10-feature extraction, ML inference & XAI engine
│ │ │ ├── qr_scanner.py # OpenCV QR image decoding
│ │ │ ├── email_analyzer.py # Header parsing, SPF/DKIM check, urgency detector
│ │ │ ├── health_score.py # Cyber Health algorithm & HIBP integration
│ │ │ └── ai_assistant.py # Cyber Twin LLM chatbot service with local fallback
│ │ └── routers/ # API endpoint routers
│ ├── train_model.py # Trains & exports Scikit-Learn model to model.joblib
│ ├── seed_db.py # Seeds demo accounts & historical scan logs
│ ├── requirements.txt # Backend dependencies
│ └── cybertwin.db # SQLite database file
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI components (HealthGauge, RiskBadge, ExplainabilityCard, QuickScanBox, ChatWidget, TrendChart, Navbar, Sidebar)
│ │ ├── pages/ # Main application pages (Dashboard, UrlAnalyzer, QrScanner, EmailAnalyzer, CyberHealth, Login, Register)
│ │ ├── context/ # AuthContext and ThemeContext (Dark Mode)
│ │ ├── services/ # Axios API client setup
│ │ ├── App.jsx # Router setup & layout wrapper
│ │ └── index.css # Cyber Dark design system CSS
│ ├── package.json
│ └── vite.config.js
└── docs/
└── architecture.md # System architecture document with Mermaid diagrams
```
标签:AI安全, Chat Copilot, Go语言工具, Scikit-Learn, 二维码安全, 威胁情报, 开发者工具, 自定义脚本, 逆向工具, 邮件安全, 钓鱼检测