
# Validacija grafova znanja vođenih AI-om za odgovore na sigurnosna pitanja u stvarnom vremenu

**Sažetak** – Upitnici za sigurnost i usklađenost predstavljaju usko grlo za brzo rastuće SaaS tvrtke. Čak i uz generativni AI koji sastavlja odgovore, pravi izazov je **validacija** – osigurati da svaki odgovor bude u skladu s najnovijim politikama, dokazima revizije i regulatornim zahtjevima. **Graf znanja** izgrađen na vrhu vašeg repozitorija politika, knjižnice kontrola i artefakata revizije može poslužiti kao živa, upitno‑pristupna reprezentacija namjere usklađenosti. Integracijom ovog grafa s AI‑povećanim motorom za odgovore, dobivate **trenutnu, kontekstualno‑svjesnu validaciju** koja smanjuje vrijeme ručnog pregleda, poboljšava točnost odgovora i stvara revizijsku stazu za regulatore.

U ovom članku ćemo:

1. Objasniti zašto tradicionalne provjere temeljene na pravilima ne zadovoljavaju moderne, dinamične upitnike.  
2. Detaljno opisati arhitekturu **Engine‑a za validaciju grafova znanja u stvarnom vremenu (RT‑KGV)**.  
3. Pokazati kako obogatiti graf **čvorovima dokaza** i **ocjenama rizika**.  
4. Proći kroz konkretan primjer korištenja platforme Procurize.  
5. Raspraviti operativna najbolja praksa, razmatranja skaliranja i buduće smjerove.

---

## 1. Praznina u validaciji AI‑generiranih odgovora na upitnike

| Faza | Ručni napor | Uobičajena bolna točka |
|------|--------------|------------------------|
| Pisanje odgovora | 5‑15 min po pitanju | Stručnjaci moraju pamtiti nijanse politika. |
| Pregled i uređivanje | 10‑30 min po pitanju | Nedosljedan jezik, nedostaju citati dokaza. |
| Potpisivanje za usklađenost | 20‑60 min po upitniku | Revizori zahtijevaju dokaz da je svaki navod potkrijepljen ažuriranim artefaktima. |
| **Ukupno** | **35‑120 min** | **Visoka latencija, sklon greškama, skupo.** |

Generativni AI može drastično skratiti vrijeme sastavljanja, ali **ne jamči** da je rezultat **usklađen**. Nedostaje mehanizam koji može **ukrstiti** generirani tekst s autoritativnim izvorom istine.

### Zašto same pravila nisu dovoljna

