CAI Technology
Menu ☰
aegis · · 12 min citire

AI incident analysis cu LLM local: pattern de triaj de la 30 minute la 30 secunde

Pipeline de SOC: alertă → context din DB de incidente similare → narativ explicat → next-action propus. Cum livrează un LLM open-source de clasă 30B triaj de calitate, fără să trimită log-uri în cloud.

CAI Technology · Ultima revizuire: 30.04.2026
AI incident analysis cu LLM local: pattern de triaj de la 30 minute la 30 secunde

AI incident analysis cu LLM local: pattern de triaj de la 30 minute la 30 secunde

TL;DR

Stack-ul SecOps modern (Wazuh + Suricata + Zeek + Falco + observability metrics) generează 1.000-10.000 alerte/zi pentru un parc de 200-500 servere. Fără triaj automatizat, operatorul citește 100-500 alerte semnificative/zi, fiecare cerând 15-45 minute de investigație. Aritmetica nu funcționează — fie supradimensionezi echipa SOC, fie ignori alertele și pierzi atacuri reale.

Acest articol descrie pattern-ul AI incident analysis pe care îl folosim în AEGIS, arhitectura sa, și de ce un LLM local (nu API frontier) e alegerea corectă.

Problema: alert fatigue

Studii publice (Ponemon, IBM Cost of Data Breach) arată că SOC-urile pierd atacuri pentru că analyst-ii sunt copleșiți. Volumul de alerte depășește capacitatea umană de procesare. Reacția tipică:

  1. Threshold raise — ridici severity minimum la care reacționezi. Pierzi atacurile sub threshold.
  2. Suppress — blochezi reguli noisy. Pierzi atacurile pe care le ignorai.
  3. Outsourcing — externalizezi triajul către MSP. Pierzi context business specific.

Niciuna nu e bună. Toate sacrifică sensitivitate sau context.

Soluția corectă: păstrezi sensitivitatea ridicată (toate alertele importante intră) dar automatizezi triajul de prim nivel. Operatorul vede sumarul AI plus alertele crude, nu fiecare alertă în detaliu.

Pattern-ul: 5 etape

┌──────────────────────────────────────────────────────────────────┐
│                   AI INCIDENT ANALYSIS PIPELINE                   │
│                                                                   │
│  1. ALERT       2. CONTEXT      3. RAG          4. LLM            │
│     Suricata,   Aggregator      Similar         Triage:           │
│     Wazuh,      collects        incidents       severity,         │
│     Falco,      logs in time    from history    type,             │
│     Prometheus  window for      DB              recommendation    │
│                 src/dst                                           │
│                                                                   │
│       ▼            ▼               ▼                ▼             │
│       └────────────┴───────────────┴────────────────┘             │
│                                                                   │
│  5. OPERATOR DASHBOARD                                            │
│     - Original alert                                              │
│     - AI narrative                                                │
│     - Recommended action (block, isolate, ignore, escalate)       │
│     - Operator acts: approve / modify / reject                    │
└──────────────────────────────────────────────────────────────────┘

Etapa 1: alertă

Sursa primară. Suricata emite alertă pe match signature. Wazuh emite alertă pe regulă HIDS escaladată. Prometheus alerta pe metric anomaly. Falco alertă pe runtime container event.

Toate alertele intră în Alertmanager (sau echivalent), care le routează către pipeline-ul AI.

Format standard: JSON cu fields obligatorii — timestamp, source (suricata/wazuh/falco/prometheus), severity, host, src_ip, dst_ip, description, raw_event.

Etapa 2: context aggregator

Un FastAPI primește alerta și agregă context din ultimele N minute (de obicei 30-60 minute) pentru hosts și IP-uri implicate:

Output: context structurat, ~5-15 KB JSON.

Etapa 3: RAG cu DB de incidente similare

Aici e diferențiatorul față de un simplu LLM call. Avem o bază de date cu incidente istorice — fiecare cu alerta originală, contextul, narativul AI, decizia operatorului, outcome final (real attack vs false positive).

La o alertă nouă, facem similarity search: găsim 3-5 incidente similare din istoric. “Similar” = embedding similarity pe descrierea alertei + IP/host pattern.

Output: 3-5 incidente similare cu narativul lor și outcome. Acesta intră în prompt-ul LLM ca exemple de few-shot.

