BorShiik/HoneyGrid-Threat-Intelligence
GitHub: BorShiik/HoneyGrid-Threat-Intelligence
一个基于 Azure 构建的分布式威胁情报平台,通过蜜罐传感器网络被动采集攻击并利用 AI 进行分类与情报发布。
Stars: 0 | Forks: 0
# HoneyGrid — 分布式威胁情报平台




HoneyGrid 是一个构建在 Azure 云端的分布式威胁情报平台。
Honeypot 传感器网络(SSH / web / RDP)吸引来自互联网的真实攻击,
实时的事件 pipeline 会通过地理定位
和外部威胁情报源丰富每一次攻击尝试,利用 AI 对其进行分类
(kill chain 阶段、复杂程度、意图),以 **STIX 2.1** 格式发布攻陷指标
,与 **Microsoft Sentinel / SOAR**
集成,并通过 SignalR 在实时更新的 React dashboard 上展示一切。
## 架构
```
flowchart LR
subgraph DMZ["Podsieć DMZ — sensory"]
S1["Honeypot SSH
(Cowrie)"] S2["Honeypot Web"] S3["Honeypot RDP"] end subgraph LOGIC["Podsieć logiki — przetwarzanie"] EH["Event Hub
(ingest zdarzeń)"] FX["Azure Functions
wzbogacanie: GeoIP, TI"] AI["Klasyfikator AI
(Azure OpenAI)
kill chain / intencja"] SR["Azure SignalR
hub /hubs/attacks"] API["API dashboardu
(REST wg openapi.yaml)"] end subgraph DATA["Podsieć danych"] COS[("Cosmos DB
events / actors / sessions / iocs")] BLOB[("Blob Storage
nagrania TTY, surowe logi")] end subgraph SIEM["SIEM / SOAR"] DCR["DCR / AMA"] SEN["Microsoft Sentinel"] LA["Logic Apps
(playbooki SOAR)"] end WEB["Dashboard React
mapa ataków na żywo"] STIX["Kanał STIX 2.1
/api/iocs/stix"] S1 & S2 & S3 --> EH S1 & S2 & S3 -. agent AMA .-> DCR --> SEN --> LA EH --> FX --> COS FX --> BLOB COS -- Change Feed --> AI --> COS COS -- Change Feed --> SR --> WEB API --> COS WEB --> API API --> STIX --> SEN ``` 两条并行的遥测路径: 1. **SIEM** — 传感器 → DCR/AMA → Log Analytics → Sentinel(分析规则、SOAR playbook), 2. **实时** — 传感器 → Event Hub → Functions(丰富化)→ Cosmos DB → Change Feed → SignalR → dashboard。 详细信息:[docs/architektura.md](docs/architektura.md)。API 契约:[docs/openapi.yaml](docs/openapi.yaml)。 ## Monorepo 结构 ``` HoneyGrid-Threat-Intelligence/ ├── src/ │ ├── HoneyGrid.Contracts/ # Wspólny schemat zdarzeń (NuGet wewnętrzny) │ ├── HoneyGrid.Sensors/ # Sensory honeypot i shippery logów │ ├── HoneyGrid.Ingestion/ # Ingest z Event Huba │ ├── HoneyGrid.Functions/ # Functions: wzbogacanie, klasyfikacja, agregacje │ ├── HoneyGrid.Stix/ # Generator paczek STIX 2.1 │ ├── HoneyGrid.Api/ # API dashboardu (kontrakt: docs/openapi.yaml) │ └── HoneyGrid.Web/ # Frontend React (Vite + TS + Tailwind v4) ├── infra/ │ └── bicep/ # main.bicep + moduły, parametry dev/prod ├── docs/ # openapi.yaml, architektura.md ├── fixtures/ # Stałe punkty styku do pracy równoległej ├── tests/ # Testy .NET └── .github/workflows/ # CI/CD (GitHub Actions) ``` ## 技术栈 | 层级 | 技术 | |---|---| | 后端 | .NET 10 (C#), Azure Functions (isolated worker) | | 前端 | React 18.2, Vite, TypeScript, Tailwind CSS v4, MSW (mock) | | 基础设施即代码 | Bicep (模块 + dev/prod 参数) | | Azure 服务 | Event Hubs, Cosmos DB, Azure SignalR Service, Blob Storage, Azure OpenAI, Microsoft Sentinel, Log Analytics, Logic Apps, Container Registry, Static Web Apps, Key Vault | | Honeypot | Cowrie (SSH), 自研 web/RDP 传感器 | | 标准 | OpenAPI 3.1, STIX 2.1, MITRE ATT&CK, Cyber Kill Chain | ## 5 个核心功能 1. **会话回放** — 在浏览器中逐帧播放攻击者的 TTY 会话记录(asciicast 格式)。 2. **实时攻击地图** — 实时在世界地图上展示全球事件(SignalR,无需刷新)。 3. **AI 行为画像** — 将活动关联为攻击者集群 + 通过 LLM 生成档案(原型、目标、威胁等级)。 4. **STIX 2.1 / IoC 频道** — 以行业标准发布攻陷指标,可供 Sentinel/TAXII 直接消费。 5. **凭据分析** — 对最常受到攻击的登录名、密码以及登录名/密码组合进行排名。 ## 工作分工 | | **Track A — 检测与响应** | **Track B — 情报与体验** | |---|---|---| | 传感器 | Honeypot(Cowrie, web, rdp),日志传输 | — | | Pipeline | Event Hub, 摄取, 丰富化(GeoIP, TI) | AI 分类器, 行为画像 | | SIEM | DCR → Sentinel, 规则, SOAR playbook | — | | 数据 | Cosmos DB(事件、会话), Blob(TTY) | Cosmos DB(行为者、IoC、聚合数据) | | API | 根据 `docs/openapi.yaml` 实现 endpoint | STIX 2.1 生成器 | | 前端 | — | React dashboard, 地图, 会话回放器 | | 基础设施 | Bicep: 网络, 传感器, Event Hub, Sentinel | Bicep: Cosmos, SignalR, SWA, OpenAI | **并行工作契约**(互不等待): `HoneyGrid.Contracts` 中的事件 schema,`docs/openapi.yaml` 中的 REST 契约 (前端通过 MSW 进行 mock),位于 [`fixtures/`](fixtures/README.md) 的测试数据。 ## 本地运行 要求:.NET SDK 10, Node.js 24, Azure Functions Core Tools,(可选)Azurite。 ``` # Backend — 构建与测试 dotnet build HoneyGrid.sln dotnet test HoneyGrid.sln # 本地运行 API (Azure Functions) cd src/HoneyGrid.Functions func start # Frontend — 带 MSW mock 的 dev server(无需 backend) cd src/HoneyGrid.Web npm ci npm run dev ``` 前端默认使用从 `docs/openapi.yaml` 生成的 MSW mock, 因此两个 track 可以完全并行工作。 ## 时间表(8 周) | 周次 | Track A | Track B | |---|---|---| | 1 | 网络 + Bicep(3 个子网),第一个 Cowrie honeypot | Dashboard 骨架,基于 OpenAPI 的 MSW mock | | 2 | Event Hub + 事件摄取 | 攻击地图(mock 数据) | | 3 | GeoIP + 威胁情报丰富化 | 实时事件频道 + 统计数据 | | 4 | DCR → Sentinel,首批规则 | Stub 分类器 → 凭据分析 | | 5 | Cosmos Change Feed → SignalR(端到端实时) | AI 分类器(Azure OpenAI) | | 6 | SOAR playbook(Logic Apps) | 行为画像 + AI 档案 | | 7 | TTY 录制 → Blob,API 回放 | 会话回放器,STIX 2.1 频道 | | 8 | 安全加固,端到端测试,生产环境部署 | UX 打磨,文档,演示 | ## 伦理与安全 - Honeypot 是**被动的** — 仅记录传入的攻击;平台不执行任何主动攻击行为。 - 传感器运行在具有严格 NSG 的隔离 DMZ 子网中;它们无法访问内部数据或网络。 - 攻击者投放的制品仅以 SHA-256 哈希值的形式存储,绝不会被执行。 - 攻击者的 IP 地址属于具有安全性质的遥测数据;根据最小化原则,数据保留期受限(TTL 180 天)。 - 密钥仅保存在 Key Vault / GitHub Secrets 中 — 绝不存放在代码库中。 - 本项目具有教育意义(Azure 课程),旨在受控环境中研究攻击者的技术。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
(Cowrie)"] S2["Honeypot Web"] S3["Honeypot RDP"] end subgraph LOGIC["Podsieć logiki — przetwarzanie"] EH["Event Hub
(ingest zdarzeń)"] FX["Azure Functions
wzbogacanie: GeoIP, TI"] AI["Klasyfikator AI
(Azure OpenAI)
kill chain / intencja"] SR["Azure SignalR
hub /hubs/attacks"] API["API dashboardu
(REST wg openapi.yaml)"] end subgraph DATA["Podsieć danych"] COS[("Cosmos DB
events / actors / sessions / iocs")] BLOB[("Blob Storage
nagrania TTY, surowe logi")] end subgraph SIEM["SIEM / SOAR"] DCR["DCR / AMA"] SEN["Microsoft Sentinel"] LA["Logic Apps
(playbooki SOAR)"] end WEB["Dashboard React
mapa ataków na żywo"] STIX["Kanał STIX 2.1
/api/iocs/stix"] S1 & S2 & S3 --> EH S1 & S2 & S3 -. agent AMA .-> DCR --> SEN --> LA EH --> FX --> COS FX --> BLOB COS -- Change Feed --> AI --> COS COS -- Change Feed --> SR --> WEB API --> COS WEB --> API API --> STIX --> SEN ``` 两条并行的遥测路径: 1. **SIEM** — 传感器 → DCR/AMA → Log Analytics → Sentinel(分析规则、SOAR playbook), 2. **实时** — 传感器 → Event Hub → Functions(丰富化)→ Cosmos DB → Change Feed → SignalR → dashboard。 详细信息:[docs/architektura.md](docs/architektura.md)。API 契约:[docs/openapi.yaml](docs/openapi.yaml)。 ## Monorepo 结构 ``` HoneyGrid-Threat-Intelligence/ ├── src/ │ ├── HoneyGrid.Contracts/ # Wspólny schemat zdarzeń (NuGet wewnętrzny) │ ├── HoneyGrid.Sensors/ # Sensory honeypot i shippery logów │ ├── HoneyGrid.Ingestion/ # Ingest z Event Huba │ ├── HoneyGrid.Functions/ # Functions: wzbogacanie, klasyfikacja, agregacje │ ├── HoneyGrid.Stix/ # Generator paczek STIX 2.1 │ ├── HoneyGrid.Api/ # API dashboardu (kontrakt: docs/openapi.yaml) │ └── HoneyGrid.Web/ # Frontend React (Vite + TS + Tailwind v4) ├── infra/ │ └── bicep/ # main.bicep + moduły, parametry dev/prod ├── docs/ # openapi.yaml, architektura.md ├── fixtures/ # Stałe punkty styku do pracy równoległej ├── tests/ # Testy .NET └── .github/workflows/ # CI/CD (GitHub Actions) ``` ## 技术栈 | 层级 | 技术 | |---|---| | 后端 | .NET 10 (C#), Azure Functions (isolated worker) | | 前端 | React 18.2, Vite, TypeScript, Tailwind CSS v4, MSW (mock) | | 基础设施即代码 | Bicep (模块 + dev/prod 参数) | | Azure 服务 | Event Hubs, Cosmos DB, Azure SignalR Service, Blob Storage, Azure OpenAI, Microsoft Sentinel, Log Analytics, Logic Apps, Container Registry, Static Web Apps, Key Vault | | Honeypot | Cowrie (SSH), 自研 web/RDP 传感器 | | 标准 | OpenAPI 3.1, STIX 2.1, MITRE ATT&CK, Cyber Kill Chain | ## 5 个核心功能 1. **会话回放** — 在浏览器中逐帧播放攻击者的 TTY 会话记录(asciicast 格式)。 2. **实时攻击地图** — 实时在世界地图上展示全球事件(SignalR,无需刷新)。 3. **AI 行为画像** — 将活动关联为攻击者集群 + 通过 LLM 生成档案(原型、目标、威胁等级)。 4. **STIX 2.1 / IoC 频道** — 以行业标准发布攻陷指标,可供 Sentinel/TAXII 直接消费。 5. **凭据分析** — 对最常受到攻击的登录名、密码以及登录名/密码组合进行排名。 ## 工作分工 | | **Track A — 检测与响应** | **Track B — 情报与体验** | |---|---|---| | 传感器 | Honeypot(Cowrie, web, rdp),日志传输 | — | | Pipeline | Event Hub, 摄取, 丰富化(GeoIP, TI) | AI 分类器, 行为画像 | | SIEM | DCR → Sentinel, 规则, SOAR playbook | — | | 数据 | Cosmos DB(事件、会话), Blob(TTY) | Cosmos DB(行为者、IoC、聚合数据) | | API | 根据 `docs/openapi.yaml` 实现 endpoint | STIX 2.1 生成器 | | 前端 | — | React dashboard, 地图, 会话回放器 | | 基础设施 | Bicep: 网络, 传感器, Event Hub, Sentinel | Bicep: Cosmos, SignalR, SWA, OpenAI | **并行工作契约**(互不等待): `HoneyGrid.Contracts` 中的事件 schema,`docs/openapi.yaml` 中的 REST 契约 (前端通过 MSW 进行 mock),位于 [`fixtures/`](fixtures/README.md) 的测试数据。 ## 本地运行 要求:.NET SDK 10, Node.js 24, Azure Functions Core Tools,(可选)Azurite。 ``` # Backend — 构建与测试 dotnet build HoneyGrid.sln dotnet test HoneyGrid.sln # 本地运行 API (Azure Functions) cd src/HoneyGrid.Functions func start # Frontend — 带 MSW mock 的 dev server(无需 backend) cd src/HoneyGrid.Web npm ci npm run dev ``` 前端默认使用从 `docs/openapi.yaml` 生成的 MSW mock, 因此两个 track 可以完全并行工作。 ## 时间表(8 周) | 周次 | Track A | Track B | |---|---|---| | 1 | 网络 + Bicep(3 个子网),第一个 Cowrie honeypot | Dashboard 骨架,基于 OpenAPI 的 MSW mock | | 2 | Event Hub + 事件摄取 | 攻击地图(mock 数据) | | 3 | GeoIP + 威胁情报丰富化 | 实时事件频道 + 统计数据 | | 4 | DCR → Sentinel,首批规则 | Stub 分类器 → 凭据分析 | | 5 | Cosmos Change Feed → SignalR(端到端实时) | AI 分类器(Azure OpenAI) | | 6 | SOAR playbook(Logic Apps) | 行为画像 + AI 档案 | | 7 | TTY 录制 → Blob,API 回放 | 会话回放器,STIX 2.1 频道 | | 8 | 安全加固,端到端测试,生产环境部署 | UX 打磨,文档,演示 | ## 伦理与安全 - Honeypot 是**被动的** — 仅记录传入的攻击;平台不执行任何主动攻击行为。 - 传感器运行在具有严格 NSG 的隔离 DMZ 子网中;它们无法访问内部数据或网络。 - 攻击者投放的制品仅以 SHA-256 哈希值的形式存储,绝不会被执行。 - 攻击者的 IP 地址属于具有安全性质的遥测数据;根据最小化原则,数据保留期受限(TTL 180 天)。 - 密钥仅保存在 Key Vault / GitHub Secrets 中 — 绝不存放在代码库中。 - 本项目具有教育意义(Azure 课程),旨在受控环境中研究攻击者的技术。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:Azure, React, Syscalls, 威胁情报, 开发者工具, 蜜罐, 证书利用