- **Kompleksne logičke ovisnosti**: “Ako su podaci šifrirani u mirovanju, tada moramo šifrirati i sigurnosne kopije.”
- **Odmak verzija**: Politike se razvijaju; statična kontrolna lista ne može pratiti promjene.
- **Kontekstualni rizik**: ista kontrola može biti dovoljna za [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) ali ne i za [ISO 27001](https://www.iso.org/standard/27001), ovisno o klasifikaciji podataka.

**Graf znanja** prirodno hvata entitete (kontrole, politike, dokaze) i odnose (“pokriva”, “zavisi‑od”, “zadovoljava”) omogućujući **semantičko rezoniranje** koje statička pravila nemaju.

---

## 2. Arhitektura Engine‑a za validaciju grafova znanja u stvarnom vremenu

Dolje je prikazan visokorazinski pregled komponenti koje čine RT‑KGV. Sve se komponente mogu implementirati na Kubernetesu ili serverless okruženju i komuniciraju putem **event‑driven cjevovoda**.

```mermaid
graph TD
    A["Korisnik šalje AI‑generirani odgovor"] --> B["Orkestrator Odgovora"]
    B --> C["NLP Ekstraktor"]
    C --> D["Uskladitelj Entiteta"]
    D --> E["Motor za upite Graf‑a Znanja"]
    E --> F["Servis za rezoniranje"]
    F --> G["Izvještaj o validaciji"]
    G --> H["Procurize UI / Audit Log"]
    subgraph KG["Graf znanja (Neo4j / JanusGraph)"]
        K1["Čvorovi Političkih pravila"]
        K2["Čvorovi Kontrola"]
        K3["Čvorovi Dokaza"]
        K4["Čvorovi Ocjena Rizika"]
    end
    E --> KG
    style KG fill:#f9f9f9,stroke:#333,stroke-width:2px
```

### Razlaganje komponenti

1. **Orkestrator Odgovora** – Ulazna točka koja prima AI‑generirani odgovor (preko Procurize API‑ja ili webhook‑a). Dodaje meta‑podatke kao što su ID upitnika, jezik i vremenska oznaka.

2. **NLP Ekstraktor** – Koristi lagani transformer (npr. `distilbert-base-uncased`) za izdvajanje **ključnih fraza**: identifikatori kontrola, reference politika i klasifikacije podataka.

3. **Uskladitelj Entiteta** – Normalizira izdvojene fraze prema **kanonskoj taksonomiji** pohranjenoj u grafu (npr. `"ISO‑27001 A.12.1"` → čvor `Control_12_1`).

4. **Motor za upite Graf‑a Znanja** – Izvršava **Cypher/Gremlin** upite za dohvat:
   - Trenutne verzije podudarajućih kontrola.
   - Povezane dokaze (revizijski izvještaji, screenshotovi).
   - Povezane ocjene rizika.

5. **Servis za rezoniranje** – Pokreće **pravila‑temeljene** i **probabilističke** provjere:
   - *Pokriće*: Zadovoljava li dokaz zahtjeve kontrole?
   - *Dosljednost*: Postoje li proturječne tvrdnje kroz više pitanja?
   - *Usklađenost rizika*: Poštuje li odgovor definiranu toleranciju rizika u grafu? (Ocjene rizika mogu biti izvedene iz **NIST** metrika utjecaja, CVSS, itd.)

6. **Izvještaj o validaciji** – Generira JSON s:
   - `status: PASS|WARN|FAIL`
   - `citations: [ID‑dokaza]`
   - `explanations: "Kontrola X zadovoljena Dokazom Y (verzija 3.2)"`
   - `riskImpact: numerički skor`

7. **Procurize UI / Audit Log** – Prikazuje rezultat validacije inline, omogućavajući revizorima **prihvatiti**, **odbijati** ili **zatražiti pojašnjenje**. Svaki događaj se trajno pohranjuje za revizijske potrebe.

---

## 3. Obogaćivanje grafa dokazima i rizikom

Graf znanja je koristan samo koliko je kvalitetna njegova **podatkovna baza**. Ispod su koraci za ispravno popunjavanje i održavanje grafa.

### 3.1 Čvorovi Dokaza

| Svojstvo | Opis |
|----------|------|
| `evidenceId` | Jedinstveni identifikator (npr. `EV-2025-0012`). |
| `type` | `audit-report`, `configuration-snapshot`, `log‑export`. |
| `version` | Semantička verzija artefakta. |
| `validFrom` / `validTo` | Vremenski okvir valjanosti. |
| `checksum` | SHA‑256 hash za provjeru integriteta. |
| `tags` | `encryption`, `access‑control`, `backup`. |

**Savjet:** Artefakte pohranite u objektni spremnik (S3, Azure Blob) i u čvoru navedite URL. Upotrijebite **hash guard** kako biste otkrili manipulacije.

### 3.2 Čvorovi Ocjena Rizika

Ocjene rizika mogu biti izvedene iz **CVSS**, **NIST CSF** metrika utjecaja ili internog modela.

```mermaid
graph LR
    R["Čvor Ocjene Rizika"]
    C1["Čvor Kontrole"] --> R
    C2["Čvor Kontrole"] --> R
    style R fill:#ffdddd,stroke:#d33,stroke-width:2px
```

Svaki čvor rizika sadrži:

- `score` (0‑100)  
- `confidence` (0‑1)  
- `source` (npr. `internal-model`, `NIST`)

Tijekom validacije, **Servis za rezoniranje** agregira skorove svih kontrola koje odgovor dotakne i označava odgovore koji prelaze **prag tolerancije rizika** definiran po upitniku.

---

## 4. Kroz‑prikaz na Procurize

### 4.1 Scenarij

SaaS dobavljač prima **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) Type II** upitnik s pitanjem:

> “Opišite kako šifrurate podatke‑u‑miru za baze podataka u vlasništvu kupca.”

### 4.2 AI‑draft

AI model generira:

> “Svi podaci kupaca pohranjeni u našim PostgreSQL klasterima šifrirani su korištenjem AES‑256‑GCM. Ključeve šifriranja upravlja AWS KMS i rotiraju se kvartalno.”

### 4.3 Tok validacije

1. **Orkestrator Odgovora** prima draft.  
2. **NLP Ekstraktor** identificira entitete: `AES‑256‑GCM`, `AWS KMS`, `kvartalna rotacija`.  
3. **Uskladitelj Entiteta** mapira `AES‑256‑GCM` → `Control_Encryption_Algorithm`, `AWS KMS` → `Control_Key_Management`.  
4. **Motor za upite Graf‑a Znanja** dohvaća:
   - Najnoviji čvor `Control_Encryption_Algorithm` (zahtijeva FIPS‑140‑2 usklađenost).  
   - Čvor dokaza `EV-2025-0467` – **Snapshot konfiguracije** datiran `2025‑03‑15`.  
5. **Servis za rezoniranje** provjerava:
   - **Usklađenost algoritma** – `AES‑256‑GCM` je odobren ✅.  
   - **Upravljanje ključevima** – verzija `AWS KMS 3.5` zadovoljava politiku kvartalne rotacije ✅.  
   - **Utjecaj rizika** – Nizak (skor 12) ✅.  
