d4vjd/CyberLens

GitHub: d4vjd/CyberLens

面向专业SOC工作流的安全信息与事件管理平台,提供日志接入、实时检测、MITRE ATT&CK映射和事件响应全流程能力。

Stars: 0 | Forks: 0

CyberLens Logo

# CyberLens SIEM [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/085fd7444d203858.svg)](https://github.com/d4vjd/CyberLens/actions/workflows/ci.yml) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3b05806a72203900.svg)](https://github.com/d4vjd/CyberLens/actions/workflows/codeql.yml) [![License: Hippocratic 3.0](https://img.shields.io/badge/License-Hippocratic_3.0-lightgrey.svg)](LICENSE) 一个为专业 SOC 工作流构建的作品集级安全信息与事件管理 (SIEM) 应用程序:日志接入、实时检测、MITRE ATT&CK 覆盖映射、事件响应以及实时运行遥测。 CyberLens 以单个 Docker Compose 栈运行 (FastAPI · React · MySQL · Redis · nginx)。实时模式现在包含一个基准遥测发射器,在连接外部日志源之前,通过真实的接入管道发送真实的健康探测、服务心跳和常规网络流。 本仓库中的截图是在启用合成模式的宽屏桌面布局下捕获的,因此每个工作流都保持完全填充状态。

CyberLens Overview Dashboard


