mangod12/cybersecuritysaas
GitHub: mangod12/cybersecuritysaas
OneAlert 是面向工业 IT/OT 混合环境的开源漏洞情报与资产监控平台,通过多源 CVE 聚合和被动 OT 资产发现,为 SCADA/ICS 系统提供风险感知告警能力。
Stars: 21 | Forks: 2
# CyberSec Alert SaaS
[](https://github.com/mangod12/cybersecuritysaas/actions/workflows/ci.yml)
OneAlert 2.0 是一个为混合 IT/OT 环境构建的工业级漏洞情报平台。它结合了多源 CVE 聚合、被动 OT 发现、工业公告摄取以及资产感知告警功能,旨在降低企业和运营技术领域的风险。
🚀 **在线演示:**
[https://cybersec-saas-zjfau6dqcq-uc.a.run.app/](https://cybersec-saas-zjfau6dqcq-uc.a.run.app/)
🧪 **演示登录:**
- 邮箱: `admin@example.com` / 密码: `password123`
- 或使用 **GitHub OAuth** 登录
**技术栈:** FastAPI + SQLAlchemy + PostgreSQL/Cloud SQL + Cloud Run + Cloud Build CI/CD
## 概述
安全团队被大量的安全公告淹没,而 OT 团队则需要通用扫描器很少能提供的上下文信息。OneAlert 2.0 通过在一个工作流中统一漏洞情报和 OT 感知的资产上下文来解决这一问题。
该平台:
* 聚合来自 NVD, MSRC, Cisco, Red Hat, CISA KEV 以及 ICS/供应商来源的漏洞和公告
* 通过传感器支持执行被动网络资产发现
* 检测工业协议并根据 Purdue 模型的网络区域对资产进行分类
* 使用漏洞、暴露和关键性因素对风险进行评分
* 将告警直接关联到已发现和受管理的 OT/IT 资产
* 支持通知和云原生部署模式
## 系统架构
```
External Sources
(NVD, MSRC, Cisco, Red Hat, CISA KEV, ICS Advisories)
│
▼
Async Scraping Engine (APScheduler)
│
▼
Vulnerability + Advisory Enrichment
│
▼
Asset Correlation Engine (IT/OT)
│
▼
Risk Scoring + Alert Deduplication
│
▼
Dashboard + Notifications (Email/Slack/Webhook)
```
作为容器化的 FastAPI 应用程序部署在 Google Cloud Run 上。
## 核心功能
### OT/ICS 安全情报
* 通过传感器(SNMP, Zeek, Shodan, 自定义)进行 OT 设备的被动发现流水线
* 工业协议检测(Modbus, DNP3, PROFINET, BACnet 等)
* Purdue 区域感知的网络分类和暴露上下文
* ICS-CERT 和供应商公告处理,并结合 CISA KEV 优先级排序
### 漏洞聚合
* NVD CVE 订阅源
* Microsoft MSRC 公告
* Cisco PSIRT API
* Red Hat 安全数据
* 供应商 RSS 订阅源
* CVSS 丰富化
### 资产管理 (IT + OT)
* 完整的 CRUD 资产清单
* 供应商 / 产品 / 版本跟踪
* 已发现设备的摄取和提升为受管资产
* 资产与漏洞匹配
* 元数据跟踪
### 风险与告警系统
* 自动生成告警
* 多因素风险评分(漏洞 + 暴露 + 关键性)
* 严重性分类(从严重到低)
* 去重
* 告警确认工作流
* 仪表板可见性
### 认证与安全
* 安全的密码哈希
* 基于 JWT 的认证
* GitHub OAuth 登录
* Token 验证中间件
### 通知
* 邮件集成
* 仪表板告警可见性
* Slack 和通用 Webhook 支持
## 技术栈
后端:
* FastAPI (async)
* SQLAlchemy 2.0
* PostgreSQL (生产环境)
* SQLite (本地开发)
* APScheduler
* Python-JOSE (JWT)
* Passlib (bcrypt)
前端:
* 原生 JavaScript SPA
* REST API 集成
基础设施:
* Docker
* Google Cloud Run (生产环境)
* Cloud SQL PostgreSQL (生产环境)
* Cloud Build 自动部署流水线
* Nginx (可选反向代理)
* Gunicorn/Uvicorn ASGI 服务器
测试:
* pytest
* pytest-asyncio
## 生产部署
托管于: **Google Cloud Run**
* 通过 Docker 容器化
* 托管 PostgreSQL 数据库
* 异步 API 架构
* 基于环境的配置
* 安全的密钥管理
## 截图
### 告警管理界面

### 资产发现与监控

### OT 安全概览

### 漏洞情报订阅源

### 风险分析仪表板

## 快速开始
### 本地开发
```
# 安装依赖
pip install -r requirements.txt
# 设置数据库(创建表并植入演示用户)
python scripts/setup_database.py
# 运行开发服务器
uvicorn backend.main:app --reload
```
访问: http://localhost:8000/app/
有关 OT 入门(传感器、已发现设备、关联和分析),请参阅 [QUICKSTART.md](QUICKSTART.md)。
### 生产部署
**已配置自动部署!** 只需推送到 `main` 分支:
```
git push origin main
```
Cloud Build 触发器会自动构建并部署到 Cloud Run。
**首次设置:**
1. 按照 [CLOUD_SQL_SETUP.md](CLOUD_SQL_SETUP.md) 创建 PostgreSQL 数据库
2. 或在 Cloud Shell 中运行自动化脚本:
bash scripts/setup_cloud_sql.sh YOUR_PROJECT_ID
## 配置
将 `.env.example` 复制到 `.env` 并进行配置:
**必需:**
- `SECRET_KEY` - 用于 JWT 签名的随机密钥
- `DATABASE_URL` - PostgreSQL 连接字符串
**可选:**
- `GITHUB_CLIENT_ID` / `GITHUB_CLIENT_SECRET` - 用于 GitHub OAuth
- `MAILGUN_API_KEY` / `MAILGUN_DOMAIN` - 用于邮件告警
- `SLACK_WEBHOOK_URL` / `GENERIC_WEBHOOK_URL` - 用于外部告警投递
- `NVD_API_KEY` - 用于 CVE 数据(更高的速率限制)
有关完整的配置选项,请参阅 [.env.example](.env.example)。
## 路线图
* 基于 CPE 的资产匹配
* EPSS 集成
* Slack & Teams 通知
* OT 协议级扫描和拓扑感知
* 基于角色的访问控制 (RBAC)
* 多租户架构
* CI/CD 流水线自动化
## 仓库结构
```
backend/ FastAPI app, routers, models, services
├── routers/ API endpoints
├── services/ Business logic & external API integrations
├── models/ SQLAlchemy ORM models
└── database/ DB connection & seeding
frontend/ Vanilla JS SPA
scripts/ Deployment & setup utilities
tests/ pytest test suite
.github/workflows/ CI/CD pipelines
├── ci.yml Tests on PR
└── deploy.yml Auto-deploy on push
cloudbuild.yaml Cloud Build configuration
Dockerfile Container image
```
## 项目意义
本项目展示了:
* 异步后端架构
* 外部 API 集成
* 计划后台任务
* 安全认证系统
* 资产关联逻辑
* 生产部署经验
* 容器化与云部署
## 许可证
MIT
标签:AV绕过, CISA KEV, CVE 监控, FastAPI, ICS 安全, PE 加载器, PostgreSQL, SaaS, SCADA 安全, Snort++, XSS, 后渗透, 告警管理, 威胁情报, 安全仪表盘, 安全规则引擎, 密码管理, 工业协议检测, 工业网络安全, 开发者工具, 插件系统, 数据可视化, 无线安全, 普渡模型, 测试用例, 混合环境安全, 漏洞情报, 物联网安全, 网络分区, 被动扫描, 请求拦截, 运营技术安全, 逆向工具, 防御绕过, 风险评分