6. **Izvještaj o validaciji**:
   ```json
   {
     "status": "PASS",
     "citations": ["EV-2025-0467"],
     "explanations": [
       "Algoritam šifriranja je odobren prema FIPS‑140‑2.",
       "Upravljanje ključevima zadovoljava politiku kvartalne rotacije."
     ],
     "riskImpact": 12
   }
   ```
7. U **Procurize UI** revizor vidi zelenu kvačicu uz odgovor, s tooltipom koji izravno povezuje na `EV-2025-0467`. Nema potrebe za ručnim traženjem dokaza.

### 4.4 Ostvarene koristi

| Metrika | Prije RT‑KGV | Nakon RT‑KGV |
|---------|--------------|--------------|
| Prosječno vrijeme pregleda po pitanju | 22 min | 5 min |
| Stopa ljudskih grešaka | 8 % | 1,3 % |
| Pokriće dokaza spremnih za reviziju | 71 % | 98 % |
| Vrijeme do završetka upitnika | 14 dana | 3 dana |

---

## 5. Operativna najbolja praksa

1. **Postupna ažuriranja grafa** – Koristite event sourcing (npr. Kafka teme) za unos promjena politika, učitavanja dokaza i recalculacije rizika. To osigurava da graf uvijek odražava *trenutno* stanje bez zastoja.  
2. **Verzijski čvorovi** – Čuvajte historijske verzije politika i kontrola uzajamno. Validacija tada može odgovoriti na pitanje „Koja je bila politika na datum *X*?” – ključno za revizije koje obuhvaćaju više perioda.  
3. **Kontrole pristupa** – Primijenite **RBAC** na razini grafa: programeri smiju čitati definicije kontrola, dok samo compliance officeri smiju unositi čvorove dokaza.  
4. **Optimizacija performansi** – Predračunajte **materializirane puteve** (npr. `kontrola → dokaz`) za najčešće upite. Indeksirajte po `type`, `tags` i `validTo`.  
5. **Objašnjivost** – Generirajte ljudski čitljive *trace* stringove za svaku odluku validacije. To zadovoljava regulatore koji zahtijevaju „zašto je ovaj odgovor označen kao PASS?“.

---

## 6. Skaliranje engine‑a za validaciju

| Dimenzija opterećenja | Strategija skaliranja |
|-----------------------|-----------------------|
| **Broj istovremenih upitnika** | Orkestrator Odgovora implementirajte kao stateless mikroservis iza autoskalirajućeg load balancera. |
| **Latencija upita grafa** | Particionirajte graf po regulatornom domenu (SOC 2, [ISO 27001](https://www.iso.org/standard/27001), GDPR). Koristite read‑replice za visoku propusnost upita. |
| **Trošak NLP ekstrakcije** | Batch procesirajte izdvojene entitete na GPU‑akceleriranim inference poslužiteljima; cacheirajte rezultate za ponovljena pitanja. |
| **Složnost rezoniranja** | Odvojite deterministički motor pravila (OPA) od probabilističkog rizika (TensorFlow Serving). Pokrenite ih paralelno i spojite rezultate. |

---

## 7. Budući smjerovi

- **Federativni grafovi znanja** – Omogućiti više organizacija da dijele anonimizirane definicije kontrola uz očuvanje suvereniteta podataka, potičući industrijsku standardizaciju.  
- **Samopopravljajući se linkovi dokaza** – Kada se artefakt ažurira, automatski propagirajte nove hash‑ove i ponovno pokrenite validacije za sve pogođene odgovore.  
- **Razgovorna validacija** – Kombinirajte RT‑KGV s **chat‑baziranim ko‑pilotom** koji može u realnom vremenu postavljati pitanja za nedostajuće artefakte, dovršavajući petlju dokaza bez napuštanja UI‑ja upitnika.

---

## 8. Zaključak

Ugradnja AI‑potpomognutog grafa znanja u vaš radni tok za upitnike pretvara **bolno ručno procesiranje** u **trenutni, revizijski‑pripremljeni sustav validacije**. Modeliranjem politika, kontrola, dokaza i rizika kao međusobno povezanih čvorova, dobivate:

- **Trenutne semantičke provjere** koje nadilaze jednostavno pretraživanje ključnih riječi.  
- **Robusnu trasabilnost** za regulatore, investitore i interne revizore.  
- **Skalabilnu automatizaciju usklađenosti** koja prati brze promjene politika.

Za korisnike Procurize, implementacija **RT‑KGV** arhitekture znači brži ciklus prodaje, niže troškove usklađenosti i sigurniji položaj koji se može dokazati s pouzdanjem.

---

## <span class='highlight-content'>Vidi</span> također

- [NIST SP 800‑53 Revizija 5 – Sigurnosne i privatne kontrole za federalne informacijske sustave i organizacije](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- [ISO/IEC 27001:2022 – Sustavi upravljanja informacijskom sigurnošću](https://www.iso.org/standard/75652.html)  
- [Open Policy Agent – Politika kao kod za odlučivanje u stvarnom vremenu](https://www.openpolicyagent.org/)