mangod12/OneAlert
GitHub: mangod12/OneAlert
OneAlert 是一个开源 AI 安全操作系统,专注于为 OT/ICS 网络提供智能威胁检测与响应,解决中小企业工业网络安全防护难题。
Stars: 30 | Forks: 3
OneAlert AI Security OS
Open-source autonomous cyber defense for industrial networks
AI agents that detect, investigate, hunt, and respond to threats across your OT/ICS infrastructure — with human approval gates and full audit trails.
Live Demo ·
Features ·
Quick Start ·
Architecture
## 立即体验
**在线演示:** https://cybersec-saas-498310931350.us-central1.run.app/app/
| | |
|---|---|
| 邮箱 | `admin@example.com` |
| 密码 | `password123` |
## 效果展示
Security posture dashboard with KPIs, severity breakdown, and risk heatmap
AI-generated investigation case with MITRE ATT&CK mapping and attack timeline
|
MITRE ATT&CK coverage heatmap with technique search
|
Natural-language threat hunting with AI-generated queries
|
Suricata/Zeek security events with severity filtering
|
CVE vulnerability alerts with AI remediation
|
OT/IT asset inventory with Purdue model classification
|
## 创建初衷
企业级SOC工具每年花费30万至80万美元。拥有PLC、SCADA系统和OT网络的中小型制造商无法承担——但他们日益成为攻击目标。OneAlert为他们提供了一支**AI蓝队**,其功能包括:
- 摄取Suricata/Zeek网络遥测数据
- 使用AI代理(而非仅静态规则)检测异常
- 将警报关联到带有MITRE ATT&CK映射的调查案例中
- 生成响应计划,并设置人工审批关卡
- 使用自然语言进行威胁搜捕
- 强制执行OT安全约束(禁止对PLC进行自主操作)
## 功能特性
### AI代理流水线
六个专业代理协同工作:
| 代理 | 功能 |
|------|------|
| **检测代理** | 分析事件统计,识别端口扫描、OT协议异常、C2模式 |
| **分诊代理** | 将警报和事件关联到带有MITRE ATT&CK映射的调查案例 |
| **搜捕代理** | 接受自然语言假设,生成SQL查询,输出Sigma规则 |
| **响应代理** | 生成包含有序遏制措施的响应计划 |
| **紫队代理** | 模拟ATT&CK技术以验证检测覆盖率 |
| **合规代理** | 将平台数据映射到IEC 62443和NIST CSF控制项 |
### 受治理的自主性
- **5个自主级别**(L0只读到L4危机模式)
- **OT安全约束**:Purdue Level 0-3资产的遏制操作始终需要人工批准
- **完整的代理账本**:记录每个AI决策的模型、token用量、推理过程
- **策略引擎**:按区域、资产类型和自主级别设定操作批准规则
- **审批工作流**:通过REST API在执行前批准/拒绝响应计划
- **操作执行器**:12种操作类型(通知、阻止IP、隔离主机、隔离VLAN等)
### 个人身份信息与密钥脱敏
- **8种模式类型**:邮箱、社保号、信用卡号、API密钥、Bearer令牌、密码、私钥、JWT
- **集成到事件摄取流程**:在存储和LLM处理之前剥离敏感信息
- **保留网络可观测指标**:保留IP、端口、域名、主机名用于安全分析
### 紫队验证
- **模拟ATT&CK测试**:8个技术类别,附带原子测试库
- **试运行/实验室/生产模式**:生产模式需要明确的人工批准
- **检测覆盖率指标**:每个技术的检测率和差距分析
- **控制结果跟踪**:哪些检测规则触发了,哪些未触发
### 语义搜索与爆炸半径
- **自然语言案例搜索**:基于TF-IDF的排序,无外部依赖
- **相似事件检索**:余弦相似度匹配,并高亮共享的MITRE技术
- **爆炸半径图**:实体关系可视化(案例中的资产、IP、MITRE技术)
### 安全事件摄取
- **Suricata EVE JSON** 解析器(警报、DNS、HTTP、TLS、流)
- **Zeek 日志** 解析器(conn, dns, http, ssl, files, notice)
- **Webhook 接收器**,用于Filebeat/Fluentd实时摄取
- **文件上传**,用于离线分析
### MITRE ATT&CK 集成
- 企业 + ICS 矩阵(16个战术,30+技术)
- 从Suricata签名自动映射到技术
- 按战术查看检测覆盖热图
- 可搜索的技术浏览器
### 威胁搜捕实验室
- 自然语言输入:*“查找从工程工作站到PLC子网的横向移动”*
- AI针对您的事件数据生成SQL查询
- 根据确认的发现自动生成Sigma检测规则
- 只读查询安全验证(阻止INSERT/UPDATE/DELETE)
### OT/ICS漏洞管理
- 多源CVE聚合(NVD, CISA KEV, ICS-CERT, Cisco PSIRT, Microsoft MSRC)
- AI驱动的OT感知修补建议(针对关键区域的补偿控制措施)
- EPSS 漏洞利用概率评分
- SBOM分析(CycloneDX/SPDX)
- 被动设备发现与Purdue模型分类
### 代码即合规
- IEC 62443-3-3(10项控制)+ NIST CSF 2.0(11项控制)
- 自动从平台数据收集证据
- 持续合规评分
### 多租户与计费
- 带有基于角色的访问控制的组织模型(管理员/分析师/查看者)
- Stripe计费(免费版,入门版499美元,专业版1,999美元,企业版4,999美元/月)
- SIEM集成(Splunk, Sentinel, ServiceNow, PagerDuty)
## 快速开始
### 一键演示
```
git clone https://github.com/mangod12/OneAlert.git
cd OneAlert
pip install -r requirements.txt
python -m backend.demo
```
### Docker 部署
```
docker compose up --build
```
### 本地开发
```
# 后端
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python -m uvicorn backend.main:app --reload
# 前端
cd frontend-v2 && npm install && npm run dev
```
### 环境变量
```
# AI agents 所需
AI_PROVIDER=anthropic # or openai, ollama, vllm, groq
ANTHROPIC_API_KEY=sk-ant-... # or AI_API_KEY for OpenAI-compatible
# 可选
AI_TRIAGE_MODEL=claude-sonnet-4-20250514
AI_BASE_URL=http://localhost:11434/v1 # for Ollama/vLLM
SECRET_KEY=your-production-secret
DATABASE_URL=postgresql://user:pass@host/db
```
## 架构
```
OneAlert AI Security OS
┌─────────────────┬───────────────────┬───────────────────────┐
│ Sensor Layer │ Agent Layer │ Control Plane │
│ │ │ │
│ Suricata EVE │ Detect Agent │ Policy Engine │
│ Zeek Logs │ Triage Agent │ Autonomy Levels │
│ Syslog/Auth │ Hunt Agent │ Approval Workflow │
│ OT Discovery │ Response Agent │ Agent Ledger │
│ PII Redaction │ Purple Agent │ OT Zone Constraints │
│ │ Compliance Agent │ Action Executor │
├─────────────────┼───────────────────┼───────────────────────┤
│ Data Layer │ AI Runtime │ Frontend │
│ │ │ │
│ PostgreSQL │ Claude (default) │ Dashboard │
│ SQLite (dev) │ OpenAI-compat │ Cases & Investigations│
│ Event Store │ Ollama/vLLM │ Events Viewer │
│ Agent Ledger │ Model Routing │ MITRE ATT&CK Map │
│ Semantic Search│ │ Hunt Lab │
│ │ │ Response Plans │
│ │ │ Purple-Team Validation│
└─────────────────┴───────────────────┴───────────────────────┘
```
### 数据流
```
Suricata/Zeek Events ──► Ingest API ──► Event Store
│
Detect Agent (anomaly detection)
│
CVE Alerts (NVD/CISA/ICS-CERT) ──► Triage Agent (correlation + MITRE)
│
Investigation Cases
│
Response Agent (governed plans)
│
Human Approval ──► Execute Actions
```
## 技术栈
| 层级 | 技术 |
|------|------|
| 后端 | FastAPI, Python 3.11+, SQLAlchemy 2.0 async |
| 前端 | React 19, Vite 8, Tailwind CSS v4, Zustand, Recharts |
| AI 运行时 | 提供商无关 (Claude, GPT-4o, Ollama, vLLM, Groq) |
| 数据库 | PostgreSQL (生产), SQLite (开发) |
| 认证 | JWT + GitHub OAuth + TOTP MFA |
| 部署 | Docker, Google Cloud Run |
| CI | GitHub Actions, 330+ 测试 (309 pytest + 22 Playwright E2E) |
## API 概览
| 端点 | 描述 |
|------|------|
| `POST /api/v1/events/ingest` | 安全事件Webhook接收器 |
| `POST /api/v1/events/upload` | 上传Suricata/Zeek日志文件 |
| `POST /api/v1/cases/pipeline` | 运行完整的AI代理流水线 |
| `POST /api/v1/cases/auto-triage` | 对近期数据运行分诊代理 |
| `POST /api/v1/hunt/` | 启动自然语言威胁搜捕 |
| `GET /api/v1/mitre/coverage` | MITRE ATT&CK检测覆盖率 |
| `GET /api/v1/cases/` | 列出调查案例 |
| `GET /api/v1/alerts/` | 列出漏洞警报 |
| `GET /api/v1/events/stats` | 事件摄取统计 |
| `GET /api/v1/cases/search?q=` | 语义案例搜索 |
| `GET /api/v1/cases/{id}/similar` | 查找相似事件 |
| `GET /api/v1/cases/{id}/blast-radius` | 爆炸半径实体图 |
| `GET /api/v1/response-plans/` | 列出响应计划 |
| `POST /api/v1/response-plans/{id}/approve` | 批准响应计划 |
| `POST /api/v1/response-plans/{id}/execute` | 执行已批准的计划 |
| `POST /api/v1/validation/runs` | 创建紫队验证运行 |
| `POST /api/v1/validation/runs/{id}/execute` | 运行ATT&CK技术测试 |
| `GET /api/v1/validation/coverage` | 按技术查看检测覆盖率 |
本地运行时完整API文档位于 `/docs`。
## 项目结构
```
backend/
├── services/ai/ # Provider-agnostic LLM runtime
├── services/agents/ # Detect, Triage, Hunt, Response, Purple agents
├── services/mitre/ # MITRE ATT&CK integration
├── services/parsers/ # Suricata + Zeek event parsers
├── models/ # SQLAlchemy models + Pydantic schemas
├── routers/ # FastAPI route handlers
├── services/pii_redactor.py # PII/secret redaction pipeline
├── services/action_executor.py # Response action execution
├── services/semantic_search.py # TF-IDF search + blast radius
└── services/ # CVE, compliance, billing, notifications
frontend-v2/src/
├── pages/ # Dashboard, Cases, Events, HuntLab, MitreMap, ResponsePlans, Validation
├── components/ # Charts, layout, shared UI
└── stores/ # Zustand auth state
tests/ # 309 pytest tests
tests/e2e/ # Playwright E2E against Cloud Run
docs/ # AI_CONTEXT, ARCHITECTURE, CODEMAP, VISION
```
## 对比竞品
| 能力 | OneAlert | Wazuh | SecurityOnion | OSSEC | Caldera |
|------|:--------:|:-----:|:-------------:|:-----:|:-------:|
| AI驱动的分诊 | 是 (6个代理) | 否 | 否 | 否 | 否 |
| MITRE ATT&CK映射 | 自动映射 | 手动规则 | 手动 | 否 | 是 |
| OT/ICS协议支持 | Modbus, S7, EtherNet/IP | 有限 | 基于Zeek | 否 | 否 |
| 自然语言威胁搜捕 | 是 | 否 | 否 | 否 | 否 |
| 受治理的响应(审批关卡) | 是 (L0-L4) | 否 | 否 | 否 | 否 |
| 紫队验证 | 内置 | 否 | 否 | 否 | 是 (核心) |
| LLM处理前PII脱敏 | 是 | 不适用 | 不适用 | 不适用 | 不适用 |
| Suricata + Zeek 摄取 | 是 | 是 | 是 | 否 | 否 |
| 合规 (IEC 62443, NIST CSF) | 自动化 | 手动 | 否 | 否 | 否 |
| SBOM分析 | 是 | 否 | 否 | 否 | 否 |
| 可自托管 | 是 | 是 | 是 | 是 | 是 |
| SaaS计费 (Stripe) | 内置 | 否 | 否 | 否 | 否 |
**OneAlert 的差异化**:AI代理进行调查和响应,而不仅仅是收集日志。每个操作都受策略治理,对OT资产需获得人工批准。
## 适用场景
| 行业 | 用例 |
|------|------|
| **水务/污水处理** | 监控控制化学投加和泵站的PLC |
| **制造业** | 保护工厂车间的HMI和SCADA系统 |
| **能源/公用事业** | 检测从IT到OT控制网络的横向移动 |
| **MSSP** | 为工业客户提供多租户SOC即服务 |
| **安全团队** | 紫队验证检测覆盖率 |
| **合规** | 自动化IEC 62443和NIST CSF证据收集 |
## 许可证
MIT — 详见 [许可证](License)。
专为那些无力承担50万美元SOC平台但仍需要它的安全团队而构建。
标签:AI安全, AMSI绕过, Apex, Chat Copilot, Cloudflare, ICS安全, MITRE ATT&CK, OT安全, Python, React, Rootkit, Suricata, Syscalls, Zeek, 中小企业, 人工智能, 人类在环, 动态调试, 威胁响应, 威胁情报, 威胁检测, 安全运营中心, 审计跟踪, 工业控制安全, 工业网络安全, 开发者工具, 开源, 无后门, 机器学习, 测试用例, 现代安全运营, 用户模式Hook绕过, 网络安全, 网络映射, 自主代理, 请求拦截, 逆向工具, 隐私保护, 风险分析