rishik1072/AI-threat-intel-platform

GitHub: rishik1072/AI-threat-intel-platform

集成多种机器学习模型与威胁情报API的钓鱼检测平台,提供实时分析、可解释风险评分和可视化仪表板。

Stars: 0 | Forks: 0

# AI 威胁情报与钓鱼检测平台 集成了集成 AI、可解释性、威胁情报、实时 UX 和以分析师为中心的工作流的现代钓鱼检测平台。 ## 核心亮点 - 通过 **URL**、**域名** 和 **邮件文本** 检测钓鱼行为 - 输出: - 预测结果:`phishing | safe` - 置信度分数 - 风险等级:`low | medium | high` - 威胁分数:`0..100` - 集成检测: - 使用 Random Forest 处理结构性 URL/域名信号 - NLP 分类器(默认为 TF-IDF,可选 DistilBERT embedding 后端) - 可解释 AI: - 主要原因 - 可疑文本高亮 - URL 特征重要性提示 - 可视化威胁分数因子分解 - 实时威胁情报集成: - VirusTotal - Google Safe Browsing - 带有缓存的响应,在缺少 API key 时优雅降级为模拟情报 - 现代毛玻璃效果 (glassmorphism) 仪表板: - 扫描、历史记录、分析页面 - 深色/浅色主题切换 - 实时防抖动 (debounced) 实时扫描 - 细腻的粒子与微交互打磨 - 内置分析师助手聊天机器人,提供自然语言解释 ## 技术栈 - **后端**:Flask, SQLAlchemy, Flask-Limiter - **机器学习**:scikit-learn (RF + LR),可选 `transformers` + `torch` - **数据库**:SQLite - **前端**:HTML/CSS/JS + Chart.js - **导出**:JSON 和 PDF 报告 ## 项目结构 - `app.py` - 应用入口 + 应用工厂 + 数据库初始化 - `api/` - REST 路由 (`/scan`, `/job`, `/history`, `/export`, `/chat`) - `model/` - 训练包、集成逻辑、可解释性、可选 DistilBERT embeddings - `utils/` - 扫描器编排、威胁情报提供商、验证、异步任务、聊天机器人 - `database/` - SQLAlchemy 模型和数据库对象 - `templates/` - Jinja 页面 - `static/` - CSS/JS 资产 ## 安装说明 ``` cd "/media/reven-8827/System Files/MY PROJECTS/ai_threat_intel_platform" python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt python app.py ``` 打开:[http://127.0.0.1:5000](http://127.0.0.1:5000) ## 环境变量 ### 核心配置 - `HOST` (默认 `127.0.0.1`) - `PORT` (默认 `5000`) - `FLASK_DEBUG` (默认 `1`) - `DATABASE_URL` (默认 `sqlite:///scans.db`) ### 威胁情报 - `VT_API_KEY` - VirusTotal API key - `GSB_API_KEY` - Google Safe Browsing API key 如果未提供,系统将回退为确定性的模拟情报。 ### NLP 后端 - `ENABLE_DISTILBERT=1` 以启用 DistilBERT embedding 分类器 - `DISTILBERT_MODEL_NAME` (默认 `distilbert-base-uncased`) 如果 DistilBERT 依赖项/模型不可用,将自动回退为 TF-IDF NLP。 ## API 参考 ### `POST /api/scan` 请求: ``` { "input": "http://example.com/login", "input_type": "auto", "heavy": false } ``` 响应包含: - `prediction`, `confidence`, `risk_level`, `threat_score` - `reasons`, `highlights` - `threat_intel` - `score_breakdown` ### `GET /api/job/` 检查异步深度扫描任务状态并获取已完成的结果。 ### `GET /api/history` 筛选器: - `query` - `risk` - `prediction` - `limit`, `offset` ### `GET /api/export/?format=json|pdf` 导出扫描结果。 ### `POST /api/chat` 使用扫描结果推理的自然语言解释助手: ``` { "scan_id": 123, "message": "Why is this phishing?" } ``` ## 截图 ![扫描页面](https://raw.githubusercontent.com/rishik1072/AI-threat-intel-platform/main/screenshots/scan-page.png) ![历史记录页面](https://raw.githubusercontent.com/rishik1072/AI-threat-intel-platform/main/screenshots/history-page.png) ![分析页面](https://raw.githubusercontent.com/rishik1072/AI-threat-intel-platform/main/screenshots/analytics-page.png) ![聊天助手](https://raw.githubusercontent.com/rishik1072/AI-threat-intel-platform/main/screenshots/chat-assistant.png) ## 测试与验证 推荐检查项: ``` python3 -m py_compile app.py api/routes.py utils/*.py model/*.py database/*.py node -c static/app.js ``` 手动冒烟测试: - 扫描 URL/域名/邮件 - 确认实时输入扫描更新 - 确认威胁情报提供商面板 - 确认聊天机器人回复 - 确认历史记录 + 分析 + 导出 ## 安全说明 - 服务端强制执行输入验证和类型标准化。 - 已启用基本的速率限制。 - 通过 `logs/app.log` 中的轮转文件日志启用日志记录。 - 对于生产环境,请设置强 `SECRET_KEY`,禁用调试,并使用反向代理进行前端部署。 - 我们可以设置 secret key -
标签:AI安全, Apex, Chat Copilot, Flask, Python, 凭据扫描, 威胁情报, 开发者工具, 无后门, 机器学习, 逆向工具, 钓鱼检测