  

# AI Destekli Gerçek Zamanlı Açık Kaynak Uyumluluk Risk Puanlama Motoru  

Şirketler, ürünlerini giderek daha fazla açık‑kaynak bileşenler üzerine inşa ediyor. Bu durum inovasyonu hızlandırırken, lisanslama, güvenlik açığı ve düzenleyici uyumluluk yükümlülüklerinin sürekli değişen bir hedef haline gelmesine de yol açıyor. Geleneksel uyumluluk kontrolleri gecelik ya da isteğe bağlı çalışır; bu da yeni bir bağımlılık politikayı ihlal edebilir ve kimse fark etmeden kod tabanına girebilir.  

**Bir bağımlılık bir pull‑request’e eklendiği anda uyumluluğun değerlendirilmesi ve *neden* ve *nasıl* düzeltileceğini açıklayan bir risk puanı elde edilse nasıl olurdu?**  

Bu makalede, **Yazılım Malzeme Faturası (SBOM)** verilerini, **kendini iyileştiren bir bilgi grafiği**, **grafik sinir ağları (GNN)** ile yapısal risk çıkarımını ve **büyük dil modelleri (LLM)** ile bağlamsal politika yorumlamasını birleştiren **gerçek‑zamanlı açık‑kaynak uyumluluk risk puanlama motoru** tasarlıyoruz. Çözüm ayrıca **Sıfır‑Bilgi Kanıtları (ZKP)** ile özel kodu korurken uyumluluğu kanıtlamayı da içeriyor.  

> **Anahtar Çıkarımlar**  
> - SBOM güncellemelerini canlı bir uyumluluk bilgi grafiğine akıtan mimari.  
> - Bağımlılık ağaçları boyunca geçişli riski yakalayan GNN‑tabanlı puanlama.  
> - Hukuki metni makine‑okunabilir kurallara dönüştüren LLM‑tabanlı politika çevirisi.  
> - Güvenli, denetlenebilir uyumluluk kanıtı için ZKP‑destekli doğrulama.  

---  

## 1. Açık Kaynak Uyumluluğu Neden Gerçek‑Zaman Zekâsına İhtiyaç Duyar  

| Zorluk | Geleneksel Yaklaşım | Gerçek‑Zaman Açığı |
|--------|----------------------|--------------------|
| **Lisans kayması** – yeni bir bağımlılık copyleft lisansı getirir. | Gece taramaları, manuel iyileştirme. | İhlal, tespit edilmeden önce birleştirilebilir. |
| **Güvenlik açığı yayılımı** – geçişli bir bağımlılıkta CVE. | Haftalık güvenlik açığı veritabanları, gecikmeli yamalama. | Gecikme süresince saldırı yüzeyi mevcuttur. |
| **Regülasyon kısıtlamaları** – ihracat kontrolleri, veri ikametgahı. | Üç aylık politika incelemeleri. | İş birimleri istemeden düzenlemeleri ihlal edebilir. |
| **Tedarik zinciri kökeni** – bir bileşenin bilinmeyen kaynağı. | Manuel köken kontrolleri. | Birleştirme sırasında özgünlük garantisi yok. |

Gerçek‑zaman puanlama, **kod entegrasyonu noktasında her değişikliği değerlendirerek** anında eyleme geçirilebilir bir risk puanı sağlar ve bu boşlukları ortadan kaldırır.  

---  

## 2. Yüksek‑Seviye Mimari  

```mermaid
graph TD
    A["Geliştirici İtme (Git)"] --> B["SBOM Üreticisi (Syft/Trivy)"]
    B --> C["Olay Akışı (Kafka)"]
    C --> D["Bilgi Grafiği Servisi"]
    D --> E["GNN Puanlama Motoru"]
    D --> F["LLM Politika Yorumlayıcısı"]
    E --> G["Risk Puanı API'si"]
    F --> G
    G --> H["CI/CD Kapısı (GitHub Actions)"]
    H --> I["Sıfır Bilgi Kanıtı Üreticisi"]
    I --> J["Uyumluluk Denetim Defteri (Değiştirilemez)"]
```  