DB-ul de incidente se construiește în primele 3-6 luni de operare. Fiecare incident triat de operator se salvează cu decizia finală — pe măsură ce DB crește, calitatea triajului AI crește.

Etapa 4: LLM triage

Prompt-ul către LLM:

Ești analist SOC senior. Primești o alertă SIEM cu context complet și exemple
de incidente similare din istoric. Produci un triaj structurat:

1. SEVERITATE estimată (Low/Medium/High/Critical) cu motivare 1 frază.
2. TIP atac (brute-force / RCE / exfiltration / persistence / scan / other).
3. STARE (active / contained / past).
4. NARATIV (3-5 fraze, explicație pentru operator).
5. RECOMANDARE (block IP / isolate host / ignore / escalate / investigate).

ALERTĂ:
{alerta_json}

CONTEXT (ultimele 60 min):
{context_json}

INCIDENTE SIMILARE:
{similar_incidents}

LLM-ul produce output structurat (JSON) în 2-5 secunde.

Modelul folosit. Open-source modern de clasă 30-70B parametri (familia Qwen3, Llama 3.x sau echivalente), fine-tuned pe corpus intern de incidente. Rulează pe un GPU enterprise (A100/H100 sau equivalent open). Latență: 2-5 secunde end-to-end.

De ce nu API frontier. Două motive: confidențialitatea log-urilor (vezi articolul SIEM on-premise cu LLM local) și costul (10K alerte/zi × 5K tokens/alert = 50M tokens/zi, prohibit pentru API frontier).

Etapa 5: operator dashboard

Pe dashboard apare card cu:

Operatorul citește narativul, validează cu alerta originală, ia decizia. Pentru ~70% din alerte (cele clare), acceptă recomandarea AI direct. Pentru 25% modifică (severity diferit, action diferit). Pentru 5% respinge complet (fals pozitiv pe care AI-ul nu l-a prins).

Calitatea triajului în producție

În producția curentă (3 luni de operare după faza de pilot):

Comparat cu triaj manual (estimare baseline):

Pe parc 200 servere cu 800 alerte/zi semnificative, asta e diferența între nevoia de 3 SOC analysts și 1 SOC analyst.

Capcanele

Hallucination AI. LLM-urile pot inventa detalii. Mitigare: prompt cere doar fields structurate, validare schema la output, prezentare alertei originale ÎN PARALEL cu narativul (operatorul vede ambele).

Bias în DB de incidente. Dacă în primele luni operatorul a triat greșit anumite tipuri, AI învață greșelile. Mitigare: revizuire trimestrială a DB-ului, etichetare manuală a cazurilor edge.

Drift de calitate. Atacurile evoluează. Pattern-uri vechi nu mai apar, pattern-uri noi apar. Mitigare: re-training cu date proaspete trimestrial, plus regulă de safety — alertele cu nicio similaritate la istoric trec automat la operator fără pre-triaj AI.

Infrastructură GPU. GPU enterprise costă. Mitigare: un singur GPU servește 1000-5000 inferențe/oră — capacitate suficientă pentru parc 500-1000 servere.

Interpretabilitate. “De ce a zis AI că e Critical?” — operatorul are nevoie să vadă raționamentul. Mitigare: prompt cere explicit “motivare 1 frază” pentru fiecare câmp, plus linkuri la incidentele similare folosite ca context.

Integrare cu Wazuh Active Response

Pattern-ul AI triage e complementar cu Wazuh Active Response. AR auto-acționează pe regulile clare (SSH brute, signature AV match) — acolo nu are sens să aștepți LLM. AI triage adaugă valoare pe alertele ambigue, unde decizia cere context și raționament.

Schema combinată:

Articole conexe

Pași următori

Implementarea pattern-ului în stack AEGIS cere 2-3 luni: deployment GPU + LLM, integrare cu Alertmanager, build context aggregator, primele 3 luni de DB de incidente, fine-tuning. Vedeți AEGIS pentru roadmap-ul complet sau contact pentru o sesiune tehnică.

Articole conexe: SIEM on-premise cu LLM local · Wazuh Active Response patterns · Suricata + Zeek coexistence · Propose-then-act Iris.

Referințe

Începem cu o conversație de 30 de minute.

Audit AI-readiness gratuit pentru companii peste 50 angajați. Răspundem în 24 de ore.