面向工业网络的开源自主动网络防御
AI代理,能够检测、调查、狩猎和响应跨OT/ICS基础设施的威胁——具备人工审批门和完整审计轨迹。
在线演示: https://onealert-demo.mangoglacier-b3ad215d.southeastasia.azurecontainerapps.io/app/
| 邮箱 | [email protected] |
| 密码 | password123 |
预加载了一个真实的水处理厂:11个OT/IT资产,一个多阶段攻击场景(VPN攻破→横向移动→PLC访问尝试),AI生成的调查案例,包含MITRE ATT&CK映射,以及15+安全事件。
安全态势仪表盘,包含KPI、严重性分布和风险热力图
企业SOC工具年费高达30万-80万美元。拥有PLC、SCADA系统和OT网络的中小制造商负担不起,但它们正日益成为攻击目标。OneAlert为它们提供了一个AI蓝队,能够:
六个专业代理协同工作:
git clone https://github.com/mangod12/OneAlert.git
cd OneAlert
pip install -r requirements.txt
python -m backend.demo
打开 http://localhost:8000/app/ — 演示数据将自动加载,包含攻击场景。
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代理所需
AI_PROVIDER=anthropic # 或 openai, ollama, vllm, groq
ANTHROPIC_API_KEY=sk-ant-... # 或 AI_API_KEY 用于兼容 OpenAI
# 可选
AI_TRIAGE_MODEL=claude-sonnet-4-20250514
AI_BASE_URL=http://localhost:11434/v1 # 用于 Ollama/vLLM
SECRET_KEY=your-production-secret
DATABASE_URL=postgresql://user:pass@host/db
OneAlert AI 安全操作系统
┌─────────────────┬───────────────────┬───────────────────────┐
│ 传感器层 │ 代理层 │ 控制平面 │
│ │ │ │
│ Suricata EVE │ 检测代理 │ 策略引擎 │
│ Zeek 日志 │ 分类代理 │ 自主等级 │
│ Syslog/Auth │ 狩猎代理 │ 审批工作流 │
│ OT 发现 │ 响应代理 │ 代理账本 │
│ PII 脱敏 │ 紫色团队代理 │ OT区域约束 │
│ │ 合规代理 │ 行动执行器 │
├─────────────────┼───────────────────┼───────────────────────┤
│ 数据层 │ AI运行时 │ 前端 │
│ │ │ │
│ PostgreSQL │ Claude (默认) │ 仪表盘 │
│ SQLite (开发) │ 兼容OpenAI │ 案例与调查 │
│ 事件存储 │ Ollama/vLLM │ 事件查看器 │
│ 代理账本 │ 模型路由 │ MITRE ATT&CK 地图 │
│ 语义搜索 │ │ 狩猎实验室 │
│ │ │ 响应计划 │
│ │ │ 紫色团队验证 │
└─────────────────┴───────────────────┴───────────────────────┘
Suricata/Zeek 事件 ──► 接收 API ──► 事件存储
│
检测代理 (异常检测)
│
CVE 告警 (NVD/CISA/ICS-CERT) ──► 分类代理 (关联 + MITRE)
│
调查案例
│
响应代理 (管控计划)
│
人工批准 ──► 执行行动
完整API文档请在本地运行时访问 /docs。
backend/
├── services/ai/ # 提供商无关的LLM运行时
├── services/agents/ # 检测、分类、狩猎、响应、紫色代理
├── services/mitre/ # MITRE ATT&CK集成
├── services/parsers/ # Suricata + Zeek事件解析器
├── models/ # SQLAlchemy模型 + Pydantic模式
├── routers/ # FastAPI路由处理程序
├── services/pii_redactor.py # PII/机密信息脱敏流水线
├── services/action_executor.py # 响应行动执行
├── services/semantic_search.py # TF-IDF搜索 + 爆炸半径
└── services/ # CVE、合规、计费、通知
frontend-v2/src/
├── pages/ # 仪表盘、案例、事件、狩猎实验室、MITRE地图、响应计划、验证
├── components/ # 图表、布局、共享UI
└── stores/ # Zustand认证状态
tests/ # 309个pytest测试
tests/e2e/ # 针对已部署应用的Playwright E2E测试
docs/ # AI_CONTEXT、ARCHITECTURE、CODEMAP、VISION
OneAlert的差异化优势:AI代理进行调查和响应,而不仅仅是收集日志。每一个行动都受策略管控,对OT资产需要人工批准。
欢迎贡献!最需要帮助的领域:
MIT — 参见 License。
专为那些负担不起50万美元SOC平台但仍然需要的安全团队而建。
AI生成的调查案例,包含MITRE ATT&CK映射和攻击时间线 |
MITRE ATT&CK 覆盖热力图,附带技术搜索功能 |
自然语言威胁狩猎,附带AI生成的查询 |
Suricata/Zeek安全事件,支持严重性过滤 |
CVE漏洞告警,附带AI修复建议 |
OT/IT资产清单,按照Purdue模型分类 |
| 代理 | 功能描述 |
|---|
| 检测代理 (Detect Agent) | 分析事件统计数据,用于端口扫描、OT协议异常、C2模式等 |
| 分类代理 (Triage Agent) | 将告警和事件关联成调查案例,并映射到MITRE ATT&CK框架 |
| 狩猎代理 (Hunt Agent) | 接收自然语言假设,生成SQL查询,输出Sigma规则 |
| 响应代理 (Response Agent) | 生成带有有序遏制措施的响应计划 |
| 紫色团队代理 (Purple Agent) | 模拟ATT&CK技术以验证检测覆盖 |
| 合规代理 (Compliance Agent) | 将平台数据映射到IEC 62443和NIST CSF控制项 |
| 层级 | 技术 |
|---|
| 后端 | 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, Azure Container Apps |
| CI | GitHub Actions, 330+ 测试 (309 pytest + 22 Playwright E2E) |
| 端点 | 描述 |
|---|
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 | 按技术统计检测覆盖 |
| 能力 | 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) | 内置 | 否 | 否 | 否 | 否 |
| 行业 | 用例 |
|---|
| 水/废水处理 | 监控控制化学投加和泵站的PLC |
| 制造业 | 保护工厂车间的HMI和SCADA系统 |
| 能源/公用事业 | 检测从IT到OT控制网络的横向移动 |
| MSSP | 为工业客户提供多租户SOC即服务 |
| 安全团队 | 紫色团队验证检测覆盖 |
| 合规 | 自动收集IEC 62443和NIST CSF证据 |