*Şekil 1 – Gerçek zamanlı açık kaynak uyumluluk risk puanlama boru hattı.*  

### 2.1 Bileşen Genel Bakışı  

| Bileşen | Rol |
|---------|-----|
| **SBOM Üreticisi** | Her commit için tam bağımlılık listesini (geçişli kenarlar dahil) üretir. |
| **Olay Akışı** | SBOM güncellemelerinin aşağı akış hizmetlerine düşük gecikmeli teslimini garanti eder. |
| **Bilgi Grafiği Servisi** | Varlıkları (paketler, lisanslar, CVE'ler, düzenlemeler) ve ilişkileri depolar; Retrieval‑Augmented Generation (RAG) ile otomatik iyileşir. |
| **GNN Puanlama Motoru** | Grafikte risk yayılımını öğrenir, her düğüm için sayısal puan ve commit için bir toplu puan üretir. |
| **LLM Politika Yorumlayıcısı** | Hukuki ve düzenleyici metinleri grafik kurallarına dönüştürür (ör. “GPL‑3.0 SaaS ürünlerinde bulunamaz”). |
| **Risk Puanı API'si** | Puanı ve açıklamayı CI/CD ve geliştirici araçlarına sunar. |
| **Sıfır Bilgi Kanıtı Üreticisi** | Puanın politika ile uyumlu olduğunu, özel kodu ortaya çıkarmadan kriptografik kanıtlar oluşturur. |
| **Uyumluluk Denetim Defteri** | Denetçiler için değiştirilemez günlük (blokzincir veya sadece eklenebilir depolama). |

---  

## 3. Veri Alımı – Koddaki Bilgi Grafiğine  

1. **SBOM Çıkarma** – *Syft* veya *Trivy* gibi araçlar ön‑commit kancası olarak çalışır ve bir CycloneDX veya SPDX belgesi üretir.  
2. **Normalleştirme** – Paket tanımlayıcılarını standart bir forma (purl) dönüştür.  
3. **Zenginleştirme** – Dış kaynakları (NVD, OSV, SPDX Lisans Listesi, ihracat kontrol listeleri) sorgular ve nitelikler (ciddiyet, lisans türü, yargı bölgesi) ekler.  
4. **Akış** – Zenginleştirilmiş SBOM'u JSON olayı olarak `sbom.raw` ve `sbom.enriched` Kafka konularına yayınlar.  

Alım boru hattı **idempotent**tir; aynı commit'i yeniden işlemek aynı grafik durumunu verir, bu da tekrarlanabilir denetimler için kritiktir.  

---  

## 4. Bilgi Grafiği Oluşturma ve Otomatik İyileştirme  

Grafik şeması şunları içerir:  

- **Paket** düğümleri (ad, sürüm, purl).  
- **Lisans** düğümleri (SPDX tanımlayıcısı, uyumluluk matrisi).  
- **Güvenlik Açığı** düğümleri (CVE, CVSS, düzeltme sürümü).  
- **Düzenleme** düğümleri (ör. GDPR Madde 32, ABD İhracat Kontrolü).  
- **Kenar Tipleri**: `DEPENDS_ON`, `HAS_LICENSE`, `HAS_VULNERABILITY`, `SUBJECT_TO`.  

### 4.1 Retrieval‑Augmented Generation ile Otomatik İyileştirme  

Yeni bir düzenleme yayınlandığında sistem:  

1. LLM‑destekli bir web tarayıcısıyla ham metni alır.  
2. Grafik kurallarını üretir (ör. `EĞER package.license = "GPL-3.0" VE product.type = "SaaS" O ZAMAN risk += 0.8`).  
3. Kuralı otomatik olarak düğüm/kenar olarak ekler veya günceller; böylece grafik manuel migrasyonlara ihtiyaç duymadan güncel kalır.  

---  

## 5. Grafik Sinir Ağları Kullanarak Gerçek‑Zaman Puanlama  

### 5.1 Model Tasarımı  

- **Girdi**: Değiştirilen paketi kök alan, lisans risk ağırlığı, CVSS puanı, düzenleyici bayrak gibi niteliklerle zenginleştirilmiş alt‑graf.  
- **Mimari**: **Graf Konvolüsyonel Ağ (GCN)** ardından düğüm gömmelerini commit‑seviyesine toplamak için bir **Readout** katmanı.  
- **Çıktı**:  
  - **Risk Puanı** ∈ [0, 1] (yüksek = daha riskli).  
  - **Açıklama Vektörü** – lisans, CVE, yargı bölgesi gibi katkı sağlayan faktörler.  

### 5.2 Eğitim Verileri  

- Politik uyumsuzlukları sonradan tespit edilen geçmiş birleştirme olaylarıyla etiketlenmiş veri.  
- LLM tarafından oluşturulan sentetik karşı‑olay örnekleri (ör. “Bu paket MIT yerine GPL kullanırsa ne olur?”).  

### 5.3 Çıkarım Gecikmesi  

GCN çıkarımı, GPU‑hızlandırmalı mikro‑serviste **<200 ms** içinde gerçekleşir; bu, CI/CD kapı gereksinimlerini rahatça karşılar.  

---  

## 6. LLM‑Tabanlı Bağlamsal Politika Yorumlaması  

Hukuki metinler sıkça belirsizdir. LLM (ör. ince ayarlı GPT‑4o) şu adımları gerçekleştirir:  

1. **Madde Çıkarma** – İlgili bölümleri (lisans uyumluluğu, ihracat kısıtlamaları) tanımlar.  
2. **Anlamsal Haritalama** – Doğal dili grafik önermelerine dönüştürür (`license_incompatible`, `requires_approval`).  
3. **Dinamik Sorgulama** – Yeni bir bağımlılık ortaya çıktığında LLM, “Bu lisans bulut‑hosted SaaS ürünü için izinli mi?” sorusuna mevcut grafik bağlamını kullanarak yanıt verir.  

LLM ayrıca, risk puanına eşlik eden **insan‑okunabilir açıklamalar** üretir; bu, denetim gereksinimlerini karşılar.  

---  

## 7. Gizliliği Koruyan Denetimler İçin Sıfır‑Bilgi Kanıtları  

Şirketler, tam SBOM'larını dış denetçilere göstermek istemeyebilir. **zk‑SNARK**’lar sayesinde şunlar kanıtlanabilir:  

- *“Risk puanı ≤ 0.3 ve tüm politika kuralları sağlanmıştır.”*  

altındaki paket listesini ifşa etmeden. Kanıt, değiştirilemez denetim defterine eklenir ve **güvensiz doğrulama** sağlar.  

---  

## 8. CI/CD Boru Hatlarıyla Entegrasyon  

Tipik bir GitHub Actions iş akışı:  

```yaml
name: Compliance Gate
on: [pull_request]

jobs:
  compliance-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Generate SBOM
        run: syft . -o json > sbom.json
      - name: Publish SBOM
        run: |
          curl -X POST -H "Content-Type: application/json" \
          -d @sbom.json http://risk‑engine.local/api/v1/sbom
      - name: Retrieve Score
        id: score
        run: |
          SCORE=$(curl -s http://risk‑engine.local/api/v1/score/${{ github.sha }})
          echo "score=$SCORE" >> $GITHUB_OUTPUT
      - name: Enforce Policy
        if: steps.score.outputs.score > 0.4
        run: |
          echo "Compliance risk too high – blocking merge."
          exit 1
```  

Bu boru hattı **hızlı başarısızlık** sağlar, uyumsuz kodun birleştirilmesini engeller ve geliştiricilere anında bir iyileştirme yolu sunar.  

---  

## 9. Güvenlik, Yönetişim ve Denetim  

| Endişe | Azaltma |
|--------|----------|
| **Veri sızıntısı** – SBOM iç içe paket adları içerebilir. | SBOM yükünü şifrele; kanıt üretimi için ZKP kullan. |
| **Model kayması** – GNN yeni tehditler ortaya çıktıkça eski kalabilir. | Sürekli öğrenme döngüsü: haftalık ölüm sonrası etiketleri al. |
| **Politika belirsizliği** – Hukuki güncellemeler yanlış yorumlanabilir. | Grafik eklemeden önce LLM tarafından oluşturulan kuralların insan denetimi. |
| **Denetlenebilirlik** – Değiştirilemez kanıta ihtiyaç. | Sadece eklenebilir defter (ör. Hyperledger Fabric) puanı, kanıtı ve zaman damgasını saklar. |

---  

## 10. Organizasyonlar İçin Faydalar  

1. **Anlık risk görünürlüğü** – Geliştiriciler kod yazarken uyumluluk etkisini görür.  
2. **Azaltılmış iyileştirme maliyeti** – Erken tespit, daha sonra büyük yeniden mimariden kaçınır.  
3. **Açıklanabilir kararlar** – GNN ve LLM açıklamaları düzenleyicileri tatmin eder.  
4. **Depolar arasında ölçeklenebilir** – Olay‑tabanlı tasarım, binlerce mikro‑servisi destekler.  
5. **Gizlilik‑öncelikli** – ZKP’ler, özel bileşen detaylarını korur.  

---  

## 11. Uygulama Yol Haritası  

| Aşama | Kilometre Taşları |
|-------|-------------------|
| **0 – Temeller** | SBOM üretimi, Kafka ve Neo4j bilgi grafiği kur. |
| **1 – Temel Puanlama** | Basit kural‑tabanlı risk motoru dağıt (lisans + CVE). |
| **2 – GNN Prototipi** | Tarihsel birleştirmeler üzerinde GCN eğit, API ile entegre et. |
| **3 – LLM Politika Katmanı** | Düzenleyici veri setleri üzerinde LLM'i ince ayar yap, kural üretimi ekle. |
| **4 – ZKP Entegrasyonu** | Puan doğrulaması için zk‑SNARK kanıt üretimini uygula. |
| **5 – CI/CD Entegrasyonu** | GitHub Actions / GitLab CI kapıları ekle, yanlış pozitifleri izle. |
| **6 – Sürekli Öğrenme** | Denetim bulgularından geri beslemeyi GNN'e otomatikleştir. |

---  

## 12. Gelecek Yönelimler  

- **Kurumsallar Arası Bilgi Paylaşımı** – Şirketler arasında ham SBOM’ları paylaşmadan risk modellerini iyileştirmek için federated learning.  
- **Çok‑Modlu Kanıt** – Kod analizi, ikili köken ve konteyner imaj taramasını birleştirme.  
- **Uyarlanabilir Karşı‑Olgu Simülasyonu** – En az riskli alternatif bağımlılık sürümünü önermek için reinforcement learning.  
- **Regülasyon Dijital İkizi** – Yaklaşan mevzuatın tüm yazılım portföyü üzerindeki etkisini simüle eden bir ortam.  

---  

## 13. Sonuç  

Açık‑kaynak bileşenler modern yazılımın can damarı, ancak sürekli değişen bir uyumluluk manzarası da getiriyor. **SBOM akışı, kendini iyileştiren bir bilgi grafiği, grafik sinir ağları, LLM‑tabanlı politika çevirisi ve sıfır‑bilgi kanıtlarını birleştiren** önerilen motor, **gerçek‑zamanlı, açıklanabilir ve gizlilik‑koruyan risk puanlarını doğrudan geliştiricinin parmaklarının ucuna** getiriyor.  

Bu mimarinin benimsenmesi, uyumluluğu bir sonraki aşamaya taşıyarak, onu bir **sonradan gelen darboğaz** yerine **sürekli, proaktif bir koruma katmanı** haline getirir; böylece ürün ekipleri daha hızlı teslim ederken yasal ve güvenlik sınırları içinde kalır.  

---  

## İlgili Bağlantılar  

- [Açık Kaynak Yazılım Malzeme Faturası (SBOM) – SPDX Spesifikasyonu](https://spdx.dev)  
- [Risk Yayılımı için Grafik Sinir Ağları – Stanford CS224W Dersi](https://web.stanford.edu/class/cs224w/)  
- [Güvenli Denetimde Sıfır‑Bilgi Kanıtları – ZKProof Topluluğu](https://zkproof.org)  
- [Bilgi Grafiği Otomatik‑İyileştirme için Retrieval‑Augmented Generation – arXiv:2403.01234](https://arxiv.org/abs/2403.01234)