Anantgoel2005/deception-orchestrator
GitHub: Anantgoel2005/deception-orchestrator
自托管的蓝队 SOC 分析师控制台,通过受控诱饵和 URL Canary 生成 MITRE 标签化事件与调查时间线,用于展示和演练欺骗技术工作流。
Stars: 0 | Forks: 0
# Deception Orchestrator
Deception Orchestrator 将受控的诱饵和 Canary 活动转化为带有 MITRE 标签的事件、可解释的警报和调查时间线。它的构建旨在展示蓝队工作流,而无需真实的攻击者或外部 LLM。
[快速开始](#quick-start) · [演示流程](#demo-flow) · [架构](#architecture) · [部署](#deployment) · [安全边界](#security-boundary)
## 您可以演示的内容
| 能力 | 展示内容 |
| --- | --- |
| **受保护的分析师控制台** | 单管理员登录、HttpOnly 会话、CSRF 检查、速率限制和部署状态。 |
| **演示实验室** | 使用 TEST-NET 地址的确定性凭据到数据泄露场景。 |
| **调查工作流** | MITRE 标签事件、严重性评分、警报分类和有序的攻击时间线。 |
| **URL Canary** | 一次性信标回调,可生成严重事件和警报。 |
| **本地诱饵实验室** | 显式的、仅限本地的 Docker 诱饵,带有独立的日志监控工作进程。 |
| **可选的 AI 丰富化** | 配置后 DeepSeek 可以丰富分析;确定性离线规则仍作为默认的回退方案。 |
## 架构
```
flowchart LR
Analyst["Security analyst"] --> Console["Next.js analyst console"]
Console --> API["FastAPI control plane"]
API --> DB[("PostgreSQL")]
API --> Queue["Redis streams"]
Canary["URL canary callback"] --> API
Worker["Local lab worker"] --> API
Worker --> Decoys["Private Docker decoys"]
```
公共攻击面仅限于经过身份验证的仪表板和可选的 URL Canary 回调。Docker 管理的诱饵是本地实验室功能,而不是托管部署功能。
## 快速开始
### 前置条件
- Docker Desktop 或带有 Compose v2 的 Docker Engine
- 控制台的可用本地端口 `3000` 和 API 的可用本地端口 `8000`
### 启动安全控制平面
```
cp .env.example .env
# PowerShell: Copy-Item .env.example .env
# 在 .env 中设置 SECRET_KEY 和 ADMIN_PASSWORD,然后:
docker compose up --build
```
打开 [http://localhost:3000](http://localhost:3000),然后使用 `.env` 中的 `ADMIN_USERNAME` 和 `ADMIN_PASSWORD` 登录。
默认配置可离线运行。要启用 DeepSeek 丰富化,请设置:
```
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=your_key_here
LLM_MODEL=deepseek-v4-flash
```
## 演示流程
1. 打开 **演示实验室** 并运行安全场景。
2. 在 **事件** 中查看生成的凭据尝试、成功访问、命令活动、漏洞利用尝试和 Canary 触发。
3. 打开关联的 **调查**,以跟踪有序的攻击时间线和 MITRE 上下文。
4. 在 **警报** 中,确认或解决高置信度的发现。
5. 在 **Canaries** 中,生成 URL 信标,复制其回调 URL,并请求一次以触发严重警报。
该场景使用仅限文档的 TEST-NET 地址,并遵循与诱饵和 Canary pipeline 相同的事件处理路径。
## 本地诱饵实验室
Docker 诱饵默认被禁用。仅在受控的机器上启用它们:
```
docker compose -f docker-compose.yml -f docker-compose.lab.yml up -d --build
```
从 **本地诱饵** 部署 SSH 诱饵,然后从同一实验室网络中您控制的 VM 或设备进行连接。工作进程会将生成的连接事件记录在分析师控制台中。
## 部署
生产环境 overlay 适用于支持 Docker 的 Linux VPS 上的**控制平面和 URL Canary 回调**。它不会挂载 Docker socket,也不会暴露实验室诱饵。
1. 将域名的 DNS 记录指向 VPS。
2. 配置 `DOMAIN`、`APP_BASE_URL`、`CANARY_BASE_URL`、32 个字符以上的 `SECRET_KEY`、`ADMIN_USERNAME` 和 `ADMIN_PASSWORD_HASH`。
3. 运行:
docker compose -f docker-compose.yml -f docker-compose.production.yml up -d --build
4. 验证 `/health`,通过 HTTPS 登录,生成一个 URL Canary,并从允许的外部设备请求其回调 URL。
有关详细信息,请参阅[部署说明](docs/deployment.md)、[演示脚本](docs/demo-script.md)和[安全说明](docs/security.md)。
## API 和验证
- 本地 OpenAPI 文档:[http://localhost:8000/docs](http://localhost:8000/docs)
- 关键路由:`POST /api/v1/auth/login`、`POST /api/v1/demo/run`、`GET /api/v1/investigations/{session_id}` 和公共的 `GET /c/{token}`
- CI 在代码推送和 Pull Request 时运行后端测试和前端生产构建。
## 项目状态
此代码库已具备作品集展示条件,可用于演示 SOC 欺骗工作流。企业部署将需要独立的收集器/agent 架构、企业身份/RBAC、SIEM 集成、强化的诱饵模板、审计保留和操作保证。
## 许可证和合理使用
目前未包含任何许可证。在接受外部贡献或商业使用之前,请添加明确的许可证并审查[安全边界](docs/security.md)。
标签:搜索引擎查询, 测试用例, 版权保护, 请求拦截, 逆向工具