mohitpoonia22/Threat-Intelligence

GitHub: mohitpoonia22/Threat-Intelligence

一个轻量级 AI 驱动威胁情报仪表板,自动聚合多个公开源的 IOC 数据并通过机器学习异常检测进行评分和可视化展示。

Stars: 0 | Forks: 0

# AI 驱动的威胁情报仪表板 一个全栈 Web 应用程序,从公共威胁信息源收集数据,使用 ML 异常检测模型对指标进行评分,并通过交互式仪表板展示具有可操作性的洞察。 ## 架构 ``` ┌─────────────────────────────────────────────────────┐ │ React Frontend │ │ StatCards · PieCharts · IndicatorTable · Lookup │ └──────────────────────┬──────────────────────────────┘ │ HTTP (Vite proxy) ┌──────────────────────▼──────────────────────────────┐ │ FastAPI Backend │ │ /api/threats/ · /api/threats/stats │ │ /api/threats/lookup/{indicator} │ │ /api/threats/train (POST) │ │ │ │ │ APScheduler → fetcher.py (every N minutes) │ │ IsolationForest model (scikit-learn) │ └──────────────────────┬──────────────────────────────┘ │ SQLAlchemy ORM ┌──────────────────────▼──────────────────────────────┐ │ SQLite / PostgreSQL Database │ │ threat_indicators table │ └─────────────────────────────────────────────────────┘ ``` ## 技术栈 | 层级 | 技术 | |----------|------------------------------------| | 后端 | Python 3.11+, FastAPI, SQLAlchemy | | 数据库 | SQLite (开发) / PostgreSQL (生产) | | ML | scikit-learn (Isolation Forest) | | 前端 | React 18, Chart.js, Vite | | 信息源 | AbuseIPDB, AlienVault OTX, VirusTotal | ## 快速开始 ### 1. 后端 ``` cd backend python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt copy .env.example .env # then add your API keys python seed_demo_data.py # optional: seed 250 demo rows uvicorn app.main:app --reload ``` API 文档可通过 **http://localhost:8000/docs** 访问 ### 2. 前端 ``` cd frontend npm install npm run dev ``` 仪表板可通过 **http://localhost:5173** 访问 ## API 密钥(均为免费套餐) | 服务 | 注册地址 | 所需密钥用途 | |--------------|-------------------------------------|--------------------------| | AbuseIPDB | https://www.abuseipdb.com/register | IP 黑名单与检查 | | AlienVault OTX | https://otx.alienvault.com | 基于 Pulse 的 IOC | | VirusTotal | https://www.virustotal.com/gui/join | 按需查询 | 将密钥添加到 `backend/.env` 中: ``` ABUSEIPDB_API_KEY=... OTX_API_KEY=... VIRUSTOTAL_API_KEY=... ``` ## ML 模型 异常检测 Pipeline 使用了 scikit-learn 的 **Isolation Forest** 算法。 **使用的特征:** - `abuse_score`(归一化至 0–1) - `indicator_type`(独热编码:ip / domain / hash) - `has_country`(布尔值) **训练:** 在获取至少 50 个指标后,点击仪表板中的“Train ML Model”。模型将保存至 `data/model.joblib`,并在后续每次评分时重新加载。 **局限性:** - Isolation Forest 是一种无监督学习算法——它标记的是统计异常值,而非已验证的恶意活动。请将评分视为分类排查的参考信号,而非绝对事实。 - 当数据少于 50 行时,模型将回退至使用归一化的 `abuse_score`。 - 在 AbuseIPDB 黑名单上的准确率大约在 80–85% 之间(异常值往往是高置信度的滥用者)。 ## 未来规划 - 通过 OTX Pulse 标签字段添加 MITRE ATT&CK 战术标签 - 集成 CICIDS-2017 数据集以进行监督分类 - 时间序列趋势图:每天新增的恶意 IP 数量 - 用户身份验证 + 已保存的监控列表 - 针对高风险指标的 Slack / 电子邮件告警 - 使用 Docker Compose + Nginx 进行部署 ## 项目结构 ``` Security/ ├── backend/ │ ├── app/ │ │ ├── api/ # FastAPI routers │ │ ├── ml/ # Isolation Forest model │ │ ├── models/ # SQLAlchemy ORM models │ │ ├── services/ # Fetcher + lookup logic │ │ ├── config.py │ │ ├── database.py │ │ └── main.py │ ├── seed_demo_data.py │ └── requirements.txt ├── frontend/ │ ├── src/ │ │ ├── components/ # StatCard, PieChart, LookupPanel, IndicatorTable │ │ ├── App.jsx │ │ └── api.js │ └── package.json └── README.md ```
标签:AI安全, Apex, AV绕过, Chat Copilot, FastAPI, HTTP/HTTPS抓包, IoC分析, IP 地址批量处理, IsolationForest, PostgreSQL, Python, React, Scikit-learn, SQLAlchemy, SQLite, Syscalls, 后端开发, 威胁情报, 威胁指标, 安全仪表盘, 密码管理, 开发者工具, 异常检测, 态势感知, 情报聚合, 数据库, 无后门, 机器学习, 测试用例, 网络信息收集, 网络安全, 网络安全数据看板, 自动化数据采集, 逆向工具, 隐私保护