RenuSri2/phantom-ai-honeypot
GitHub: RenuSri2/phantom-ai-honeypot
一个基于强化学习和 Gemini 大模型的云原生 AI 蜜罐系统,通过动态生成虚假企业环境欺骗攻击者并自动产出威胁情报报告。
Stars: 1 | Forks: 0
# 🕵️ PHANTOM — AI 驱动的蜜罐欺骗系统
[](https://phantom-hack2skill.web.app)
[](https://cloud.google.com/)
[](https://deepmind.google/technologies/gemini/)
[](https://reactjs.org/)
[](https://firebase.google.com/)
[](https://www.terraform.io/)
[](https://www.python.org/)
一个 5 层的云原生 AI 欺骗平台,将攻击者引诱至完全由 AI 生成的虚假企业环境中,使用强化学习保持他们的参与度,并自动生成专业的 MITRE ATT&CK 威胁情报报告。
## 🧠 我们解决的问题
传统网络安全工具**阻挡**攻击者。PHANTOM 做了更聪明的事——它将攻击者**欢迎**进一个令人信服的陷阱,研究他们的一举一动,并将他们的攻击转化为可操作的情报。
大多数蜜罐是静态的,容易被指纹识别。PHANTOM 是**动态的**——每个攻击者都会获得一个独特的、由 AI 生成的虚假公司,其中包含逼真的员工、数据库、虚假的 AWS 凭证和 git 历史记录。攻击者以为他们正在得手,其实不然,他们正在为我们提供情报。
## 🎯 核心亮点
- 🤖 **基于 Gemini 的欺骗** — Vertex AI Gemini 实时生成完全连贯的虚假企业身份(员工档案、内部数据库、虚假机密)
- 🧬 **强化学习防御** — 一个低于 100ms 的 RL agent 在每一步决定向攻击者提供什么虚假数据,以最大化参与时间
- 🌍 **实时攻击可视化** — 具有实时世界地图、威胁评分和攻击时间线的 React 仪表板
- 📄 **映射 MITRE ATT&CK 的报告** — 自动生成包含由 Gemini 编写的执行摘要的 PDF 威胁情报报告
- ☁️ **完全云原生** — 使用 Terraform IaC、Firebase Realtime DB 和 Cloud Pub/Sub 部署在 Google Cloud Run 上
- 🔬 **行为画像** — 将攻击者分类为 Script Kiddie、APT、Opportunist 或 Insider Threat
## 🏗️ 架构
PHANTOM 被构建为一个 **5 层的微服务 pipeline**,每层都作为独立的 Google Cloud Run 服务部署:
```
┌─────────────────────────────┐
│ Attacker (Internet) │
└──────────────┬──────────────┘
│
┌──────────────▼──────────────┐
│ LAYER 1: Honeypot & Trap │
│ Flask app — fake vulnerable │
│ APIs + Isolation Forest │
│ anomaly detection │
│ Emits events to Pub/Sub │
└──────────────┬──────────────┘
│
┌────────────────────────┼──────────────────────┐
│ │ │
┌─────────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
│ LAYER 2: │ │ LAYER 3: RL Agent │ │ LAYER 4: │
│ Company Bible │ │ Sub-100ms decisions│ │ Behavioral │
│ Gemini generates│ │ Adaptive deception │ │ Analysis │
│ fake corporate │ │ strategy per action│ │ Intent + Skill │
│ identity │ │ │ │ classification │
└──────────────────┘ └─────────────────────┘ └────────┬────────┘
│
┌─────────────────────────────────────▼────────┐
│ LAYER 5: Threat Intelligence Reports │
│ ReportLab PDF + Gemini executive summary │
│ MITRE ATT&CK framework mapping │
└─────────────────────────────────────┬────────┘
│
┌─────────────────────────────────────▼────────┐
│ FRONTEND: React + Firebase │
│ Real-time attack feed, world map, │
│ threat score meter, RL agent panel, │
│ one-click PDF report download │
└──────────────────────────────────────────────┘
```
### 各层分解
| 层级 | 服务 | 技术 | 目的 |
|-------|---------|------------|---------|
| 1 | 蜜罐与陷阱 | Flask, Isolation Forest | 暴露虚假的易受攻击端点,检测异常 |
| 2 | 公司指南 | Vertex AI Gemini | 按需生成连贯的虚假企业身份 |
| 3 | RL 决策 Agent | Python, 基于规则的 RL | 在 100 毫秒内决定提供什么虚假数据 |
| 4 | 行为分析 | Vertex AI Gemini | 对攻击者意图和技能水平进行分类 |
| 5 | 报告生成器 | ReportLab, Gemini | 生成映射 MITRE ATT&CK 的 PDF 威胁情报报告 |
| — | Frontend | React, Vite, Firebase | 用于实时攻击可视化的实时仪表板 |
| — | 基础设施 | Terraform, GCP | Cloud Run, Pub/Sub, Cloud Storage, Firebase RTDB |
## ✨ 功能特性
### 🎭 动态欺骗引擎
- 每次会话都会生成一个具有可信身份的**独特虚假公司**
- 虚假的员工名录、组织架构图、内部备忘录和数据库 schema
- 令人信服的虚假凭证(AWS 密钥、SSH 密钥、git token),但这些凭证无效
- AI 生成的内容意味着没有两个蜜罐看起来是一样的
### 🤖 强化学习防御
- 基于规则的 RL 策略实时决定向攻击者提供什么内容
- 根据攻击者的行为模式调整欺骗策略
- 最大化攻击者参与时间——时间越长,收集到的情报越好
- 低于 100ms 的决策延迟让攻击者完全无法察觉
### 🔍 攻击者画像
- **意图分类**:数据窃取、蓄意破坏、勒索软件、侦察、内部威胁
- **技能水平评估**:Script Kiddie → Opportunist → Skilled Attacker → APT
- 通过 AbuseIPDB 进行 IP 信誉查询的**地理位置跟踪**
- 整个会话过程中的行为指纹识别
### 📊 实时仪表板
- **实时攻击 Feed** — 每一个恶意动作都通过 Firebase 实时流式传输
- **世界地图** — 攻击者来源的地理可视化
- **威胁评分仪表** — 在整个会话期间实时更新的动态风险评分
- **RL Agent 面板** — 实时显示 agent 的决策推理
- **攻击者资料卡** — 意图、技能水平和完整的会话元数据
### 📄 威胁情报报告
- 每次会话自动生成专业的深色主题 PDF 报告
- 由 Gemini AI 编写的**执行摘要**
- 对观察到的 TTP 进行**完整的 MITRE ATT&CK 框架映射**
- 带有时间戳事件的完整攻击时间线
- 直接从仪表板一键下载
### ☁️ 云原生基础设施
- 所有服务均已容器化并部署在 **Google Cloud Run** 上(自动扩缩容、无服务器)
- **Cloud Pub/Sub** 用于可靠的服务间事件流传输
- **Firebase Realtime Database** 用于亚秒级前端更新
- **Cloud Storage** 用于报告持久化
- **Terraform** 用于可重现的一键式基础设施部署
## 🛠️ 技术栈
| 类别 | 技术 |
|----------|-------------|
| AI / ML | Vertex AI Gemini 1.5 Pro, scikit-learn (Isolation Forest) |
| 后端 | Python 3.11, Flask, Google Cloud Pub/Sub |
| 前端 | React 18, Vite, Firebase Realtime Database |
| 基础设施 | Google Cloud Run, Cloud Storage, Terraform |
| PDF 生成 | ReportLab |
| 托管 | Firebase Hosting |
| 安全情报 | MITRE ATT&CK Framework, AbuseIPDB |
## ⚙️ 设置与部署
### 前提条件
| 工具 | 版本 | 安装 |
|------|---------|---------|
| Google Cloud SDK | 最新版 | [安装](https://cloud.google.com/sdk/docs/install) |
| Terraform | >= 1.5.0 | [安装](https://developer.hashicorp.com/terraform/install) |
| Node.js | >= 18 | [安装](https://nodejs.org/) |
| Firebase CLI | 最新版 | `npm install -g firebase-tools` |
### 步骤 1 — Google Cloud 身份验证
```
gcloud auth login
gcloud auth application-default login
gcloud config set project phantom-hack2skill
```
### 步骤 2 — 部署基础设施
```
cd infrastructure
terraform init
terraform apply
```
记下输出的 URL —— 您将在环境变量中用到它们。
### 步骤 3 — 配置环境变量
将 `.env.example` 复制到 `.env` 并填入 Terraform 输出的值:
```
GCP_PROJECT_ID=phantom-hack2skill
GCP_REGION=us-central1
REPORTS_BUCKET=
LAYER1_URL=
ABUSEIPDB_API_KEY=
```
创建 `frontend/.env`:
```
VITE_FIREBASE_API_KEY=your_key
VITE_FIREBASE_AUTH_DOMAIN=phantom-hack2skill.firebaseapp.com
VITE_FIREBASE_DATABASE_URL=https://phantom-hack2skill-default-rtdb.firebaseio.com
VITE_FIREBASE_PROJECT_ID=phantom-hack2skill
VITE_FIREBASE_STORAGE_BUCKET=phantom-hack2skill.appspot.com
VITE_FIREBASE_APP_ID=your_app_id
VITE_LAYER1_URL=
VITE_LAYER5_URL=
```
### 步骤 4 — 部署后端服务
```
gcloud builds submit --config cloudbuild.yaml .
```
### 步骤 5 — 部署前端
```
cd frontend
npm install
npm run build
firebase deploy --only hosting
```
### 步骤 6 — 测试演示
1. 导航到您的 Firebase Hosting URL
2. 在 **Attack Simulation** 面板中,选择攻击类型和难度
3. 点击 **Launch Attack Demo**
4. 观看实时攻击 Feed、威胁评分仪表和 RL Agent 面板实时更新
5. 点击下载按钮获取生成的 **Threat Intelligence PDF**
## 🎮 攻击模拟模式
PHANTOM 内置了模拟功能——无需真实攻击者:
- 选择攻击类型:勒索软件、数据渗出、SQL 注入、暴力破解、侦察
- 选择难度:Script Kiddie、Skilled Attacker、APT
- 在仪表板上实时观看一切展开
- 最后下载自动生成的威胁情报 PDF
## 📁 项目结构
```
phantom/
├── layer1_honeypot/ # Flask honeypot service
│ ├── layer1_flask_trap.py
│ ├── Dockerfile
│ └── requirements.txt
├── layer2_bible/ # AI company generator
│ ├── layer2_company_bible.py
│ ├── Dockerfile
│ └── requirements.txt
├── layer3_rl/ # RL decision agent
│ ├── layer3_rl_agent.py
│ ├── Dockerfile
│ └── requirements.txt
├── layer4_analysis/ # Behavioral analysis
│ ├── layer4_analysis.py
│ ├── Dockerfile
│ └── requirements.txt
├── layer5_reports/ # Threat intelligence reports
│ ├── layer5_report_gen.py
│ ├── Dockerfile
│ └── requirements.txt
├── frontend/ # React dashboard
│ ├── src/
│ │ ├── components/
│ │ │ ├── AttackerProfile.jsx
│ │ │ ├── LiveAttackFeed.jsx
│ │ │ ├── RLAgentPanel.jsx
│ │ │ ├── SimulationPanel.jsx
│ │ │ ├── ThreatScoreMeter.jsx
│ │ │ └── WorldMap.jsx
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── firebase.json
│ └── package.json
├── infrastructure/ # Terraform IaC
│ ├── main.tf
│ ├── variables.tf
│ └── outputs.tf
├── shared/ # Shared utilities
├── cloudbuild.yaml # CI/CD pipeline
├── .env.example # Environment variable template
├── README.md
└── SETUP.md
```
## 🗺️ 路线图
- [ ] 将 GPT-4o 作为备选的 LLM 后端
- [ ] Kubernetes 部署以供本地使用
- [ ] SIEM 集成(Splunk、Elastic)用于企业级导出
- [ ] 为 SOC 团队提供多租户支持
- [ ] 使用图机器学习自动进行攻击者归因
- [ ] 针对高威胁评分会话的电子邮件告警
## 🙏 致谢
- [Google Cloud Vertex AI](https://cloud.google.com/vertex-ai) 提供 Gemini API
- [Firebase](https://firebase.google.com/) 提供实时数据同步
- [MITRE ATT&CK](https://attack.mitre.org/) 提供威胁分类框架
- [AbuseIPDB](https://www.abuseipdb.com/) 提供 IP 信誉数据
- [ReportLab](https://www.reportlab.com/) 提供 PDF 生成
**PHANTOM** — *因为最好的防御是完美的幻象。* 🕵️
标签:AI蜜罐, Cloudflare, ECS, Firebase, GCP, Gemini, GitHub, Google Cloud, IP 地址批量处理, MITRE ATT&CK, Python, React, Syscalls, Terraform, Vertex AI, 企业安全, 动态环境生成, 基础架构即代码, 威胁情报, 实时处理, 开发者工具, 强化学习, 插件系统, 攻击者追踪, 无后门, 无线安全, 网络安全, 网络安全审计, 网络资产管理, 自动化报告, 逆向工具, 隐私保护, 黑客诱捕