AbazarAdam/CyberThreatX
GitHub: AbazarAdam/CyberThreatX
一个轻量级开源威胁检测平台,提供实时日志摄取、Sigma 规则匹配、告警关联、威胁情报富化和机器学习异常评分,帮助安全团队快速搭建 SOC 监控能力。
Stars: 1 | Forks: 0
# CyberThreatX v1.1
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[]()
**CyberThreatX** 是一个现代、轻量级的 SOC-in-a-Box 解决方案,专为实时威胁检测、日志摄取和告警管理而设计。它集成了 Sigma 规则、机器学习异常评分和威胁情报,以提供全面的安全监控平台。
## 🚀 核心功能
- 🔍 **实时监控**: 基于 Watchdog 的文件监控,支持 EVTX、JSON 和 CSV 日志,以及可选的 syslog 摄取。
- 📜 **Sigma 集成**: 原生支持 Sigma 规则,并带有自定义的基于 Python 的 backend。
- 🧠 **机器学习异常检测**: 统计基线建立,并带有可选的机器学习钩子(已搭建 Isolation Forest 脚手架)。
- 🌐 **Web 仪表板**: 现代 Flask 界面,支持告警分类、评论和关联视图。
- 🔗 **告警关联**: 自动对相关告警进行分组(例如,暴力破解检测)。
- 🧬 **威胁情报**: 使用 AlienVault OTX 进行自动富化(VirusTotal 已通过配置搭建脚手架)。
- 🔐 **RBAC**: 针对分析师和管理员的角色访问控制。
- 📊 **导出功能**: 一键导出为 CSV 或 JSON,用于外部报告。
- 🐳 **Docker 就绪**: 完全容器化,易于部署。
## 🏗️ 架构
```
graph TD
subgraph "Ingestion Layer"
W[File Watcher] --> |New Logs| P[Log Ingestor]
S[Syslog Server] --> |Streams| P
end
subgraph "Detection Engine"
P --> |Normalized Events| D[Detection Engine]
D --> |Evaluate| SIG[Sigma Rules]
D --> |Score| ML[ML Engine]
end
subgraph "Persistence & Service"
D --> |Alerts| DB[(SQLite DB)]
TI[Threat Intel] --> |Enrich| DB
C[Correlation] --> |Group| DB
end
subgraph "Interface"
DB --> |API/Data| UI[Flask Dashboard]
UI --> |Triage| DB
end
```
## 🛠️ 安装说明
1. **克隆代码库:**
git clone https://github.com/AbazarAdam/CyberThreatX.git
cd CyberThreatX
2. **设置虚拟环境:**
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .\.venv\Scripts\Activate.ps1
3. **安装依赖项:**
pip install -r requirements.txt
4. **初始化配置:**
cp config.example.py config.py # Windows: copy config.example.py config.py
# 编辑 config.py 以配置您的 API 密钥和路径
## 🖥️ 用法
### 🚀 统一启动(推荐)
启动仪表板和日志监视器最简单的方法是使用统一脚本:
```
python run_all.py
```
访问 [http://localhost:5000](http://localhost:5000)。默认凭据:`admin` / `changeme`(可在 config.py 中配置)。
要在开发过程中启用 debug 模式:
```
set CYBERTHREATX_DEBUG=true # Windows PowerShell: $env:CYBERTHREATX_DEBUG = "true"
```
### ⚡ 手动摄取
```
python detect.py monitored_logs/test.evtx --db cyberthreatx.db
```
## 📂 项目结构
- `dashboard.py`: 主 Flask Web 界面。
- `auth.py`: 身份验证和 RBAC 辅助工具。
- `detect.py`: 主检测引擎逻辑。
- `watcher.py`: 实时文件系统监控。
- `log_ingest.py`: 日志规范化和解析。
- `sigma_loader.py`: Sigma 规则加载器和元数据提取。
- `sigma_backend.py`: Sigma 到 Python 的转换逻辑。
- `ml_engine.py`: 异常评分和基线建立。
- `db.py`: 数据库 schema 和操作。
- `threat_intel.py`: IOC 提取和富化。
- `config.py`: 集中配置。
## 📖 文档
有关项目架构、挑战和实现细节的详细说明,请参阅 [CYBERTHREATX_FINAL_REPORT.md](CYBERTHREATX_FINAL_REPORT.md)。
## 📜 许可证
根据 MIT 许可证分发。有关更多信息,请参见 `LICENSE`。
## 👤 作者
**Abazar Adam**
- GitHub: [@AbazarAdam](https://github.com/AbazarAdam)
- LinkedIn: [@AbazarAdam](https://www.linkedin.com/in/abazaradam)
## 🚀 核心功能
- 🔍 **实时监控**: 基于 Watchdog 的文件监控,支持 EVTX、JSON 和 CSV 日志,以及可选的 syslog 摄取。
- 📜 **Sigma 集成**: 原生支持 Sigma 规则,并带有自定义的基于 Python 的 backend。
- 🧠 **机器学习异常检测**: 统计基线建立,并带有可选的机器学习钩子(已搭建 Isolation Forest 脚手架)。
- 🌐 **Web 仪表板**: 现代 Flask 界面,支持告警分类、评论和关联视图。
- 🔗 **告警关联**: 自动对相关告警进行分组(例如,暴力破解检测)。
- 🧬 **威胁情报**: 使用 AlienVault OTX 进行自动富化(VirusTotal 已通过配置搭建脚手架)。
- 🔐 **RBAC**: 针对分析师和管理员的角色访问控制。
- 📊 **导出功能**: 一键导出为 CSV 或 JSON,用于外部报告。
- 🐳 **Docker 就绪**: 完全容器化,易于部署。
## 🏗️ 架构
```
graph TD
subgraph "Ingestion Layer"
W[File Watcher] --> |New Logs| P[Log Ingestor]
S[Syslog Server] --> |Streams| P
end
subgraph "Detection Engine"
P --> |Normalized Events| D[Detection Engine]
D --> |Evaluate| SIG[Sigma Rules]
D --> |Score| ML[ML Engine]
end
subgraph "Persistence & Service"
D --> |Alerts| DB[(SQLite DB)]
TI[Threat Intel] --> |Enrich| DB
C[Correlation] --> |Group| DB
end
subgraph "Interface"
DB --> |API/Data| UI[Flask Dashboard]
UI --> |Triage| DB
end
```
## 🛠️ 安装说明
1. **克隆代码库:**
git clone https://github.com/AbazarAdam/CyberThreatX.git
cd CyberThreatX
2. **设置虚拟环境:**
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .\.venv\Scripts\Activate.ps1
3. **安装依赖项:**
pip install -r requirements.txt
4. **初始化配置:**
cp config.example.py config.py # Windows: copy config.example.py config.py
# 编辑 config.py 以配置您的 API 密钥和路径
## 🖥️ 用法
### 🚀 统一启动(推荐)
启动仪表板和日志监视器最简单的方法是使用统一脚本:
```
python run_all.py
```
访问 [http://localhost:5000](http://localhost:5000)。默认凭据:`admin` / `changeme`(可在 config.py 中配置)。
要在开发过程中启用 debug 模式:
```
set CYBERTHREATX_DEBUG=true # Windows PowerShell: $env:CYBERTHREATX_DEBUG = "true"
```
### ⚡ 手动摄取
```
python detect.py monitored_logs/test.evtx --db cyberthreatx.db
```
## 📂 项目结构
- `dashboard.py`: 主 Flask Web 界面。
- `auth.py`: 身份验证和 RBAC 辅助工具。
- `detect.py`: 主检测引擎逻辑。
- `watcher.py`: 实时文件系统监控。
- `log_ingest.py`: 日志规范化和解析。
- `sigma_loader.py`: Sigma 规则加载器和元数据提取。
- `sigma_backend.py`: Sigma 到 Python 的转换逻辑。
- `ml_engine.py`: 异常评分和基线建立。
- `db.py`: 数据库 schema 和操作。
- `threat_intel.py`: IOC 提取和富化。
- `config.py`: 集中配置。
## 📖 文档
有关项目架构、挑战和实现细节的详细说明,请参阅 [CYBERTHREATX_FINAL_REPORT.md](CYBERTHREATX_FINAL_REPORT.md)。
## 📜 许可证
根据 MIT 许可证分发。有关更多信息,请参见 `LICENSE`。
## 👤 作者
**Abazar Adam**
- GitHub: [@AbazarAdam](https://github.com/AbazarAdam)
- LinkedIn: [@AbazarAdam](https://www.linkedin.com/in/abazaradam)标签:AMSI绕过, DFIR, Docker, Flask, PB级数据处理, Python, 威胁检测, 安全运维, 安全防御评估, 无后门, 请求拦截, 逆向工具