Ananyacodes/threat-intelligence

GitHub: Ananyacodes/threat-intelligence

一个基于机器学习的全栈威胁情报平台,将日志异常检测与威胁情报分析整合,提供从原始日志到结构化威胁报告的完整分析流程。

Stars: 0 | Forks: 0

# AI 威胁情报系统 一个全栈 AI 驱动的威胁检测与情报平台。 ## 快速开始 ``` # 1. 安装依赖 pip install -r requirements.txt # 2. 生成 synthetic logs + 运行完整 pipeline python main.py --gen # 3. 启动 dashboard python run_dashboard.py # 打开 http://localhost:5000 ``` ## 项目结构 ``` threat_intel_system/ ├── core/ │ ├── generate_logs.py # Synthetic log generator │ ├── preprocessor.py # Parse & clean logs │ ├── feature_engineer.py # ML feature extraction │ ├── anomaly_detector.py # Isolation Forest + One-Class SVM │ └── alert_engine.py # Severity scoring + alert output ├── dashboard/ │ ├── app.py # Flask REST API │ ├── visualiser.py # Plotly chart generators │ ├── templates/ # HTML pages │ └── static/ # CSS + JS ├── intelligence/ │ ├── clusterer.py # K-Means / DBSCAN │ ├── classifier.py # Random Forest attack labeller │ ├── threat_scorer.py # CVSS-style risk scoring │ └── report_generator.py # Threat intelligence report ├── data/ # Generated logs + alert store ├── models/ # Saved .pkl model files ├── config.py # All thresholds & paths ├── main.py # CLI pipeline runner └── run_dashboard.py # Flask server launcher ``` ## CLI 用法 | 命令 | 作用 | |---|---| | `python main.py --gen` | 重新生成日志 + 完整流水线 | | `python main.py` | 完整流水线(阶段 1 + 3) | | `python main.py --phase 1` | 仅检测 + 告警 | | `python main.py --phase 3` | 仅聚类 + 报告 | | `python run_dashboard.py` | 启动 Flask 仪表盘 | ## 阶段 ### 阶段 1 — 核心检测 - 读取系统日志 和网络日志 - 清洗和标准化数据(`preprocessor.py`) - 提取 ML 特征(`feature_engineer.py`) - 使用 **Isolation Forest** + **One-Class SVM** 集成模型检测异常 - 输出评分为 1-5 的告警及可操作建议 ### 阶段 2 — 仪表盘 - Flask REST API(`/api/alerts`、`/api/stats`、`/api/charts`) - 实时轮询 Web 仪表盘(每 8 秒刷新一次) - 6 个 Plotly 图表:时间线、严重性甜甜圈图、攻击类型、Top IP、热力图、风险直方图 - “重新运行流水线”按钮,可从浏览器触发检测 ### 阶段 3 — 威胁情报 - **K-Means + DBSCAN** 聚类以发现攻击活动 - **Random Forest** 分类器以标记攻击类型 - 每个告警的 **CVSS 风险评分**(0–10) - 结构化威胁报告,包含 IOC、活动分析和优先级建议 ## 独特之处 大多数学生安全项目止步于异常检测。本系统更进一步,将告警转化为分析师可直接使用的情报。 - **双数据模式**:支持合成攻击模拟和真实 Windows 日志收集。 - **检测到情报链**:一次运行即可从异常检测到活动聚类,再到风险评分报告。 - **可解释输出**:每个告警包含原因、严重性、置信度和缓解建议。 - **操作视图**:仪表盘 + API + JSON 报告,适用于演示、答辩和作品集展示。 - **分析师优先设计**:专注于可操作的优先级排序,而不仅仅是模型准确性。 ### 核心流程 原始日志 → 特征工程 → 集成异常检测 → 告警评分 → 攻击聚类 → 风险分类 → 威胁报告。 ## API 端点 | 方法 | 端点 | 描述 | |---|---|---| | GET | `/` | 仪表盘 UI | | GET | `/report` | 威胁报告 UI | | GET | `/api/alerts` | 最新告警 (JSON) | | GET | `/api/stats` | 汇总统计 (JSON) | | GET | `/api/charts` | 所有 Plotly 图表数据 | | GET | `/api/report` | 完整威胁报告 (JSON) | | POST | `/api/run_pipeline` | 触发重新检测 | ## 配置 编辑 `config.py` 以调整: - `CONTAMINATION` — 预期异常比例(默认 8 %) - `ANOMALY_SCORE_THRESHOLD` — 告警触发阈值(默认 0.55) - `BRUTE_FORCE_FAILED_LOGINS` — 失败登录启发式规则(默认 5) - `DOS_PACKETS_PER_SECOND` — DoS 启发式规则(默认 500 pps) - `KMEANS_N_CLUSTERS` — 攻击聚类数量(默认 5)
标签:AI威胁情报, BurpSuite集成, CVSS评分, DBSCAN, Flask, HTTP/HTTPS抓包, Isolation Forest, K-Means聚类, One-Class SVM, PE 加载器, Plotly, Python, REST API, 合成数据生成, 威胁检测系统, 安全仪表盘, 安全报告生成, 密钥泄露防护, 异常检测, 态势感知, 插件系统, 攻击分类, 无后门, 无线安全, 机器学习安全, 特征工程, 网络安全, 网络安全审计, 逆向工具, 随机森林, 隐私保护, 风险评分