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)。
标签:搜索引擎查询, 测试用例, 版权保护, 请求拦截, 逆向工具