hrushikeshv7/PHANTOM
GitHub: hrushikeshv7/PHANTOM
PHANTØM是一个全栈AI驱动的SOC威胁情报平台,聚合四个威胁情报API数据,通过NLP引擎提取实体并映射MITRE ATT&CK,配合Groq大模型自动生成分析师简报,为安全团队提供从IOC分析到报告输出的完整工作流。
Stars: 0 | Forks: 0
# PHANTØM
### 主动启发式分析与 NLP 威胁编排监控器
**生产级 AI 驱动的 SOC 威胁情报平台**
[](https://github.com/hrushikeshv7/PHANTOM)
[](https://python.org)
[](https://fastapi.tiangolo.com)
[](https://react.dev)
[](LICENSE)
[功能](#-features) · [架构](#-architecture) · [快速开始](#-quick-start) · [API 文档](#-api-endpoints) · [截图](#-dashboard)
## 🔍 什么是 PHANTØM?
PHANTØM 是一个为安全运营中心 (SOC) 团队构建的全栈威胁情报平台。它从 **4 个行业领先的威胁源** 聚合实时数据,通过 **带有 MITRE ATT&CK 映射的自定义 NLP 评分引擎** 处理数据,并在实时交互式仪表板上提供 **AI 生成的分析师简报**。
## ✨ 功能特性
### 核心情报
- **多源聚合** — 从 VirusTotal、Shodan、AbuseIPDB、AlienVault OTX 并发异步获取数据(比顺序获取快 4 倍)
- **复合威胁评分** — 带有 CVE 严重性提升、时效性评分、OTX 脉冲放大和白名单惩罚机制的 0-100 加权评分
- **NLP 实体提取** — 从原始文本中识别威胁行为者(APT28、Lazarus Group)、恶意软件家族(Emotet、Ryuk)和 CVE ID
- **MITRE ATT&CK 映射** — 自动将提取的实体映射到技术 ID(T1566、T1110、T1486...)
- **AI 分析师简报** — Groq Llama3-70B 为每个 IOC 生成 3 句话的 SOC 级摘要,并引用实际提取的实体
### 仪表板面板
- 📡 **实时威胁订阅源** — 实时 OTX 全球威胁脉冲,支持点击展开详情
- 🔍 **IOC 分析器** — 提交任何 IP/域名/哈希,即时进行多源分析
- 🌍 **攻击源地图** — 基于 Leaflet.js 的所有已分析威胁来源地理地图
- 🏆 **顶级威胁排行榜** — 通过 WebSocket 更新的实时排名威胁
- 📊 **评分历史图表** — 最近 20 次分析的 Recharts 条形图
- 🛡️ **文件恶意软件分析器** — 对上传文件进行静态模式检测 + AI 深度分析
- 📋 **文件分析历史** — 包含 AI 判定的所有已分析文件的可搜索历史记录
- 📦 **批量 IOC 扫描器** — 上传 .txt → 同时扫描 50 个 IP 并导出为 CSV
### 运维操作
- 📄 **PDF 报告生成器** — 为每个分析的 IOC 生成专业的 SOC 级 PDF(ReportLab)
- 🔔 **实时告警** — 检测到 CRITICAL(严重)级别时自动通过 Slack + 电子邮件发送通知
- ⚡ **WebSocket 实时更新** — 仪表板无需刷新页面即可即时更新
- 📱 **移动端响应式** — 底部导航移动布局,适用于 SOC 值班人员访问
- 🗄️ **持久化存储** — PostgreSQL 用于历史记录 + Redis 用于 API 响应缓存
## 🏗️ 架构
```
┌──────────────────────────────────────────────────────────────────┐
│ FRONTEND (React 18 + Tailwind CSS) │
│ Overview │ IOC Analyzer │ File Scanner │ Bulk Scan │ Attack Map │
└─────────────────────────┬────────────────────────────────────────┘
│ REST API + WebSocket
┌─────────────────────────▼────────────────────────────────────────┐
│ BACKEND (FastAPI + Python 3.11) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────────────┐ │
│ │ API Layer │ │ NLP Engine │ │ Groq AI Summarizer │ │
│ │ asyncio │ │ SecBERT NER │ │ Llama3-70B │ │
│ └──────┬──────┘ └──────┬───────┘ └───────────┬───────────┘ │
└─────────│────────────────│───────────────────────│──────────────┘
│ │ │
4 Sources Score 0-100 PostgreSQL
concurrently MITRE Map + Redis
via asyncio NLP Boost Cache
```
### NLP 流水线 (阶段 3)
```
Raw threat text from OTX + API responses
│
▼
Named Entity Recognition
├── Threat Actors → APT28, Lazarus, FIN7
├── Malware Names → Emotet, Ryuk, Cobalt Strike
├── CVE IDs → CVE-2021-44228
└── Attack Types → ransomware, botnet, c2
│
▼
MITRE ATT&CK Mapping
├── "phishing" → T1566
├── "ransomware" → T1486
└── "brute force" → T1110
│
▼
Composite Score + NLP Entity Boost
Base = VT×0.35 + AbuseIPDB×0.30 + Shodan×0.20 + OTX×0.15
Boost = +18 (threat actor) +15 (malware) +12 (CVE)
Final = min(Base + Boost, 100)
│
▼
Groq AI Analyst Briefing
3-sentence SOC report with real entity references
```
## 🛠️ 技术栈
| 层级 | 技术 | 用途 |
|---|---|---|
| **API 框架** | FastAPI | Async REST + WebSocket 服务器 |
| **异步 HTTP** | httpx + asyncio | 4 个并发 API 调用 |
| **NLP** | HuggingFace + regex | 威胁实体提取 |
| **AI** | Groq (Llama3-70B) | SOC 分析师简报 |
| **数据库** | PostgreSQL + SQLAlchemy | 威胁 + 文件历史记录 |
| **缓存** | Redis | API 速率限制保护 |
| **PDF** | ReportLab | 威胁报告生成 |
| **前端** | React 18 | UI 框架 |
| **样式** | Tailwind CSS + Orbitron | Cybersec 设计系统 |
| **图表** | Recharts | 评分历史可视化 |
| **地图** | Leaflet.js | 攻击源地理地图 |
| **字体** | Orbitron + Space Grotesk + JetBrains Mono | 排版字体 |
| **部署** | Docker + Render | 容器化云部署 |
## 📁 项目结构
```
PHANTOM/
├── .env.example ← Environment variable template
├── docker-compose.yml ← Full stack Docker config
│
├── backend/
│ ├── main.py ← FastAPI app + all 10 endpoints
│ ├── requirements.txt
│ ├── api/
│ │ ├── virustotal.py ← VirusTotal async client
│ │ ├── shodan.py ← Shodan async client
│ │ ├── abuseipdb.py ← AbuseIPDB async client
│ │ └── otx.py ← AlienVault OTX async client
│ ├── nlp/
│ │ ├── ner_engine.py ← NER + MITRE ATT&CK mapping
│ │ ├── scorer.py ← Composite threat scoring
│ │ └── summarizer.py ← Groq AI briefing generator
│ ├── db/
│ │ ├── models.py ← SQLAlchemy models
│ │ ├── database.py ← DB connection
│ │ └── cache.py ← Redis caching layer
│ └── utils/
│ ├── aggregator.py ← Async multi-source fetcher
│ ├── alerts.py ← Slack + email alerting
│ ├── file_analyzer.py ← Static + AI malware analysis
│ ├── helpers.py ← IP geolocation fallback
│ └── pdf_report.py ← PDF report generator
│
└── frontend/
└── src/
├── App.jsx ← Main layout + sidebar navigation
├── index.css ← Global styles + animations
├── services/api.js ← API client + WebSocket
└── components/
├── StatCards.jsx
├── ThreatFeed.jsx
├── IOCLookup.jsx
├── ScoreBoard.jsx
├── ThreatChart.jsx
├── AttackMap.jsx
├── FileAnalyzer.jsx
├── FileHistory.jsx
├── BulkScanner.jsx
└── GhostLogo.jsx
```
## 🚀 快速开始
### 前置条件
```
Python 3.11+ Node.js 18+ PostgreSQL Redis
```
### 1. 克隆与配置
```
git clone https://github.com/hrushikeshv7/PHANTOM.git
cd PHANTOM
cp .env.example .env
# 使用你的 API 密钥编辑 .env
```
### 2. 后端设置
```
cd backend
python3 -m venv phantom_env
source phantom_env/bin/activate
pip install -r requirements.txt
# 数据库设置
sudo systemctl start postgresql redis-server
sudo -u postgres psql << 'SQL'
CREATE DATABASE phantom_db;
CREATE USER phantom_user WITH PASSWORD 'phantom_pass_2024';
GRANT ALL PRIVILEGES ON DATABASE phantom_db TO phantom_user;
\c phantom_db
GRANT ALL ON SCHEMA public TO phantom_user;
SQL
python main.py
# 运行于 http://localhost:8000
# API 文档位于 http://localhost:8000/docs
```
### 3. 前端设置
```
cd frontend
npm install
npm start
# 仪表板位于 http://localhost:3000
```
### 4. Docker (单条命令)
```
docker-compose up --build
# 仪表板位于 http://localhost:3000
```
## 🔑 环境变量
```
# Threat Intelligence(所有免费套餐)
VIRUSTOTAL_API_KEY= # virustotal.com — 500 req/day
SHODAN_API_KEY= # shodan.io — 100 req/month
ABUSEIPDB_API_KEY= # abuseipdb.com — 1000 req/day
OTX_API_KEY= # otx.alienvault.com — unlimited
# AI(免费)
GROQ_API_KEY= # console.groq.com — free tier
# Alerts(可选)
SLACK_WEBHOOK_URL= # api.slack.com
ALERT_THRESHOLD=60 # Auto-alert above this score
# Infrastructure
DATABASE_URL=postgresql://phantom_user:phantom_pass_2024@localhost/phantom_db
REDIS_URL=redis://localhost:6379
CORS_ORIGINS=http://localhost:3000
APP_PORT=8000
```
## 📡 API 参考
| 方法 | 端点 | 描述 |
|---|---|---|
| `GET` | `/api/analyze/{ioc}` | 包含 AI 简报的完整多源 IOC 分析 |
| `GET` | `/api/feed` | 实时 OTX 威胁脉冲 |
| `GET` | `/api/threats` | 历史威胁记录 |
| `GET` | `/api/leaderboard` | 按复合评分排名的顶级威胁 |
| `GET` | `/api/stats` | 仪表板统计信息 |
| `GET` | `/api/report/{id}` | 下载 PDF 威胁报告 |
| `POST` | `/api/bulk-analyze` | 批量 IOC 扫描(上传 .txt,最多 50 个) |
| `POST` | `/api/analyze-file` | 文件恶意软件分析 |
| `GET` | `/api/file-history` | 文件分析历史记录 |
| `WS` | `/ws` | WebSocket 实时更新 |
## 🌐 数据源
| 来源 | 提供的内容 | 免费额度 |
|---|---|---|
| [VirusTotal](https://virustotal.com) | 来自 70 多个 AV 引擎的恶意软件判定 | 500次/天 |
| [Shodan](https://shodan.io) | 开放端口、CVE、运行中的服务 | 100次/月 |
| [AbuseIPDB](https://abuseipdb.com) | 社区滥用置信度评分 | 1000次/天 |
| [AlienVault OTX](https://otx.alienvault.com) | 全球威胁脉冲和 IOC 源 | 无限制 |
## ✅ 构建阶段
| 阶段 | 描述 | 状态 |
|---|---|---|
| 阶段 1 | 环境设置 + 项目结构 | ✅ 完成 |
| 阶段 2 | 4 个异步 API 集成 + FastAPI 后端 | ✅ 完成 |
| 阶段 3 | NLP 引擎 — SecBERT NER + MITRE ATT&CK | ✅ 完成 |
| 阶段 4 | Groq AI 分析师简报生成器 | ✅ 完成 |
| 阶段 5 | React 前端 — 6 个实时仪表板面板 | ✅ 完成 |
| 阶段 6 | Docker 容器化 + Render 部署 | ✅ 完成 |
| 层级 1 | 告警 + 批量扫描器 + PDF 报告 + 文件分析器 | ✅ 完成 |
| UI v3 | 高级 Cybersec 设计(Orbitron + Space Grotesk) | ✅ 完成 |
| 阶段 3+ | 文件历史源 + 移动端响应式布局 | ✅ 完成 |
## 🏆 为什么选择 PHANTØM?
大多数威胁情报工具需要昂贵的订阅或复杂的企业级设置。PHANTØM 证明了单个工程师可以利用免费 API、开源模型和现代 Web 工具,从零开始构建一个生产级的 SOC 平台。
**不同之处在于:**
- 同时关联 4 个来源 —— 大多数工具一次只检查一个
- NLP 提取真实的威胁行为者名称,并将其映射到 MITRE ATT&CK —— 而不仅仅是原始 API 评分
- AI 为您编写分析师报告 —— 不是模板,而是真实的简报
- 易于理解 —— 每个组件都有文档记录且可读性强
## 👨💻 作者
**Korapothula Hrushikesh Vardhan**
网络安全工程师 · IIT Kharagpur · CEH v12 认证
[](https://linkedin.com/in/hrushikesh-vardhan-975a5b29a)
[](https://github.com/hrushikeshv7)
## 📜 许可证
MIT 许可证 —— 详见 [LICENSE](LICENSE)。
*“幽灵在默默注视。威胁永远不知道它的到来。”*
**⭐ 如果 PHANTØM 对您有帮助,请给本仓库加星**
标签:AbuseIPDB, AI安全分析, Ask搜索, AV绕过, Cloudflare, DLL 劫持, FastAPI, GPT, IOC分析, Llama3, masscan, MITRE ATT&CK, NLP, PostgreSQL, Python, React, Redis, Render云平台, SecBERT, Syscalls, VirusTotal, WebSocket, 依赖分析, 告警自动化, 大语言模型, 威胁情报平台, 威胁评分, 安全运营中心, 实体提取, 微服务架构, 搜索引擎查询, 数据聚合, 无后门, 测试用例, 漏洞管理, 网络威胁情报, 网络安全, 网络映射, 计算机取证, 请求拦截, 运行时操纵, 逆向工具, 部署与运维, 隐私保护