JD-Vellino/sim-state-engine
GitHub: JD-Vellino/sim-state-engine
基于 Wazuh 遥测的确定性状态驱动 SOC 事件引擎,通过结构化状态管理和本地 MITRE ATT&CK 关联实现可审计的事件生命周期控制。
Stars: 0 | Forks: 0
# SIM — 确定性 SOC 状态引擎
一个基于 Wazuh 遥测构建的确定性、状态驱动的 SOC 事件引擎。
SIM 将安全事件摄入为结构化状态,跨时间关联活动,在本地(离线)映射 MITRE ATT&CK 技术,并通过可控的、基于规则的生命周期逻辑管理事件。
AI 严格作为解释层使用——绝不作为安全事实的来源。
## 
SIM 将事件视为有状态对象,而非临时告警。
## 为什么开发 SIM
大多数 SOC 工作流是仪表板驱动的。
仪表板非常适合可视化。
它们在维护结构化、持久状态方面表现薄弱。
告警出现。
分析师点击。
上下文分散在多个地方。
SIM 将安全推理视为一个有状态系统:
- 事件存储为结构化数据
- 事件通过可控的生命周期转换演进
- 关联操作跨时间窗口进行
- MITRE 映射是确定性和离线的
- 决策可审计
目标很简单:
## 核心能力
- 从 Wazuh indexer 进行遥测摄入
- 结构化 SQLite 状态(events、facts、incidents、decisions)
- 本地 MITRE ATT&CK v18.1 锁定(离线查询)
- 时间窗口攻击链关联
- 确定性事件提升
- 可控状态转换(无重复的 open incident)
- CLI 和 API 接口
- AI 辅助分类解释(非权威)
## 架构概览
Wazuh Agents
→ Wazuh Manager / Indexer
→ SIM 摄入层
→ 结构化状态 (SQLite)
→ 关联与策略引擎
→ 事件生命周期管理
→ AI 解释层(可选)
确定性核心优先。
语言模型其次。
## 设计原则
- 安全事实必须是确定性的
- 状态必须是可审计和可复现的
- 基于规则的逻辑优先于概率性 AI
- 事件生命周期必须一致向前推进
- 推理引擎与语言模型分离
## 系统边界
SIM 不是:
- SIEM 替代品
- 日志存储平台
- 概率性 AI 决策引擎
SIM 是:
- 一个确定性推理层
- 一个结构化事件状态管理器
- 一个关联和生命周期控制引擎
## 项目结构
```
sim/
├── ingest/ # Telemetry ingestion (Wazuh indexer)
│ └── wazuh_indexer.py
├── state.py # Authoritative structured state management
├── incidents.py # Incident lifecycle & promotion logic
├── chains.py # Time-window attack chain correlation
├── policy.py # Rule-based decision logic
├── mitre.py # Local MITRE ATT&CK lookup & pinning
├── triage.py # Human-readable hypothesis generation
├── hypotheses.py # Structured reasoning primitives
├── db.py # SQLite schema & connection layer
├── models.py # Data models
├── cli.py # Command-line interface
├── api.py # API interface
└── llm.py # Optional AI interpretation layer
```
标签:AI辅助分类, AMSI绕过, HTTP/HTTPS抓包, MITRE ATT&CK映射, PE 加载器, SOC自动化, SQLite存储, Wazuh, 事件生命周期管理, 事故响应, 云计算, 可复现推理, 告警关联, 威胁检测, 安全合规, 安全编排与自动化, 安全运营中心, 态势感知, 攻击链分析, 文档结构分析, 状态驱动架构, 确定性状态机, 离线攻击框架, 网络代理, 网络安全, 网络映射, 规则引擎, 逆向工具, 遥测数据摄取, 隐私保护