Jo-the-bat/GEON
GitHub: Jo-the-bat/GEON
GEON 是一个将地缘政治事件与网络威胁情报自动关联的分析平台,填补跨域情报关联的空白。
Stars: 0 | Forks: 0
# GEON
[](LICENSE)
[](https://docs.docker.com/engine/security/rootless/)
**Geopolitical & Cyber Threat Intelligence Platform**
GEON 自动关联外交事件、武装冲突和制裁措施,并与 APT 组织和恶意软件活动的网络威胁情报进行关联。它桥接了现有开源工具未能连接的关联:结构化的 CTI(OpenCTI/STIX2)与地缘政治事件数据(GDELT/ACLED)。
该名称是核心栈的缩写——**n**8n、**E**lasticsearch、**G**DELT、**O**penCTI——并唤起国际关系中的一个核心概念 *geontiation*。
## 为什么选择 GEON?
现有工具只关注单方面,而从未兼顾两者:
| 工具 | 地缘政治事件 | 网络威胁情报 | 关联 |
|------|:---:|:---:|:---:|
| [World Monitor](https://worldmonitor.app) | 是 | 否 | 否 |
| [PizzINT GDELT](https://www.pizzint.watch/gdelt) | 是 | 否 | 否 |
| OpenCTI + Elastic 连接器 | 否 | 是 | 否 |
| **GEON** | **是** | **是** | **是** |
GEON 是首个能够自动检测类似“两国间外交升级随后伴随其中一国主导的 APT 行动”模式的情报平台。
## 架构
```
Internet --> Nginx (TLS) --> Grafana / OpenCTI / n8n
|
Elasticsearch <-- Ingestors (GDELT, ACLED, Sanctions)
|
Grafana (dashboards) <-- Elasticsearch datasource
|
OpenCTI (STIX2) <-- Connectors (MITRE, AlienVault, CISA)
|
n8n (workflows) --> RSS ingestion, enrichment, alerting
|
Correlation Engine --> Alerts (Discord, Email)
```
Elasticsearch 是共享数据层,被三个消费者访问:Grafana 用于仪表盘和可视化、OpenCTI 用于其 STIX2 知识图谱后端、Python 摄入器用于写入地缘政治和 CTI 数据。n8n 处理工作流自动化——RSS 源聚合、实体增强和告警投递。
所有服务均运行在 Nginx 后方,启用 TLS 终止和 Authelia 多因素认证。未对公网暴露任何内部端口。详见 [docs/architecture.md](docs/architecture.md) 获取完整架构图和组件说明。
## 快速开始
### 先决条件
- Docker Engine(无 root 模式)及 Docker Compose v2
- Git
- 8 GB 或以上内存(推荐 16 GB)
- 指向服务器域名的 DNS 记录(用于 TLS)
### 安装
```
# Clone the repository
git clone https://github.com/Jo-the-bat/GEON.git
cd GEON
# Copy the environment template and fill in your secrets
cp .env.example .env
nano .env # Set passwords, API keys, domain
# Run the setup script (checks prerequisites, prepares directories)
chmod +x scripts/setup.sh
./scripts/setup.sh
# Start the stack
docker compose -f docker/docker-compose.yml up -d
# Verify services are healthy
docker compose -f docker/docker-compose.yml ps
```
请参阅 [docs/installation.md](docs/installation.md) 获取完整分步指南。
## 数据源
| 来源 | 类型 | 频率 | 描述 |
|--------|------|-----------|-------------|
| **GDELT** | 地缘政治事件 | 每 15 分钟 | 全球外交/军事事件,CAMEO 编码并带有地理位置 |
| **ACLED** | 武装冲突 | 每日 | 战斗、抗议、针对平民的暴力 |
| **OFAC / EU / UN** | 制裁 | 每周 | 受制裁个人、组织、国家 |
| **RSS via n8n** | 文章 | 持续 | 智库、机构、国防出版物 |
| **OpenCTI Connectors** | 网络威胁 | 持续 | MITRE ATT&CK、AlienVault OTX、CISA KEV、CVE |
详见 [docs/data_sources.md](docs/data_sources.md) 获取 API 说明和配置。
## 关联规则
关联引擎每小时运行一次并应用四条检测规则:
1. **外交升级 + APT 活动**——两国间 Goldstein 评分低于 -5,且在 30 天内出现针对其中一国的 APT 行动。
2. **制裁 + 网络激增**——对某国实施新制裁后,60 天内相关泄露指标增长超过 200%。
3. **武装冲突 + 网络基础设施**——ACLED 战斗或平民暴力事件与同一地理区域的网络操作同时发生。
4. **修辞变化**——某国对之间的语气波动在 7 天内超过 2 个标准差,标记为弱信号。
详见 [docs/correlation_rules.md](docs/correlation_rules.md) 获取触发条件、严重性计算和示例。
## 仪表盘
所有仪表盘均基于 Elasticsearch 作为数据源构建于 Grafana:
| 仪表盘 | 描述 |
|-----------|-------------|
| **全局概览** | 世界地图(Geomap 面板)展示 GDELT 事件、ACLED 冲突与 APT 行动,30 天时间线 |
| **国家概况** | 各国时间线、归因 APT 组、活跃制裁、风险评分,支持国家选择模板变量 |
| **关联分析** | 带严重性过滤和双时间线的跨域模式检测结果 |
| **文章流** | 通过 n8n 摄入的 RSS 来源文章及关键词趋势 |
| **监控** | 服务健康(Prometheus 数据源)、摄入时间戳、索引卷 |
## 路线图
- [x] 阶段 1 —— 基础设施:Nginx、Elasticsearch、Grafana、Authelia、TLS
- [x] 阶段 2 —— OpenCTI:平台、连接器、STIX2 图谱
- [ ] 阶段 3 —— GDELT 摄入与首个 Grafana 仪表盘
- [ ] 阶段 4 —— ACLED 和制裁数据摄入
- [ ] 阶段 5 —— n8n RSS 工作流
- [ ] 阶段 6 —— 关联引擎与告警
- [ ] 阶段 7 —— 监控、备份与定时任务
- [ ] 阶段 8 —— 文档与使用案例
## 安全
- **Rootless Docker**——整个堆栈在无 root 权限下运行
- **Authelia MFA**——所有 Web 服务均启用基于 TOTP 的多因素认证
- **无暴露端口**——仅 Nginx(80/443)可被网络访问
- **全链路 TLS**——通过 Certbot 获取 Let's Encrypt 证书并自动续期
- **密钥管理**——所有凭据存储在 `.env` 中,排除在版本控制之外
- **健康检查**——每个关键服务均配置 Docker 健康检查
## 许可证
本项目采用 MIT License 授权。详见 [LICENSE](LICENSE)。
## 致谢
由 [Joran Batty](https://github.com/Jo-the-bat) 构建,作为国际关系硕士申请的 Portfolio 项目,展示了技术网络安全技能与地缘政治分析的融合。
### 上游项目
- [Elasticsearch](https://www.elastic.co/) —— 搜索与索引
- [Grafana](https://grafana.com/) —— 仪表盘与可视化
- [OpenCTI](https://github.com/OpenCTI-Platform/opencti) —— 网络威胁情报平台
- [n8n](https://n8n.io/) —— 工作流自动化
- [GDELT 项目](https://www.gdeltproject.org/) —— 全球事件数据库
- [ACLED](https://acleddata.com/) —— 武装冲突数据
- [Authelia](https://www.authelia.com/) —— 认证与 MFA
- [Nginx](https://nginx.org/) —— 反向代理
- [Prometheus](https://prometheus.io/) —— 监控
标签:ACLED, APT, Cloudflare, Docker, Elasticsearch, ESC4, FTP漏洞扫描, GDELT, GEON, Grafana, masscan, MITRE ATT&CK, Mutation, n8n, Nginx, OpenCTI, OSINT, RSS 摄取, STIX2, TLS, 事件关联, 代理支持, 仪表盘, 企业搜索, 制裁, 可视化, 告警, 地缘政治威胁情报, 外交事件, 威胁情报平台, 安全编排, 安全运营, 安全防御评估, 工作流自动化, 恶意软件活动, 情报平台, 扫描框架, 搜索引擎, 数据关联, 数据摄取, 根除容器, 武装冲突, 相关性分析, 网络威胁情报, 自动关联, 自动化情报, 请求拦截, 逆向工具, 防御工具, 黄金证书