viraj-ghelani/threat-intelligence-platform

GitHub: viraj-ghelani/threat-intelligence-platform

一款开源威胁情报平台,聚合多源 IOC 数据并进行富化、评分与 MITRE ATT&CK 映射,助力 SOC 团队高效开展威胁分析。

Stars: 0 | Forks: 0

**开源免费威胁情报平台,用于聚合、富化并评分来自多个来源的 IOC。** ![Next.js](https://img.shields.io/badge/Next.js-14-black?logo=next.js) ![FastAPI](https://img.shields.io/badge/FastAPI-0.109-009688?logo=fastapi) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-16-336791?logo=postgresql) ![Redis](https://img.shields.io/badge/Redis-7-DC382D?logo=redis) ![Docker](https://img.shields.io/badge/Docker-Compose-2496ED?logo=docker) ![TypeScript](https://img.shields.io/badge/TypeScript-5-3178C6?logo=typescript) ![Python](https://img.shields.io/badge/Python-3.11-3776AB?logo=python) ![License](https://img.shields.io/badge/License-MIT-green) Wiestell 是一个生产级的全栈威胁情报平台 (TIP),专为 SOC 分析师、威胁猎手和网络安全专业人员设计。它聚合来自 10 多个开源威胁源的入侵指标 (IOC),利用 WHOIS/DNS/GeoIP/Shodan 数据对其进行富化,使用加权算法计算综合威胁评分,将指标映射到 MITRE ATT&CK 框架,并通过由 Next.js 14 和 TypeScript 构建的战术深色主题 SOC 仪表板呈现所有内容。 ## 功能特性 | 功能 | 状态 | |---------|--------| | 多源 IOC 接入 (10 个连接器) | 已实现 | | 支持高级过滤的 IOC 搜索 | 已实现 | | 综合威胁评分 (0-100) | 已实现 | | IOC 富化 (WHOIS, DNS, GeoIP) | 已实现 | | MITRE ATT&CK 热力图矩阵 | 已实现 | | 带统计数据的实时仪表板 | 已实现 | | Feed 健康监控 | 已实现 | | IOC 关联关系分析 | 已实现 | | 威胁猎杀工作区 | 已实现 | | 报告生成 (每日简报 + 自定义) | 已实现 | | STIX 2.1 / CSV / JSON 导出 | 已实现 | | Celery 后台任务处理 | 已实现 | | Docker 单命令部署 | 已实现 | | 地理威胁分布 | 已实现 | ## 系统架构 ``` FRONTEND (Next.js 14) Dashboard | IOC Search | Feed Manager | Reports | ATT&CK Map | REST API | BACKEND (FastAPI) Feed Ingestion | Enrichment Engine | Scoring | Correlation | | | | PostgreSQL Redis Cache Celery External + indexes + pub/sub Workers Threat Feeds ``` ## 技术栈 | 层级 | 技术 | |-------|-----------| | Frontend | Next.js 14, TypeScript, Tailwind CSS, Recharts, D3.js | | Backend | FastAPI, Python 3.11, SQLAlchemy, Pydantic | | Database | PostgreSQL 16 (含 JSONB 和 GIN 索引) | | Cache | Redis 7 | | Task Queue | Celery (使用 Redis 作为 broker) | | Containerization | Docker + Docker Compose | ## 快速开始 ``` # Clone the repository git clone https://github.com/dev0558/wiestell-tip.git cd wiestell-tip # Copy environment file cp .env.example .env # Start all services docker-compose up -d # Seed feed sources docker-compose exec backend python /app/../scripts/seed_feeds.py # Load MITRE ATT&CK data docker-compose exec backend python /app/../scripts/seed_mitre.py # Generate sample data (optional, for demo) docker-compose exec backend python /app/../scripts/generate_sample_data.py ``` 访问应用: - **仪表板**: http://localhost:3000 - **API 文档**: http://localhost:8000/docs - **API ReDoc**: http://localhost:8000/redoc ## 环境变量 | 变量 | 描述 | 必填 | |----------|-------------|----------| | `DATABASE_URL` | PostgreSQL 连接字符串 | 是 | | `REDIS_URL` | Redis 连接字符串 | 是 | | `SECRET_KEY` | 应用密钥 | 是 | | `OTX_API_KEY` | AlienVault OTX API 密钥 | 否 | | `ABUSEIPDB_API_KEY` | AbuseIPDB API 密钥 | 否 | | `VT_API_KEY` | VirusTotal API 密钥 | 否 | | `SHODAN_API_KEY` | Shodan API 密钥 | 否 | | `PHISHTANK_API_KEY` | PhishTank API 密钥 | 否 | | `GEOIP_DB_PATH` | MaxMind GeoLite2 数据库路径 | 否 | 所有的 Feed API 密钥都是可选的。该平台支持 6 个无需 API 密钥的免费 Feed(URLhaus, ThreatFox, MalwareBazaar, Feodo Tracker, Blocklist.de, Emerging Threats)。 ## API 文档 FastAPI 自动生成交互式 API 文档: - **Swagger UI**: http://localhost:8000/docs - **ReDoc**: http://localhost:8000/redoc ### 关键端点 ``` GET /api/v1/iocs # List IOCs (paginated) GET /api/v1/iocs/:id # IOC detail with enrichment POST /api/v1/iocs/search # Advanced search POST /api/v1/iocs/bulk # Bulk IOC lookup POST /api/v1/iocs/export # Export (STIX/CSV/JSON) GET /api/v1/feeds # List feeds POST /api/v1/feeds/:id/sync # Trigger feed sync GET /api/v1/dashboard/stats # Dashboard statistics GET /api/v1/attack/matrix # ATT&CK matrix GET /api/v1/attack/heatmap # ATT&CK heatmap POST /api/v1/reports/generate # Generate report GET /api/v1/reports/daily-brief # Daily threat brief ``` ## 威胁源 | Feed | 类型 | 免费 | IOC 类型 | |------|------|------|-----------| | URLhaus | CSV | 是 (无需密钥) | URL, Domain | | ThreatFox | API | 是 (无需密钥) | IP, Domain, URL, Hash | | MalwareBazaar | API | 是 (无需密钥) | Hash | | Feodo Tracker | CSV | 是 (无需密钥) | IP | | Blocklist.de | CSV | 是 (无需密钥) | IP | | Emerging Threats | CSV | 是 (无需密钥) | IP | | AlienVault OTX | API | 是 (需 API 密钥) | IP, Domain, Hash, URL | | AbuseIPDB | API | 是 (需 API 密钥) | IP | | PhishTank | API | 是 (需 API 密钥) | URL | | VirusTotal | API | 是 (需 API 密钥) | Hash, IP, Domain, URL | ## 评分算法 Wiestell 使用加权因子计算综合威胁评分 (0-100): ``` Score = Base Reputation (30%) + Source Diversity (20%) + Recency (15%) + Sighting Frequency (15%) + Enrichment Risk (10%) + Context (10%) ``` | 评分范围 | 类别 | 颜色 | |-------------|----------|-------| | 76-100 | 严重 | 红色 | | 51-75 | 高危 | 橙色 | | 26-50 | 中危 | 黄色 | | 0-25 | 低危 | 绿色 | ## 开发 ``` # Backend development cd backend pip install -r requirements.txt uvicorn app.main:app --reload --port 8000 # Frontend development cd frontend npm install npm run dev ```
标签:AV绕过, Cloudflare, Docker, ESC4, FastAPI, HTTP/HTTPS抓包, IOC管理, masscan, MITRE ATT&CK, nuclei, OSINT, PostgreSQL, Python, Redis, STIX, TIP, TypeScript, 企业安全, 失陷指标, 威胁情报平台, 威胁评分, 安全仪表盘, 安全插件, 安全运营中心, 安全防御评估, 态势感知, 情报富化, 情报聚合, 搜索引擎查询, 攻击框架映射, 无后门, 测试用例, 网络安全, 网络映射, 网络资产管理, 自动化响应, 自动化攻击, 请求拦截, 逆向工具, 隐私保护