Setounkpe7/soc-autopilot
GitHub: Setounkpe7/soc-autopilot
一个以「检测即代码」理念构建的 SOC 实验性 SOAR 管道,将 Wazuh 告警的富化、审批与自动响应整合为可版本化、可测试的自动化流程。
Stars: 0 | Forks: 0
# soc-autopilot
**检测即代码 SOAR**:一个接收 Wazuh 警报,对其进行
(行业威胁情报 + VirusTotal)丰富,开启 case,请求 Slack 批准,
然后执行响应操作(例如隔离主机)的 pipeline —— 所有这些都像代码一样进行版本控制、
测试和部署。
## 架构(方案 B — 宿主机上的 SIEM)
此实验环境运行在一台 **~12 GB RAM** 的机器上。经典的“3 台机器”
架构(SIEM VM 8 GB + 受害者 VM 4 GB)无法运行。已选择并**确认**的方案:
- **SIEM (Wazuh)** 和 **PostgreSQL** **直接作为容器在宿主机上运行** —
我们移除了 `soc-lab` VM。
- 一台**隔离的 Windows VM** 仍然是**目标**(Sysmon + Wazuh agent + Atomic Red Team)。
- **TheHive** 被替换为 **PostgreSQL 中的 `cases` 表**,位于
`CaseBackend` 接口之后(可通过环境变量切换)。
```
flowchart LR
subgraph HOST["Hôte Ubuntu 24.04 (i7-9700, 12 Go)"]
W["Wazuh Manager / Indexer / Dashboard\n(Docker)"]
PG["PostgreSQL\n(cases + données app)"]
APP["soc-autopilot\n(engine · playbooks · API)"]
K3S["k3s + Helm\n(déploiement)"]
W --> APP --> PG
end
subgraph VM["VM Windows (isolée) 192.168.56.20"]
SYS["Sysmon"] --> AG["Agent Wazuh"]
ART["Atomic Red Team"]
end
AG -->|"events -> 192.168.56.1"| W
APP -->|enrichissement| TI["threat-intel-api (Railway)"]
APP -->|réputation IOC| VT["VirusTotal"]
APP -->|approbation| SL["Slack"]
```
**为什么这样选择(而不是仅仅“遵循教程”):**隔离对于*执行*
攻击性代码的部分 —— **受害者** —— 很重要,而不是对于观察它的收集器。
容器中的 Wazuh 已经被隔离(进程、文件系统、一条命令即可销毁),而且在生产环境中,
SIEM 无论如何都会位于其专用的宿主机上,而不是在桌面 VM 中。
这种权衡源于实际的 RAM 限制,并且是有据可查的 —— 并非隐瞒。
寻址计划:仅主机模式宿主机 `192.168.56.1` · Windows VM `192.168.56.20`。
## 快速开始
```
export SOC_DIR="/media/mdoub/Data/Personal Projects/soc-autopilot"
cd "$SOC_DIR"
# 1. Python Environnement (venv hors NTFS)
source ~/.venvs/soc-autopilot/bin/activate
# 2. Secrets
cp .env.example .env # puis remplir les `changeme`
# 3. PostgreSQL (backend des cas)
cd infra/soc-stack && docker compose up -d && cd -
# 4. Wazuh (voir infra/wazuh/README.md — clone + tuning RAM)
```
**分 2 个阶段使用**(RAM 限制 —— 绝不同时运行所有内容):
| 会话 | 运行内容 | ~RAM |
|---|---|---|
| **检测** | Wazuh + Postgres + **Windows VM** | ~9-10 GB |
| **部署 / SOAR** | Wazuh + Postgres + **k3s** + app | ~7 GB |
## 仓库结构
```
soc_autopilot/ engine, actions, api, models — le cœur applicatif
playbooks/ playbooks SOAR (YAML)
detections/ règles Sigma (windows/ + linux/)
tests/ unit / integration / fixtures
charts/ chart Helm de déploiement
infra/ soc-stack (compose Postgres) + wazuh (notes de lancement)
.github/ workflows CI/CD (lint, SAST, SCA, IaC, signature d'image)
docs/ documentation détaillée (01 → 05)
```
## Pipeline 安全 (shift-left)
`ruff` · `bandit` (SAST) · `mypy` · `pip-audit` (SCA) · `checkov` (IaC) · `trivy`
(容器 + IaC) · `hadolint` · `kubeconform` · `detect-secrets` + `pre-commit`
(防密钥泄露) · `cosign` (keyless 镜像签名)。`sigma-cli` 将 Sigma 规则
转换为 OpenSearch/Elasticsearch/Splunk。
标签:OpenCanary, PostgreSQL, SOAR, Wazuh, 安全运营中心, 检测即代码, 测试用例, 网络映射, 请求拦截, 逆向工具