
# Контекстуальний механізм рекомендації доказів для автоматизованих опитувальників безпеки

**TL;DR** – Контекстно‑обізнаний механізм рекомендації доказів (CERE) об’єднує великі мовні моделі (LLM) з постійно оновлюваним графом знань, щоб надати аудиторам і командам безпеки саме той доказ, який потрібен — саме в потрібний момент. Результат: скорочення ручного пошуку на 60‑80 %, підвищення точності відповідей та робочий процес комплаєнсу, що масштабується разом зі швидкістю сучасної розробки SaaS.

---  

## 1. Чому саме механізм рекомендації — це відсутнє посилання

Опитувальники безпеки, перевірки готовності до [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), аудити [ISO 27001](https://www.iso.org/standard/27001) та оцінки ризику постачальників мають спільну проблему: **пошук правильного доказу**. Команди зазвичай підтримують розкидане сховище політик, аудитних звітів, конфігураційних знімків і підтверджень третіх сторін. Коли надходить новий опитувальник, аналітик з комплаєнсу повинен:

1. **Проаналізувати питання** (часто у вільному природному мовленні, іноді з галузевим жаргоном).  
2. **Визначити домен контролю** (наприклад, «Управління доступом», «Зберігання даних»).  
3. **Пошукати у сховищі** документи, що задовольняють контроль.  
4. **Скопіювати‑вставити або переписати** відповідь, додавши контекстні нотатки.

Навіть за наявності складних інструментів пошуку цикл ручної роботи може забирати кілька годин на один опитувальник, особливо коли докази розкидані по різних хмарних облікових записах, системах тикетування та застарілих файлових сховищах. Помилки в цьому процесі викликають «втому» від комплаєнсу і можуть призвести до пропущених дедлайнів або неточних відповідей — обидва варіанти дорогі для швидко зростаючого SaaS‑бізнесу.

Тут на допомогу приходить **CERE**: механізм, який автоматично виводить найбільш релевантний(-і) доказ(и) *в той момент, коли введено питання*, за допомогою поєднання семантичного розуміння (LLM) і реляційного мислення (трасування графу знань).

---  

## 2. Основні архітектурні стовпи

CERE побудований на трьох щільно пов’язаних шарах:

| Шар | Відповідальність | Ключові технології |
|-------|----------------|------------------|
| **Шар семантичного інтенції** | Перетворює сырое текст питання в структуровану інтенцію (сімейство контролю, рівень ризику, тип потрібного артефакту). | Prompt‑engineered LLM (наприклад, Claude‑3, GPT‑4o) + Retrieval‑Augmented Generation (RAG) |
| **Динамічний граф знань (DKG)** | Зберігає сутності (документи, контролі, активи) та їхні зв’язки, постійно оновлюється з систем‑джерел. | Neo4j/JanusGraph, GraphQL API, Change‑Data‑Capture (CDC) pipelines |
| **Механізм рекомендації** | Виконує запити до графу за інтенцією, ранжує кандидат‑докази та повертає коротку рекомендацію з оцінкою довіри. | Graph Neural Network (GNN) для оцінки релевантності, цикл reinforcement‑learning для включення зворотного зв’язку |

Нижче — діаграма Mermaid, що візуалізує потік даних.

```mermaid
flowchart LR
    A["Користувач надсилає питання анкети"]
    B["LLM аналізує інтенцію\n(Контроль, Ризик, ТипАртефакту)"]
    C["Пошук у DKG за інтенцією"]
    D["Оцінка релевантності GNN"]
    E["Топ‑K елементів доказу"]
    F["UI пропонує рекомендацію\nз довіреністю"]
    G["Відгук користувача (прийнято/відхилено)"]
    H["Цикл RL оновлює ваги GNN"]
    A --> B --> C --> D --> E --> F
    F --> G --> H --> D
```

*Усі мітки вузлів обгорнуті у подвійні лапки, як вимагається.*

---  

## 3. Від тексту до інтенції: Prompt‑engineered LLM

Перший крок — *зрозуміти* питання. Тщательно сконструйований підказник (prompt) виділяє три сигнали:

1. **Ідентифікатор контролю** – напр., “ISO 27001 A.9.2.3 – Управління паролем”.  
2. **Категорія доказу** – напр., “Політика”, “Конфігурація”, “Аудит‑лог”.  
3. **Контекст ризику** – “Високий ризик, зовнішній доступ”.

Зразок підказника (триманий коротким з міркувань безпеки):

```
You are a compliance analyst. Return a JSON object with the fields:
{
  "control": "<standard ID and title>",
  "evidence_type": "<policy|config|log|report>",
  "risk_tier": "<low|medium|high>"
}
Question: {question}
```

Вихід LLM перевіряється відповідно до схеми, після чого передається будівнику запиту DKG.

---  

## 4. Динамічний граф знань (DKG)

### 4.1 Модель сутностей

| Сутність | Атрибути | Відносини |
|--------|------------|---------------|
| **Document** | `doc_id`, `title`, `type`, `source_system`, `last_modified` | `PROVIDES` → `Control` |
| **Control** | `standard_id`, `title`, `domain` | `REQUIRES` → `Evidence_Type` |
| **Asset** | `asset_id`, `cloud_provider`, `environment` | `HOSTS` → `Document` |
| **User** | `user_id`, `role` | `INTERACTS_WITH` → `Document` |

### 4.2 Синхронізація в режимі реального часу

Procurize вже інтегрований з інструментами SaaS типу GitHub, Confluence, ServiceNow та API хмарних провайдерів. Мікросервіс на основі CDC слідкує за подіями CRUD і оновлює граф з латентністю у підсекунди, зберігаючи **аудиторську прозорість** (кожне ребро має `source_event_id`).

---  

## 5. Шлях рекомендації, керований графом

1. **Вибір вузла‑якоря** – інтенція `control` стає стартовим вузлом.  
2. **Розширення шляху** – BFS (breadth‑first search) досліджує ребра `PROVIDES`, обмежуючись типом `evidence_type`, що повернув LLM.  
3. **Видобуток ознак** – для кожного кандидата формується вектор із:
   - Текстової схожості (ембединг тієї ж LLM).  
   - Свіжості (`last_modified`).  
   - Частоти використання (скільки разів документ уже згадувався у попередніх опитувальниках).  
4. **Оцінка релевантності** – GNN агрегує ознаки вузлів та ребер, генеруючи оцінку `s ∈ [0,1]`.  
5. **Ранжування та довіра** – топ‑K документів сортуються за `s`; механізм також повертає відсоток довіри (наприклад, “85 % впевненості, що ця політика задовольняє запит”).

---  

## 6. Людина у петлі: зворотний зв’язок

Жодна рекомендація не досконала відразу. CERE фіксує рішення *прийняти/відхилити* і будь‑які вільні коментарі. Ці дані живлять цикл reinforcement‑learning (RL), який періодично донастраює політичну мережу GNN, узгоджуючи модель із суб’єктивними уподобаннями організації.

RL‑потік працює щонічно:

```mermaid
stateDiagram-v2
    [*] --> CollectFeedback
    CollectFeedback --> UpdateRewards
    UpdateRewards --> TrainGNN
    TrainGNN --> DeployModel
    DeployModel --> [*]
```

---  

## 7. Інтеграція з Procurize

Procurize вже пропонує **Unified Questionnaire Hub**, де користувачі можуть призначати завдання, коментувати та прикріплювати докази. CERE підключається як **розумний віджет**:

- При натисканні *«Додати доказ»* віджет активує конвеєр LLM‑DKG.  
- Рекомендовані документи з’являються у вигляді карток з кнопкою **«Вставити цитату»**, що автоматично генерує markdown‑посилання у відповідному форматі.  
- У мульти‑тенант середовищах двигун дотримується **розподілу даних за тенантом** — граф кожного клієнта ізольований, забезпечуючи конфіденційність, при цьому дозволяючи крос‑тенантному навчанню у спосіб, що зберігає приватність (через federated averaging ваг GNN).

---  

## 8. Конкретні вигоди

| Метрика | Базовий (ручний) | З CERE |
|--------|-------------------|-----------|
| **Середній час пошуку доказу** | 15 хв на питання | 2‑3 хв |
| **Точність відповіді (рівень проходження аудиту)** | 87 % | 95 % |
| **Задоволеність команди (NPS)** | 32 | 68 |
| **Зниження затримки комплаєнсу** | 4 тижні | 1 тиждень |

Пілотний проєкт у середньому фінтех‑стартапі (≈200 співробітників) продемонстрував **72 % скорочення** часу на заповнення опитувальника і **30 % зменшення** кількості ревізій вже після першого місяця.

---  

## 9. Виклики та шляхи їх подолання

| Виклик | Шлях подолання |
|-----------|----------------|
| **«Холодний старт» для нових контролів** – немає історії посилань. | Заповнити граф базовими шаблонами політик, потім застосовувати transfer learning від схожих контролів. |
| **Приватність даних між тенантами** – ризик витоку при спільному навчанні. | Використовувати **Federated Learning**: кожен тенант навчає локально, а лише дельти ваг агрегуються. |
| **Галюцинації LLM** – неправильне визначення ідентифікатора контролю. | Перевіряти вихід LLM проти канонічного реєстру контролів (ISO, SOC, NIST) перед запитом до графу. |
| **Зсув графу** – застарілі зв’язки після міграції хмари. | CDC‑потоки з гарантіями **eventual consistency** і періодичні health‑check графу. |

---  

## 10. План розвитку

1. **Багатомодальне отримання доказів** – інтеграція скріншотів, діаграм конфігурацій та відео‑показів за допомогою vision‑орієнтованих LLM.  
2. **Прогнозування змін регуляцій** – злиття реального часу новин про нормативи (наприклад, поправки GDPR) для проактивного оновлення DKG.  
3. **Дашборд Explainable AI** – візуалізація причин, чому конкретний документ отримав певну оцінку (трасування шляху, внесок ознак).  
4. **Самовідновлювальний граф** – автоматичне виявлення «сирих» вузлів і їхнє синхронізація за допомогою AI‑орієнтованого розв’язання сутностей.

---  

## 11. Висновок

**Контекстуальний механізм рекомендації доказів** перетворює трудомістке мистецтво відповіді на опитувальники безпеки у даними‑орієнтований, майже миттєвий процес. Поєднуючи семантичний парсинг LLM з живим графом знань та шаром GNN‑ранжування, CERE доставляє потрібний доказ у потрібний момент, забезпечуючи вимірювані підвищення швидкості, точності та довіри до процесу комплаєнсу. У міру того, як SaaS‑компанії продовжують масштабуватись, така інтелектуальна підтримка перестає бути «приємністю», а стає фундаментом стійкої, готової до аудиту операції.  

---