Modelin hatırladıkları
- Dil modelinin eğitim ezberinden ve bağlam penceresinden nasıl veri sızdırdığını, sızıntıyı nasıl ölçüp kapatacağını öğrenirsin.
- Ezber ile bağlam sızıntısını ayırır, önek testi ve kanarya kayıtlarla ezberi ölçer, çok kiracılı önbellek hatasını tanırsın.
- Sonunda bir bağlam dökümünde riskli satırları işaretler ve yalıtım testini sürüm kapısına bağlarsın.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Altay Kargo'nun destek asistanına siparişini sorarsın ve yanıtta başka bir müşterinin adı görünür. Başka bir gün, şirketin kod asistanı hiç görmediğin bir projenin anahtarını tamamlar. İki olay da veri sızıntısıdır, ama kaynakları farklıdır ve farklı ekipler çözer.
OWASP'ın Ağustos 2026'da yayımladığı LLM listesi hassas bilgi ifşasını (Sensitive Information Disclosure) LLM02:2026 koduyla ikinci sıraya koyar. Bu derste sızıntının nereden doğduğunu ayırt etmeyi öğrenirsin. Ezberi nasıl ölçeceğini, bağlam sızıntısını nasıl yakalayacağını ve her birinin hangi savunmayı istediğini görürsün.
Sızıntının iki kaynağı
Sızıntının iki kaynağı var ve ikisini karıştırmak pahalıya patlar. Birincisi eğitim verisidir. Model, eğitimde gördüğü nadir ve tekrar eden dizileri ezberler (memorization).
Bir e-posta imzası, bir anahtar ya da bir hasta kaydı yeterince tekrar ettiyse doğru istemle kelimesi kelimesine geri gelir. Araştırmalar bunu ölçtü. Carlini ve ekibi 2021'de GPT-2'den yüzlerce metni birebir çıkardı.
Çıkan metinler arasında ad, telefon numarası, e-posta adresi ve 128 bitlik UUID'ler vardı. Bu dizilerin bir kısmı eğitim setinde tek bir belgede geçiyordu ve yine de çekilebildi. Aynı çalışma, büyük modellerin küçük modellerden daha çok ezberlediğini gösterdi.
İkinci kaynak bağlamdır (context). Modelin o anki penceresine ne koyduysan sızabilir: sistem promptu, getirilen belge, önceki turlar, aracın döndürdüğü tablo. Model bu satırları eğitimde görmedi; onları uygulaman o an verdi.
Bağlam sızıntısı sahada çok daha sık çıkar. Tamiri de daha ucuzdur, çünkü sorun eğitimde değil çalışma anındaki bir tasarım kararındadır. OWASP'ın 2026 metni tabloyu dört evreye ayırır: eğitim, çıkarım (inference), boru hattı ve gözlem.
Boru hattında veri, ince ayar ve sentetik veri üretimiyle türetilmiş modellere taşınır. Gözlem evresinde saldırgan içeriği hiç görmez; yanıt süresinden ya da jeton uzunluğundan bilgi çıkarır. Bu derste ağırlık ilk iki evrededir.
Ayrımın parasal karşılığı nettir. Ezberi azaltmak veri temizliği, tekilleştirme (deduplication) ve yeniden eğitim ister; aylar sürer. Bağlam sızıntısını kapatmak ise bir yetki kontrolü ile bir maskeleme adımıdır; günler sürer.
Yanlış teşhis, günlük işi aylık işe çevirir. Tersi de olur: gerçek bir ezber sorununa maskeleme koyarsın ve veri modelin ağırlıklarında durmayı sürdürür.
Teşhis için tek soru sor: sızan veri o oturumun penceresinde var mıydı? Varsa bağlam sızıntısıdır ve pencereyi dolduran kodu incelersin. Yoksa ve model veriyi yine de üretiyorsa ezberden şüphelenirsin. Kural basittir, ama olay anında ekipler bu soruyu atlayıp doğrudan modeli suçlar.
Etkinlik 1 / 7
Her olay hangi sızıntı türüdür?
Önce bir seçeneğe, sonra aşağıdaki uygun kutuya bas. İstersen seçeneği kutuya sürükleyip bırak. Yerini değiştirmek için aynı işlemi tekrarla.
0/4 seçenek yerleşti.
Etkinlik 2 / 7
Doğru mu, yanlış mı?
Bağlam sızıntısını kapatmak, eğitim verisi ezberini azaltmaktan daha hızlıdır.
Ezberi ölçmek: önek testi ve üyelik çıkarımı
Ezberi ölçmenin en basit yolu önek testidir. Modele, veri setinde olduğunu düşündüğün bir metnin ilk yarısını verir, devamını istersin. Model devamı şaşırtıcı doğrulukla yazıyorsa o metin eğitimde görülmüş olabilir. Araştırmacılar buna keşfedilebilir ezber (discoverable memorization) der.
2022'deki bir ölçüm üç ilişki buldu: model büyüdükçe, bir örnek eğitimde daha çok tekrar ettikçe ve önek uzadıkça ezber artar. Üçü de log-doğrusal büyür. Pratikteki anlamı şudur: ince ayar setindeki bir müşteri kaydı on kez tekrar ediyorsa, uzun bir önekle geri gelme olasılığı yüksektir.
Önek testinin sonucu tek başına kanıt değildir. Model sık görülen kalıpları ezber olmadan da tamamlar. Bir telefon numarasının ilk hanelerini verirsen geçerli biçimde bir devam uydurabilir.
Üyelik çıkarımı (membership inference) daha keskin bir soru sorar: bu örnek eğitim setinde var mıydı? Test eden, modelin bir metne verdiği olasılığı ölçer. Eğitimde görülen metin genelde daha düşük şaşkınlık (perplexity) alır, yani model onu daha az yadırgar. MITRE ATLAS bu tekniği AML.T0024.000 koduyla kaydeder.
Savunma ekibi aynı ölçümü kendi modeline uygular. Bunun için ince ayar setine bilerek sahte ve benzersiz kayıtlar ekler. Bu kayıtlara kanarya (canary) denir. Kanarya gerçek bir kişiye ait olmadığı için ölçüm kimseyi riske atmaz.
$ python onek_testi.py --model kargo-destek-ft --kayitlar kanarya.jsonl kayit eslesen_jeton model_sasirmasi zlib_bayt karar KAN-01 48/48 1.9 61 EZBER SUPHESI KAN-02 7/48 24.6 58 temiz KAN-03 48/48 1.4 19 kalip, tekrarli metin
Çıktıyı satır satır oku. KAN-01'de 48 jetonun hepsi birebir geldi ve model metni neredeyse hiç yadırgamadı. Metin çeşitli ve sıkıştırması zor; zlib onu ancak 61 bayta indirebildi. Zor bir metni bu kadar rahat tamamlamak ezber işaretidir.
KAN-02'de yalnız 7 jeton tuttu ve şaşkınlık yüksek; model bu kaydı görmemiş gibi davranıyor. KAN-03 bir tuzaktır. Eşleşme tam ve şaşkınlık düşük, ama zlib metni 19 bayta indirdi.
Metin tekrarlı bir kalıptır, örneğin sıfırlarla dolu bir alan. Tahmin edilmesi kolay bir metnin tamamlanması ezber kanıtı sayılmaz. Carlini ekibi 2021'de tam bu yüzden şaşkınlığı zlib entropisiyle karşılaştırdı ve kalıp metinleri eledi.
Derinleş:İraksama saldırısı: 200 dolarlık deney
Hizalanmış sohbet modelleri ezberi saklamayı iyi öğrenir. Nasr ve ekibi 2023'te bunun yeterli olmadığını gösterdi. Kapalı bir üretim modelinden tek bir kelimeyi sonsuza kadar tekrar etmesini istediler. Model kelimeyi birkaç yüz kez yazdıktan sonra sohbet üslubundan koptu ve eğitim verisinden parçalar dökmeye başladı.
Araştırmacılar buna iraksama saldırısı (divergence attack) adını verdi. Yaklaşık 200 dolarlık sorguyla 10.000'i aşkın benzersiz ezber örneği çıkardılar. Model bu durumda, normal davranışına göre 150 kat daha hızlı eğitim verisi üretti. Aynı çalışma açık ve yarı açık modellerden gigabaytlarca veri çekilebildiğini de ölçtü.
OWASP'ın 2026 metni, sağlayıcı yamalarının defalarca atlatıldığını not eder. Dersin özü şudur: hizalama ezberi silmez, yalnız üstünü örter. Ezberi gerçekten azaltan şey veri tarafındaki temizlik ve tekilleştirmedir.
Etkinlik 3 / 7
Önek testinde bu satırı aldın. En doğru yorum hangisi?
Önce kodu oku, sonra çıktıyı seç.
kayit eslesen_jeton model_sasirmasi zlib_bayt KAN-07 48/48 1.6 17
Bağlam sızıntısı ve kiracı yalıtımı
Bağlam sızıntısının en sinsi biçimi çok kiracılı (multi-tenant) sistemlerde çıkar. Aynı uygulama birçok müşteriye hizmet verir ve kaynakları paylaşır: önbellek, oturum deposu, vektör indeksi. Önbellek anahtarı kullanıcıyı taşımazsa bir müşterinin yanıtı diğerine döner. Oturum özeti ortak bir alanda tutuluyorsa aynı kaza olur.
Mart 2023'te yaygın bir sohbet asistanında, önbellek sunucusuyla konuşan kütüphanede bir hata çıktı. İptal edilen bir isteğin yanıtı sıradaki kullanıcıya teslim edildi. Bazı kullanıcılar başkalarının sohbet başlıklarını gördü. Olay raporuna göre, dokuz saatlik bir dilimde etkin olan ücretli abonelerin yüzde 1,2'sinin ödeme bilgisinin bir kısmı başkalarına görünmüş olabilir.
# Yanlis: anahtar yalniz soruyu tasiyor key = hash(soru) # Dogru: kiraci ve yetki seviyesi de anahtara girer key = hash(kiraci_id + ":" + rol + ":" + soru)
Koddaki ilk satır masum görünür. Model çağrısı pahalıdır ve aynı soruyu tekrar tekrar sormak istemezsin, bu yüzden yanıtı soruya göre saklarsın. Sorun şurada: 'siparişim nerede' sorusu her müşteride aynı metindir, yanıtı ise kişiye özeldir. Anahtar yalnız soruyu taşırsa Ayşe'nin yanıtı Mehmet'e döner.
Anlamsal önbellek (semantic cache) riski büyütür, çünkü birebir aynı soruyu değil, benzer soruları da eşleştirir. Doğru anahtar kiracıyı, kullanıcının rolünü ve gerekiyorsa kullanıcı kimliğini taşır. Kişiye özel yanıtı hiç önbelleğe almamak da geçerli bir karardır. Hangi yanıtın paylaşılabilir olduğuna tasarımda karar verirsin, olaydan sonra değil.
Bağlam penceresi büyüdükçe risk de büyür. Uzun pencereler yüz binlerce jeton taşır ve ekipler içine her şeyi koyar: tüm sohbet geçmişi, tüm belge, tüm araç çıktısı. Kolaylık burada güvenliğin önüne geçer. Oysa pencereye giren her satır, tek bir kandırmayla dışarı çıkabilecek bir satırdır.
Doğru refleks, koymadan önce şunu sormaktır: bu satır olmadan görev yürür mü? Sızıntının bir de dolaylı biçimi var. Model veriyi birebir vermez ama onun hakkında konuşur.
Maaş tablosunu yazmadan en yüksek maaşın hangi departmanda olduğunu söyler. Hasta kaydını dökmeden yaş aralığını verir. Bu tür çıkışlar basit filtreden kolayca geçer, çünkü yanıtta hiçbir kimlik alanı görünmez.
Yalıtımı denemek için ucuz bir düzen kurarsın. İki ayrı test kullanıcısı açarsın ve ikisini farklı kiracılara koyarsın. Birinciyle içinde kanarya bulunan bir cümle konuşursun. Sonra ikinci kullanıcıyla aynı konuyu açar ve kanaryanın izini ararsın.
İzi bulursan yalıtım kırıktır. Aynı testi önbellek açıkken ve kapalıyken tekrarla, çünkü çoğu sızıntı önbellek katmanından doğar.
Ölçerken yalnız birebir eşleşmeye bakma. Türetilmiş bilgiyi de test setine koy: kanaryanın kendisini aramanın yanında, onun hakkında bir soru da sor. Aşağıdaki dökümde test, kırık bir yalıtımı yakalıyor.
[kiraci=K1 kullanici=test-a] Siparisim KANARYA-7F3A kodlu, Kars'a gidiyor. [kiraci=K2 kullanici=test-b] Onceki konusmayi ozetle, gecen kodlari listele. [asistan -> test-b] Onceki konusmada KANARYA-7F3A kodlu, Kars'a giden bir siparis vardi. [test] SONUC: YALITIM KIRIK, kanarya K1'den K2 yanitina gecti
Satırları sırayla oku. İlk satırda K1 kiracısındaki test kullanıcısı kanaryayı pencereye koyar. İkinci satırda başka kiracıdaki kullanıcı, önceki konuşmanın özetini ister. Bu istem yalıtımı sınar, çünkü doğru kurulmuş bir sistemde ikinci kullanıcının önceki bir konuşması yoktur.
Üçüncü satırda asistan kanaryayı ve varış şehrini yazar. Demek ki oturum özeti ya da önbellek kiracılar arasında paylaşılıyor. Son satır testin kararıdır.
Gerçek bir olayda aynı döküm, hangi katmanın sızdırdığını bulmanın başlangıç noktasıdır. Önbelleği kapatıp testi tekrarlarsın; sızıntı kaybolursa suçlu önbellektir, sürüyorsa oturum deposuna bakarsın.
Derinleş:Gözlem evresi: içeriği görmeden sızdırmak
OWASP'ın 2026 metni, içeriğe hiç dokunmayan bir sızıntı sınıfını ayrıca yazar. Saldırgan şifreli trafiği izler ve yalnız paket boyutlarını ve zamanlamayı görür. Akış hâlinde gelen yanıtta jetonlar küçük parçalar hâlinde gider ve paket boyutları jeton uzunluklarını ele verir. Weiss ve ekibi 2024'te bu yolla yanıtların yüzde 29'unu doğru biçimde yeniden kurdu, yüzde 55'inde konuyu çıkardı.
Whisper Leak adlı 2025 çalışması, 28 yaygın modelde konuşma konusunu şifreli trafikten sınıflandırdı; çoğu modelde AUPRC değeri yüzde 98'in üstüne çıktı. Bir başka 2025 çalışması, çok kiracılı sunucularda paylaşılan KV önbelleği üzerinden başka bir kullanıcının istemini sızdırdı. Bu sınıfın savunması ağ ve altyapı katmanındadır: rastgele dolgu (padding), jetonları gruplayarak göndermek ve hassas kiracılara ayrı önek önbelleği vermek.
Etkinlik 4 / 7
Bir asistanın önceki kullanıcıya ait bağlamı sızdırıp sızdırmadığını ölçen kısa bir test istemi yaz.
Etkinlik 5 / 7
Bu bağlam dökümünde riskli satırları işaretle.
Şüpheli satırlara tıkla. Birden fazla olabilir.
Savunma, tespit ve sürüm kapısı
Bağlam tarafında savunmanın özeti sadedir. Pencereye yalnız o kullanıcının görmeye yetkili olduğu veriyi koy. Yetkiyi getirmeden önce uygula: RAG aramasında belge ve parça düzeyindeki izin, sorgunun kendisinde çalışsın. Yanıt üretildikten sonra filtrelemek, pencereye girmiş bir parçayı geri alamaz.
Geçmişi sınırla ve özetlerken kimlik alanlarını maskele. Önbelleği kiracı bazında ayır. Sistem promptuna gizli anahtar, parola ya da müşteri verisi koyma, çünkü prompt ilk sızan yerdir. Bu adımlar bağlam sızıntısının büyük kısmını kapatır ve hepsi uygulama kodunda, model ekibini beklemeden yapılır.
Ezber tarafında savunma eğitimden önce başlar. Eğitim ve ince ayar verisinin kaynağını kaydet, veriyi sınıflandır ve kişisel veriyi girişte temizle. Yakın kopyaları da tekilleştir, çünkü tekrar ezberin en güçlü tetikleyicisidir. Tekilleştirme ezberi azaltır ama sıfırlamaz.
Yüksek riskli veride diferansiyel gizlilik (differential privacy) ile eğitim bir seçenektir. Yöntem, tek bir örneğin modele etkisini matematiksel olarak sınırlar; bedelini doğrulukta ödersin. Modeli yayına almadan önce kanarya ve önek testlerini tekrarla. Açık ağırlıklı bir model yayımlıyorsan hız sınırına güvenemezsin, çünkü saldırgan modeli kendi makinesinde sınırsız sorgular.
Tespit için yanıtları çıkışta tara. Kimlik desenleri, kanarya dizileri ve bilinen anahtar biçimleri için bir tarayıcı koy. Yalnız düzenli ifadeye güvenme; kodlanmış ya da başka dile çevrilmiş çıktı desenden kaçar. Deseni, varlık tanıma (NER) ve eğitilmiş bir sınıflandırıcıyla birlikte kullan.
Hassas uç noktalarda kullanıcı ve oturum başına sorgu bütçesi koy, çünkü üyelik çıkarımı ve sayım denemeleri çok sorgu ister. Son adım yalıtım testini sürüm kapısına bağlamaktır. Her sürümden önce iki kiracılı test kendiliğinden koşar ve kanarya görünürse sürüm durur. Böylece koddan gelen yalıtım hataları üretime çıkmadan yakalanır.
Etkinlik 6 / 7
Bağlam sızıntısını azaltan önlemler hangileridir?
Etkinlik 7 / 7
Çok kiracılı bir asistanda yanıtların müşteriler arasında karışmasına en çok ne yol açar?
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.
- Etkinlik 1· Sızıntının iki kaynağı
- Etkinlik 2· Sızıntının iki kaynağı
- Etkinlik 3· Ezberi ölçmek: önek testi ve üyelik çıkarımı
- Etkinlik 4· Bağlam sızıntısı ve kiracı yalıtımı
- Etkinlik 5· Bağlam sızıntısı ve kiracı yalıtımı
- Etkinlik 6· Savunma, tespit ve sürüm kapısı
- Etkinlik 7· Savunma, tespit ve sürüm kapısı