Szkielet i specyfikacja czterech konektorów SIEM: generic webhook, Splunk HEC, Microsoft Sentinel (Logic App) i IBM QRadar. Kierunek wymiany jest jednokierunkowy: ipIII emituje zdarzenie o incydencie, SIEM przyjmuje je jako alert. Uczciwie: dziś nie mamy działającego transportu SIEM — to ROADMAP. LIVE jest wyłącznie plikowy import findings ze skanerów. Doktryna claim ≤ proof.
ipIII generuje incydenty w warstwie evidence (import → incydent → evidence-package → retest → close). Konektory SIEM mają pozwolić, by taki incydent trafił jako alert do centrum detekcji instytucji. Poniżej: opis payloadu (JSON), kierunek, mapowanie pól i status każdego konektora. Wszystkie przykłady payloadu są syntetyczne — nie zawierają danych realnych zdarzeń ani instrukcji ataku.
Status: MVP = szkielet/spec z częściowym kodem, bez działającego transportu produkcyjnego · ROADMAP = zaplanowane, brak implementacji. Żadna pozycja nie jest jeszcze LIVE na transporcie.
| Konektor | Protokół / cel | Payload | Kierunek | Status |
|---|---|---|---|---|
| Generic webhook | HTTP POST na dowolny endpoint odbiorcy; nagłówek autoryzacyjny (bearer/HMAC). |
JSON ipiii.incident.v1 (schemat poniżej). |
incydent ipIII → webhook odbiorcy | MVP |
| Splunk HEC | HTTP Event Collector — POST /services/collector/event, token HEC. |
Koperta HEC {"event": {...ipiii.incident.v1...}, "sourcetype":"ipiii:incident"}. |
incydent ipIII → indeks Splunk | ROADMAP |
| Microsoft Sentinel | Logic App / HTTP trigger (docelowo Data Collection Rule + DCE). Wariant MVP: webhook do Logic App. | JSON ipiii.incident.v1 mapowany na tabelę custom w Log Analytics. |
incydent ipIII → Sentinel (Log Analytics) | ROADMAP |
| IBM QRadar | Warianty: syslog LEEF, albo REST /api/siem/offenses (wg konfiguracji instytucji). |
Mapowanie ipiii.incident.v1 → pola LEEF/JSON. |
incydent ipIII → QRadar | ROADMAP |
ipiii.incident.v1Wspólny, neutralny transportowo model zdarzenia. Każdy konektor opakowuje ten obiekt we własną kopertę (HEC / Logic App / LEEF). Pola opisowe, wyłącznie metadane incydentu.
| Pole | Typ | Opis |
|---|---|---|
schema | string | Wersja schematu, np. ipiii.incident.v1. |
incident_id | string | Identyfikator incydentu w ipIII. |
title | string | Krótki tytuł (bez danych wrażliwych, bez PoC ataku). |
severity | enum | info | low | medium | high | critical (mapowane na skalę SIEM). |
status | enum | open | in_review | retest | closed. |
source | string | Skąd finding: np. file-import:nessus (dziś LIVE tylko import plikowy). |
cve | array | Lista identyfikatorów CVE (opcjonalna, offline hint). |
evidence_package_sha256 | string | Hash integralności pakietu dowodowego (chain-of-custody). |
created_at | string | Znacznik czasu ISO-8601 (UTC). |
link | string | URL do incydentu w ipIII (do wglądu analityka SIEM). |
Dane poniżej są zmyślone na potrzeby dokumentacji. Nie opisują realnego zdarzenia, nie zawierają danych osobowych ani żadnej instrukcji ataku — wyłącznie metadane incydentu.
POST /ingest/ipiii HTTP/1.1
Host: siem.example-bank.internal
Content-Type: application/json
Authorization: Bearer <token-odbiorcy>
{
"schema": "ipiii.incident.v1",
"incident_id": "INC-2026-000042",
"title": "Nieaktualny komponent w skanie web (syntetyczny)",
"severity": "medium",
"status": "open",
"source": "file-import:zap",
"cve": ["CVE-2026-00000"],
"evidence_package_sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"created_at": "2026-07-05T10:15:00Z",
"link": "https://k0nsult.cloud/ai-truth/ipIII/incydent/INC-2026-000042"
}
Odpowiedź MVP (szkielet, jeszcze bez działającego transportu do zewnętrznych SIEM):
HTTP/1.1 202 Accepted
Content-Type: application/json
{ "accepted": true, "delivery": "ROADMAP", "note": "transport SIEM nie jest jeszcze aktywny" }
Obiekt ipiii.incident.v1 pod kluczem event, z sourcetype: "ipiii:incident" i index wg konfiguracji instytucji. Autoryzacja tokenem HEC.
MVP: webhook do Logic App, który zapisuje rekord do tabeli custom w Log Analytics. Docelowo DCR + DCE. Mapowanie pól severity/status na kolumny.
Wariant syslog LEEF (klucz=wartość) lub REST offenses. severity ipIII mapowany na skalę QRadar. Wybór wariantu po stronie odbiorcy.
Najprostszy tor: czysty ipiii.incident.v1 na endpoint odbiorcy. Szkielet emitera istnieje; brak działającego transportu do produkcyjnego odbiorcy.
Formularz kieruje zgłoszenie do istniejącego kanału zgłoszeń. Nie uruchamia żadnego skryptu; zwykły POST.
Powiązane: tor ingest, który działa dziś → /connectors · pełny rejestr braków (w tym „SIEM integration gap") → /known-limitations.