Hibattallah/threat-intelligence-platform

GitHub: Hibattallah/threat-intelligence-platform

一个基于 FastAPI 和原生 JavaScript 构建的全栈威胁情报平台,支持多源 IOC 收集、自动关联聚类和图谱化威胁狩猎调查。

Stars: 0 | Forks: 0

# 威胁情报平台 一个使用 **FastAPI**、**SQLAlchemy** 和 **原生 JavaScript** 构建的全栈威胁情报平台,用于收集、丰富、关联和聚类妥协指标,并通过 REST API 和深色分析师控制台仪表板将所有内容展示出来。 原始指标(恶意 IP、域名、URL 和文件哈希)从一端输入;在另一端,分析师可以获得去重、风险评分、归因到威胁行为者的 IOC,自动发现它们之间的关系,自动聚类的威胁活动,以及用于搜索、扩展和基于图谱调查的威胁狩猎界面。 ## 截图 **登录** ![登录](https://static.pigsec.cn/wp-content/uploads/repos/cas/7a/7a377a0669e0a40df6467fd47e922a753041a1c0a9c087fac80098deaf97475c.png) **概览** — 涵盖所有已摄取指标的实时态势:总数、风险分布、IOC 类型和热门国家。 ![概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/8d/8d15cec9ee212b1f573eac945d04495e7f6f1f31b2b7a19bf13f1a8734300410.png) **Feed 源与近期 IOC** — 各个 Feed 的健康状态以及最新摄取的指标。 ![Feed 源与近期 IOC](https://static.pigsec.cn/wp-content/uploads/repos/cas/15/15313589dc3b664b742cdefdaa1a5ac6c85781193b92719269c4108808f35bcf.png) **活动** — 基于共享的威胁行为者、恶意软件家族和基础设施自动聚类的 IOC,包含热门行为者和热门恶意软件的细分。 ![活动](https://static.pigsec.cn/wp-content/uploads/repos/cas/01/011b92fe6917e9c91c8ef2257fd67fe772ff65a7cf627e934657370b03c1ba08.png) **最高置信度的活动** — 可筛选的活动卡片,每张卡片显示置信度、IOC 数量和内部关系链接。 ![活动卡片](https://static.pigsec.cn/wp-content/uploads/repos/cas/16/1642d162f2ca864d41489faccba9cff6af66b648d08b1fae61ec0567a1eaa7b4.png) **威胁狩猎** — 搜索指标,通过关系进行扩展,并追踪图谱。 ![威胁狩猎搜索](https://static.pigsec.cn/wp-content/uploads/repos/cas/9d/9d8a999091300038d6cc8ad10e24dc8ec17e4415d765cf9eb68c012ea512e777.png) **扩展调查** — 单个指标的相关 IOC、关系和活动归属。 ![扩展调查](https://static.pigsec.cn/wp-content/uploads/repos/cas/d1/d160aa1f432409d217d429638927a601e2dfdb3e923acee2aa8210c7680f57ce.png) **关系图谱** — 交互式 Cytoscape.js 图谱,节点按风险级别着色。 ![关系图谱](https://static.pigsec.cn/wp-content/uploads/repos/cas/96/964a6fa7cd5a14dc1a0d41b95987127d07963cca95e6d28f3adb9dead3d5c8e7.png) **报告** — 将当前数据集导出为 CSV、JSON 或 PDF。 ![报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/36/363c362e444b714c3770185716d24320986ab81cc009465ae0373ba4a7651f27.png) ## 功能 ### 身份验证 - 基于 JWT 的身份验证(登录、注册、`/me`) - 首位注册的用户将自动成为管理员 ### IOC 处理流水线 - 多 Feed 收集,在未配置 API 密钥时可优雅回退至真实的模拟数据 - 规范化、验证、去重、丰富和风险评分 - 支持 IP 地址、域名、URL 和文件哈希 ### 威胁情报引擎 - **关联引擎** — 基于共享的威胁行为者、恶意软件家族、ASN、ISP、国家、标签和来源重合度,自动发现 IOC 之间的关系 - **活动检测引擎** — 使用图连通分量分析将相关的 IOC 聚类为命名的活动,并进行置信度和风险聚合 - **威胁狩猎引擎** — 过滤搜索、单 IOC 扩展调查以及 BFS 关系图谱遍历 ### 仪表板 一个交互式的单页分析师控制台,包含: - 概览统计、风险分布、IOC 类型和热门国家 - Feed 健康监控和近期 IOC 表格 - 带有分析和可筛选卡片网格的活动浏览器 - 威胁狩猎搜索、扩展面板和关系图谱 - 一键生成 CSV / JSON / PDF 报告 采用定制的深色分析师控制台设计系统(不使用 UI 框架)构建,使用 Chart.js 进行统计,使用 Cytoscape.js 绘制关系图谱。 ### 报告 生成并下载 CSV、JSON 或 PDF 格式的报告。 ### REST API 完全文档化的 REST API,涵盖身份验证、IOC、搜索、统计、Feed、关系、活动、狩猎和报告。 ``` /api/auth /api/iocs /api/search /api/statistics /api/feeds /api/relationships /api/campaigns /api/hunting /api/reports ``` 交互式 Swagger 文档可在以下地址获取: ``` http://localhost:8000/docs ``` ## 架构 ``` Threat Feeds │ ▼ Collectors ──────────► Normalization ──────────► Validation │ ▼ Database ◄─── Risk Scoring ◄─── Enrichment ◄─── Deduplication │ ├──────────► Correlation Engine ────► Relationship API ├──────────► Campaign Detection ────► Campaign API ├──────────► Threat Hunting ────► Hunting API ├──────────► Statistics / Reports └──────────► Analyst Dashboard (web) ``` ## 项目结构 ``` app/ FastAPI application, configuration, scheduler, database setup api/ REST API endpoints (auth, iocs, feeds, statistics, reports, search, relationships, campaigns, hunting) collectors/ Threat feed collectors (VirusTotal, AbuseIPDB, OTX, MalwareBazaar, URLhaus, Shodan), each with a simulated fallback core/ IOC processing pipeline, correlation engine, campaign detection engine, threat hunting engine docs/ Documentation and dashboard screenshots frontend/ Dashboard, login, and search pages (templates, CSS, JS) models/ SQLAlchemy models scripts/ Utility scripts and the demo data seeder services/ Authentication, security, and pipeline orchestration tests/ Automated unit tests exports/ Generated reports (CSV / JSON / PDF) ``` ## 快速开始 创建虚拟环境 ``` python3 -m venv venv source venv/bin/activate ``` 安装依赖 ``` pip install -r requirements.txt ``` 配置环境 ``` cp .env.example .env ``` 运行应用 ``` uvicorn app.main:app --reload ``` 打开 ``` http://localhost:8000 ``` 本项目附带了一个即开即用的演示数据库 (`tip.db`):包含 10,000 个 IOC、约 55,000 个关联关系以及约 550 个检测到的活动。请使用以下凭据登录: ``` username: admin password: ChangeMe123! ``` 在部署到你自己的机器以外的任何地方之前,请更改此密码(或删除 `tip.db` 并从空白状态开始)。 要自行重新生成演示数据集: ``` rm -f tip.db python scripts/seed_demo_data.py python -c " from app.database import SessionLocal from core.correlation import run_correlation from core.campaigns import create_campaigns db = SessionLocal() run_correlation(db) create_campaigns(db) db.close() " ``` ## Docker ``` docker compose up --build ``` ## 技术 **后端** - FastAPI - SQLAlchemy - SQLite(可通过 `DATABASE_URL` 切换为 PostgreSQL) - JWT 身份验证(python-jose + passlib/bcrypt) - APScheduler(后台 Feed 刷新) - ReportLab(PDF 生成) **前端** - HTML5 - 定制 CSS 设计系统 - Chart.js - Cytoscape.js - 原生 JavaScript **工具** - Pytest - Docker / docker-compose ## 测试 ``` pytest tests/ -q ``` ## 未来路线图 - MITRE ATT&CK 技术映射 - STIX 2.1 导入/导出和 TAXII 客户端 - 针对新的严重风险 IOC 或活动的实时警报 - 身份验证之外基于角色的端点访问控制 - PostgreSQL 生产部署指南 ## 许可证 本项目旨在用于教育和作品集展示目的。
标签:AV绕过, DInvoke, FastAPI, 威胁情报, 安全运营, 开发者工具, 扫描框架, 数据可视化, 网络测绘, 请求拦截