
# LLM'ler ve Gerçek Zamanlı Risk Bağlamı ile Dinamik Politika Sentezi

**Özet** – Tedarikçi güvenlik anketleri, SaaS şirketleri için kötü bir darboğazdır. Geleneksel statik depolar politikaları zamana kilitler, yeni bir risk sinyali ortaya çıktığında ekiplerin yanıtları manuel olarak düzenlemesini zorunlu kılar. Bu makale, *Dinamik Politika Sentezi* (DPS) adlı, büyük dil modelleri (LLM'ler), sürekli risk telemetrisi ve olay‑tabanlı bir orkestrasyon katmanını birleştirerek isteğe bağlı, güncel ve bağlama duyarlı yanıtlar üretmeyi sağlayan bir şablonu tanıtır. Okumanın sonunda temel bileşenleri, veri akışını ve Procurize platformu üzerine DPS'yi uygulamak için pratik adımları anlayacaksınız.

---

## 1. Statik Politika Kütüphaneleri Modern Denetimlerde Neden Başarısız Olur

1. **Değişim gecikmesi** – Üçüncü‑taraf bir bileşende yeni keşfedilen bir güvenlik açığı, altı ay önce onaylanmış bir maddeyi geçersiz kılabilir. Statik kütüphaneler, günler sürebilen manuel düzenleme döngüleri gerektirir.  
2. **Bağlamsal uyumsuzluk** – Aynı kontrol, mevcut tehdit ortamına, sözleşme kapsamına veya bölgesel düzenlemelere göre farklı şekillerde yorumlanabilir.  
3. **Ölçeklenebilirlik baskısı** – Hızla büyüyen SaaS firmaları haftada onlarca anket alır; her yanıt, en yeni risk duruşuyla uyumlu olmalıdır; bu da manuel süreçlerle garanti edilemez.

Bu acı noktalar, risk içgörülerini gerçek zamanlı olarak **çekebilen** ve **iterek** uyumlu politikaya otomatik dönüştürebilen *adaptif* bir sistem ihtiyacını doğurur.

---

## 2. Dinamik Politika Sentezinin Temel Sütunları

| Temel | Fonksiyon | Tipik Teknoloji Yığını |
|--------|----------|------------------------|
| **Risk Telemetri Alımı** | Zafiyet akışlarını, tehdit‑istihbarat alarmlarını ve iç güvenlik metriklerini birleşik bir veri gölüne aktarır. | Kafka, AWS Kinesis, ElasticSearch |
| **Bağlam Motoru** | Telemetrileri normalleştirir, varlık envanteriyle zenginleştirir ve her kontrol alanı için bir *risk skoru* hesaplar. | Python, Pandas, Neo4j Knowledge Graph |
| **LLM Prompt Oluşturucu** | En son risk skoru, düzenleyici referanslar ve politika şablonlarını içeren alan‑özgü prompt'lar üretir. | OpenAI GPT‑4, Anthropic Claude, LangChain |
| **Orkestrasyon Katmanı** | Olay tetikleyicilerini koordine eder, LLM'i çalıştırır, oluşturulan metni saklar ve inceleyicileri bilgilendirir. | Temporal.io, Airflow, Serverless Functions |
| **Denetim İzleri & Sürüm Kontrolü** | Oluşturulan her yanıtı kriptografik özetlerle saklayarak denetlenebilirliği sağlar. | Git, Immutable Object Store (ör. S3 with Object Lock) |

Bu beş öğe, ham risk sinyallerini cilalı, anket‑hazır yanıtlar hâline dönüştüren kapalı bir döngü boru hattı oluşturur.

---

## 3. Veri Akışı Görselleştirilmiş

```mermaid
flowchart TD
    A["Risk Veri Kaynakları"] -->|Kafka Stream| B["Ham Telemetri Gölü"]
    B --> C["Normalizasyon ve Zenginleştirme"]
    C --> D["Risk Puanlama Motoru"]
    D --> E["Bağlam Paketi"]
    E --> F["Prompt Oluşturucu"]
    F --> G["LLM (GPT‑4)"]
    G --> H["Taslak Politika Maddesi"]
    H --> I["İnsan İnceleme Merkezi"]
    I --> J["Onaylanmış Cevap Deposu"]
    J --> K["Procurize Anket UI"]
    K --> L["Tedarikçi Gönderimi"]
    style A fill:#f9f,stroke:#333,stroke-width:2px
    style L fill:#9f9,stroke:#333,stroke-width:2px
```

*Her düğüm metni çift tırnak içinde yer alır.*

---

## 4. Prompt Oluşturucunun İnşası

Aşağıda, risk bağlamını yeniden kullanılabilir bir şablonla birleştirerek bir prompt oluşturmayı gösteren bir Python parçacığı bulunmaktadır.

```python
import json
from datetime import datetime

def build_prompt(risk_context, template_id):
    # Saklanan madde şablonunu yükle
    with open(f"templates/{template_id}.md") as f:
        template = f.read()

    # Risk değişkenlerini ekle
    prompt = f"""
You are a compliance specialist drafting a response for a security questionnaire.
Current risk score for the domain "{risk_context['domain']}" is {risk_context['score']:.2f}.
Relevant recent alerts: {", ".join(risk_context['alerts'][:3])}
Regulatory references: {", ".join(risk_context['regulations'])}

Using the following template, produce a concise, accurate answer that reflects the latest risk posture.

{template}
"""
    return prompt.strip()

# Örnek kullanım
risk_context = {
    "domain": "Data Encryption at Rest",
    "score": 0.78,
    "alerts": ["CVE‑2024‑1234 affecting AES‑256 modules", "New NIST guidance on key rotation"],
    "regulations": ["ISO 27001 A.10.1", "PCI DSS 3.2"]
}
print(build_prompt(risk_context, "encryption_response"))
```

Oluşturulan prompt daha sonra bir API çağrısı ile LLM'e gönderilir ve dönen metin *taslak* olarak bir insan onayı bekler.

---

## 5. Temporal.io ile Gerçek Zamanlı Orkestrasyon

Temporal, kod‑olarak iş akışı tanımlamamızı sağlar ve güvenilir, yeniden deneme‑bilir bir boru hattı oluşturur.

```goat
workflow DynamicPolicyWorkflow(riskEvent RiskEvent, questionnaireID string) {
    // Adım 1: Bağlam paketini oluştur
    contextPkg := Activity(BuildContextPackage, riskEvent)

    // Adım 2: LLM prompt'u oluştur
    prompt := Activity(BuildPrompt, contextPkg, questionnaireID)

    // Adım 3: LLM'yi çağır
    draft := Activity(CallLLM, prompt)

    // Adım 4: Taslağı sakla ve inceleyiciyi bildir
    Activity(StoreDraftAndNotify, draft, questionnaireID)

    // Opsiyonel: Risk skoru < 0.2 ise otomatik onay
    if contextPkg.Score < 0.2 {
        Activity(AutoApprove, draft, questionnaireID)
    }
}
```

Bu iş akışı, tek‑kez yürütme garantisi, geçici hatalar için otomatik yeniden denemeler ve Temporal UI üzerinden şeffaf görünürlük sunar—uyum denetçileri için kritik bir özelliktir.

---

## 6. İnsan Döngüsü (HITL) Yönetişimi

En iyi LLM bile halüsinasyon üretebilir. DPS, hafif bir HITL adımı içerir:

1. **İnceleyici, Slack/Teams üzerinden bir bildirim alır**; taslak ve temel risk bağlamını yan‑yana görür.  
2. **Tek‑tık onay**, nihai yanıtı değişmez depoya yazar ve anket UI'ını günceller.  
3. **Reddetme**, prompt'u açıklayan bir geri bildirim döngüsü tetikler ve gelecekteki üretimleri iyileştirir.

Denetim günlükleri, inceleyici kimliği, zaman damgası ve onaylı metnin kriptografik özetini kaydederek çoğu [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) ve [ISO 27001](https://www.iso.org/standard/27001) kanıtı gereksinimini karşılar.

---

## 7. Sürüm Kontrolü ve Denetlenebilir Kanıt

Oluşturulan her madde, aşağıdaki meta verilerle Git‑uyumlu bir depoya işlenir:

```json
{
  "questionnaire_id": "Q-2025-09-14",
  "control_id": "C-ENCR-01",
  "risk_score": 0.78,
  "generated_at": "2025-10-22T14:03:12Z",
  "hash": "sha256:9f8d2c1e...",
  "reviewer": "alice.smith@example.com",
  "status": "approved"
}
```

Değiştirilemez depolama (S3 Object Lock) sayesinde kanıtlar sonradan değiştirilemez; böylece denetimler için sağlam bir zincir‑hâkimiyeti sağlanır.

---

## 8. Faydalar Sayısal Olarak

| Metrik | DPS Öncesi | DPS Sonrası (12 ay) |
|--------|------------|----------------------|
| Ortalama yanıt süresi | 3.2 gün | 3.5 saat |
| İnsan düzenleme çabası | 25 saat/hafta | 6 saat/hafta |
| Denetim kanıt boşlukları | %12 | < %1 |
| Uyumluluk kapsamı (kontroller) | %78 | %96 |

Bu sayılar, DPS'i Procurize ortamına entegre eden üç orta ölçekli SaaS firmasıyla yapılan pilot çalışmadan elde edilmiştir.

---

## 9. Uygulama Kontrol Listesi

- **[ ]** Risk akışları için bir akış platformu (Kafka) kurun.  
- **[ ]** Varlık‑envanter, kontroller ve tehdit istihbaratını birleştiren bir Neo4j bilgi grafiği oluşturun.  
- **[ ]** Markdown formatında yeniden kullanılabilir madde şablonları hazırlayın.  
- **[ ]** Prompt‑oluşturucu mikroservisini (Python/Node) dağıtın.  
- **[ ]** LLM erişimini (OpenAI, Azure OpenAI vb.) yapılandırın.  
- **[ ]** Temporal iş akışı veya Airflow DAG'ını ayarlayın.  
- **[ ]** Procurize'in yanıt inceleme UI'siyle bütünleştirin.  
- **[ ]** Değiştirilemez günlük (Git + S3 Object Lock) etkinleştirin.  
- **[ ]** Orkestrasyon kodunun kendisi için bir güvenlik incelemesi yapın.

Bu adımları izleyerek kuruluşunuz 6‑8 hafta içinde üretim‑hazır bir DPS boru hattına sahip olur.

---

## 10. Gelecek Yönelimler

1. **Federated Learning** – Ham telemetriyi şirket güvenlik duvarının dışına çıkarmadan alan‑özel LLM adaptörleri eğitin.  
2. **Differential Privacy** – Risk skorlarına gizlilik koruması ekleyerek prompt oluşturucuya gönderin; faydayı korurken gizliliği artırın.  
3. **Zero‑Knowledge Proofs** – Tedarikçilerin, yanıtın bir risk modeline uygun olduğunu, veriyi ifşa etmeden kanıtlamasını sağlayın.  

Bu araştırma alanları, Dinamik Politika Sentezini daha güvenli, şeffaf ve düzenleyici dost hâle getirecektir.

---

## 11. Sonuç

Dinamik Politika Sentezi, güvenlik anketlerine yanıt verme görevini **gerçek zamanlı, kanıt‑destekli bir hizmet** haline dönüştürür. Canlı risk telemetrisi, bağlam motoru ve güçlü LLM'leri orkestrasyonlu bir iş akışı içinde birleştirerek organizasyonlar yanıt süresini önemli ölçüde azaltabilir, sürekli uyumu sürdürebilir ve denetçilere doğruluğun değişmez kanıtını sunabilir. Procurize ile bütünleştirildiğinde DPS, bir rekabet avantajına dönüşür—risk verilerini, anlaşmaları hızlandıran ve güven inşa eden stratejik bir varlığa dönüştürür.