# Feature Specification: Integrações externas — Wazuh (002) **Branch**: `002-wazuh-integration` | **Created**: 2026-06-08 ## Objetivo Permitir que **qualquer serviço de infra** envie eventos para o Ligbox Ops Desk via webhook genérico. Primeira integração: **Wazuh VM104** (alertas nível ≥ 10). ## User Stories ### P1 — Webhook genérico por origem Ops recebe `POST /api/v1/webhooks/ingress/{source}` com secret por integração; regista evento e cria ticket conforme regras da origem. ### P1 — Wazuh → Desk Alertas de segurança (level ≥ 10) no Wazuh manager aparecem como tickets no Desk com agente, regra, severidade e IP. ### P2 — UI por origem Filtro de eventos/tickets por origem (`vm112-onboard`, `wazuh`) e badge de severidade Wazuh. ## Functional Requirements - FR-001: Endpoint `POST /api/v1/webhooks/ingress/{source}` com auth por secret - FR-002: Secrets configuráveis: `WEBHOOK_SECRET` (onboard), `WAZUH_WEBHOOK_SECRET` - FR-003: Wazuh envia alert JSON nativo; API normaliza para evento `wazuh.alert` - FR-004: Tickets Wazuh apenas se `rule.level >= 10` - FR-005: LAN-only (`10.10.10.122:8080`) - FR-006: UI filtra eventos por `source` - FR-007: Tenant VM104 Wazuh registado ## Out of Scope - Poll Wazuh API (fase posterior) - Expor webhook ingress na internet pública