## 目录 - [CyberLens SIEM](#cyberlens-siem) - [目录](#table-of-contents) - [功能特性](#features) - [画廊](#gallery) - [技术栈](#tech-stack) - [项目结构](#project-structure) - [前置条件](#prerequisites) - [快速开始](#quick-start) - [实时与场景工作流](#live-and-scenario-workflow) - [开发](#development) - [可用 Make 目标](#available-make-targets) - [文档](#documentation) - [贡献](#contributing) - [许可证](#license) - [应用展示](#app-showcase) - [详细调查](#detailed-investigations) - [事件响应](#incident-response) - [规则编写与检测策略](#rule-authoring--detection-strategies) - [高层概览](#high-level-overview) ## 功能特性 - **日志接入** — 用于原始和批量日志接入的 REST 端点,以及 Compose 栈内的 syslog 接收器 (UDP/TCP)。 - **解析器注册表** — 内置针对 syslog、Windows 事件、防火墙日志、NetFlow 风格日志、JSON 日志的解析器,以及通用文本回退。 - **实时检测** — 由 Redis Stream 支持的检测引擎,根据 YAML 中定义的阈值、模式、序列和聚合规则生成警报。 - **MITRE ATT&CK 映射** — 捆绑的 ATT&CK 子集,具有源自实时规则和警报的 API 驱动矩阵覆盖率。 - **规则编写** — 实时规则编辑,支持 YAML 保存、目录重新加载以及针对历史遥测数据的测试。 - **事件响应** — 案例创建、警报升级、评论、Playbook 执行、证据上传和模拟响应操作。 - **运行基准遥测** — 实时模式发送真实的 MySQL 和 Redis 健康检查、服务心跳以及正常的服务到服务流,路径与外部遥测使用的接入路径相同。 - **分析** — 用于吞吐量、严重性分布、事件类型组合、顶级来源和基准脉冲可见性的运行仪表板。 - **场景工具** — 种子场景和合成生成仍可用于演练,但与主要的实时工作流分开。 - **仪表板 UI** — React + TypeScript 前端,具有专业的 SOC 专注外壳、紧凑的主题切换、实时/合成模式分离和数据清除控制。 - **CI/CD** — 用于 lint、测试、安全扫描 (Bandit + CodeQL) 和前端构建验证的 GitHub Actions 工作流。 ## 画廊 下面的所有画廊截图均使用宽屏桌面视口和合成演练数据集。
查看应用截图
| 事件探索 | 警报与检测 | | :---: | :---: | | Events | Alerts | | **MITRE ATT&CK 映射** | **事件响应 (案例)** | | MITRE Mapping | Cases | | **规则编写** | **分析与趋势** | | Rules | Analytics | | **系统设置** | | | Settings | |
## 技术栈 | 层级 | 技术 | |---|---| | **后端** | Python 3.12 · FastAPI · SQLAlchemy 2.0 (async) · Alembic · Pydantic · structlog | | **前端** | React 18 · TypeScript · Vite · React Router · TanStack Query · Recharts · Zustand | | **数据库** | MySQL 8.4 | | **缓存 / 流** | Redis 7.4 | | **反向代理** | nginx | | **容器化** | Docker · Docker Compose | | **CI** | GitHub Actions · Ruff · mypy · Bandit · CodeQL | ## 项目结构 ``` siem/ ├── backend/ # FastAPI application │ ├── src/cyberlens/ # Application source │ │ ├── analytics/ # Trend and overview analytics │ │ ├── common/ # Shared utilities │ │ ├── db/ # SQLAlchemy models and sessions │ │ ├── demo/ # Scenario seeding, synthetic generator, and data clearing │ │ ├── detection/ # Rule engine and evaluators │ │ ├── incidents/ # Case management and playbooks │ │ ├── ingestion/ # Log parsers and ingest endpoints │ │ ├── mitre/ # ATT&CK bundle and coverage API │ │ ├── settings/ # Analyst and system config APIs │ │ ├── streaming/ # Redis stream consumer + WebSocket bridge │ │ ├── config.py # Pydantic settings │ │ └── main.py # App factory and lifespan │ ├── alembic/ # Database migrations │ ├── tests/ # pytest test suite │ ├── Dockerfile # Production image │ └── Dockerfile.dev # Dev image with hot reload ├── frontend/ # React + Vite application │ └── src/ │ ├── app/ # App shell and routing │ ├── features/ # Feature modules (overview, events, alerts, …) │ ├── shared/ # Shared components and hooks │ └── styles/ # Global CSS and design tokens ├── nginx/ # Reverse proxy config ├── rules/ # YAML detection rules (Sigma-inspired) ├── playbooks/ # YAML incident response playbooks ├── docs/ # Extended documentation ├── .github/workflows/ # CI and CodeQL workflows ├── docker-compose.yml # Production stack ├── docker-compose.dev.yml # Dev override (hot reload, host ports) ├── Makefile # Common dev shortcuts └── .env.example # Environment variable template ``` ## 前置条件 - **Docker** ≥ 24.0 和 **Docker Compose** ≥ 2.20 (Compose 插件,而非旧版 `docker-compose` 二进制文件) - **Make** (可选,用于快捷目标) - 不需要本地安装 Python 或 Node.js —— 一切都在容器内运行。 ## 快速开始 ``` # 1. Clone the repository git clone https://github.com/d4vjd/CyberLens.git cd CyberLens # 2. (可选)覆盖默认环境变量 cp .env.example .env # 3. 构建并启动所有服务 docker compose up --build # 4. 打开 Dashboard open http://localhost # 5. 验证 API 健康端点 curl http://localhost/api/v1/health # 6. (可选)为演练植入场景数据 make seed ``` 该栈公开: | 服务 | URL | |---|---| | 仪表板 (nginx → frontend) | [http://localhost](http://localhost) | | API (nginx → backend) | [http://localhost/api/v1/…](http://localhost/api/v1/health) | | Syslog 监听器 | `TCP/UDP 514` | ## 实时与场景工作流 CyberLens 同时支持实时操作和辅助场景工具: 1. **实时模式** — 默认操作模式。仪表板从真实 API 读取数据,基准发射器通过运行健康探测、服务心跳和常规网络流保持管道活跃。 2. **场景播种** — 使用设置页面或 `make seed` 将真实的攻击活动注入实时数据存储,用于验证或演练。 3. **合成模式** — 可选的前端仅数据集,用于演示和可重复的演练。它不会改变后端状态。 当您明确需要连续的场景流量时,也可以从设置启动后台合成生成器。 设置页面还包括数据清除控制: - `清除种子数据` 仅移除种子的场景事件、警报和案例。 - `清除实时数据` 移除已索引的事件、警报、案例和关联的调查记录,以便实时基准可以干净地重新填充数据存储。 ## 开发 使用开发覆盖栈在后端和前端上进行热重载: ``` docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build ``` | 服务 | 主机端口 | 备注 | |---|---|---| | 后端 | `8000` | Python 文件更改时自动重载 | | 前端 | `5173` | 启用 HMR | | nginx | `8080` | 代理到两个服务 | | Syslog | `5514` | 避免在主机上使用特权端口 514 | 有关包括 syslog 接入、基准遥测和场景数据设置在内的完整详细信息,请参阅 [docs/development.md](docs/development.md)。 ## 可用 Make 目标 | 目标 | 描述 | |---|---| | `make up` | 构建并启动生产栈 | | `make down` | 停止所有服务并移除孤立容器 | | `make build` | 构建容器镜像而不启动 | | `make migrate` | 在后端容器内运行 Alembic 迁移 | | `make seed` | 通过 REST API 播种场景数据 | | `make test` | 运行带覆盖率的后端 pytest 套件 | | `make lint` | 在后端上运行 Ruff、mypy 和 Bandit;对前端进行构建检查 | | `make logs` | 实时跟踪所有服务的日志 | ## 文档 扩展文档位于 [`docs/`](docs/) 目录中: - [架构](docs/architecture.md) — 运行流程、服务拓扑和启动序列 - [API 参考](docs/api-reference.md) — 完整的端点列表,包含接入、检测和事件响应说明 - [检测规则](docs/detection-rules.md) — YAML 规则 schema、支持的规则类型和示例 - [开发](docs/development.md) — 本地开发设置、syslog 接入、基准遥测和场景数据 - [部署](docs/deployment.md) — 生产和开发部署指南 ## 贡献 有关开发流程、编码标准和 Pull Request 指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 本项目根据 [Hippocratic License 3.0](LICENSE) 授权。 ## 应用展示 仔细看看运行中的 CyberLens 界面: ### 详细调查 允许复杂查询和深入调查的事件浏览器: Events Explorer
### 事件响应 供分析师审查警报、处理案例和记录发现的无缝工作流: Incident Response Cases
### 规则编写与检测策略 实时编辑 YAML 检测规则,执行语法检查,并在历史数据上进行回溯测试: Rules Editor
### 高层概览 可视化您的安全态势并一目了然地跟踪活动趋势: Analytics Overview
标签:AMSI绕过, AV绕过, CISA项目, Cloudflare, CSV导出, CVE, DNS 反向解析, Docker, Docker Compose, FastAPI, Google搜索, Go语言工具, GPT, HTTP/HTTPS抓包, HTTP工具, IP 地址批量处理, MITRE ATT&CK, Modbus, Nginx, OISF, PE 加载器, Python, React, Redis, Syscalls, TypeScript, Web报告查看器, XXE攻击, 企业安全, 后渗透, 威胁情报, 威胁检测, 子域名变形, 安全仪表盘, 安全信息与事件管理, 安全分析平台, 安全插件, 安全编排与自动化, 安全运营中心, 安全防御评估, 容器化部署, 开发者工具, 微服务架构, 态势感知, 插件系统, 搜索引擎查询, 搜索引擎爬取, 搜索语句(dork), 数字签名, 数据包嗅探, 数据泄露, 数据集, 文档安全, 无后门, 无线安全, 日志管理, 流量嗅探, 漏洞管理, 知识库安全, 网络信息收集, 网络安全, 网络安全审计, 网络映射, 网络资产管理, 请求拦截, 逆向工具, 防御绕过, 隐私保护