İçeriğe atla
0 XP 0
12 dkderinleşmeyle 13 dk55 XP6 etkinlik

Üretime çıkmadan önce

Bu derste
  • Bir LLM özelliğini canlıya almadan önce kapsamı, tehdit modelini, kontrol listesini ve yayın kapısını sırayla kurar, geri alma yolunu hazırlarsın.
  • Bu derste kapsamı, tehdit modelini ve yayın kapısını kuracaksın.
  • Kontrol listesini kimin doldurduğu ve kimin onayladığı da konunun parçası.

Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.

Altay Kargo'nun ürün ekibi yeni bir iade asistanı hazırladı. Asistan müşterinin sorusunu okuyor, sipariş kaydına bakıyor ve uygun durumda iade talebi açıyor. Demo toplantısında her şey yolunda gitti ve ekip cuma günü yayına çıkmak istiyor. Güvenlik ekibinden görüş isteniyor ve iş sana düşüyor.

Soru basit: bu özellik canlıya hazır mı? Cevabı hisle veremezsin. Yayın öncesi değerlendirme belli bir sırayla ilerler.

Önce kapsamı yazarsın, sonra tehdit modelini çıkarırsın, sonra kontrolleri bir listeye bağlarsın. Kırmızı takım koşusunu önceden yazılmış bir eşikle karşılaştırır, en sonda yayın kapısını çalıştırırsın. Her adımın çıktısı bir sonrakinin girdisidir.

Kapsam: üç sınırı yazmak

Yayın öncesi ilk iş kapsamı yazmaktır. Bu özellik ne yapar, ne yapmaz, hangi veriye erişir, hangi kullanıcıya açılır? Kapsam belirsizse tehdit modeli de belirsiz kalır ve test edeceğin şeyi seçemezsin.

Kapsamı yazarken üç sınırı somut koy. Veri sınırı, modelin hangi kaynaklardan okuduğunu söyler. Yetki sınırı, modelin hangi aracı çağırabildiğini ve bu aracın neyi değiştirdiğini söyler.

Kullanıcı sınırı ise özelliğe kimin eriştiğini söyler: oturum açmış müşteri mi, herkes mi, yoksa yalnız çağrı merkezi çalışanı mı? Her sınır saldırı yüzeyinin bir kenarıdır. Birini boş bırakırsan yüzey o yönde sınırsız kalır.

ozellik: iade-asistani
amac: Musterinin iade sorusunu yanitlamak ve uygun talebi acmak
veri_siniri:
  okur: [siparis_ozeti, iade_politikasi]
  okumaz: [odeme_bilgisi, musteri_notlari]
yetki_siniri:
  siparis_sorgula: salt okuma
  iade_talebi_ac: yazma, tutar <= 500 TL, insan onayi gerekir
kullanici_siniri: oturum acmis musteri, yalniz kendi siparisleri
sahip: musteri deneyimi ekibi
gozden_gecirme: her yeni arac ya da veri kaynagi eklendiginde
Kapsam belgesi kısa olur. Her satır bir karardır ve her kararın sahibi bellidir.

Belgeyi satır satır oku. Amaç satırı tek cümledir ve asistanın yapmayacağı her iş bu cümlenin dışında kalır. Veri sınırı iki liste tutar: okunan kaynaklar ve bilerek okunmayan kaynaklar.

Okumaz listesi gereksiz görünebilir. Ama altı ay sonra biri ödeme bilgisini eklemek istediğinde tartışmayı başlatan satır odur. Yetki sınırı her aracı ayrı yazar.

Sorgu aracı yalnız okur. İade aracı ise yazar, bu yüzden bir tutar sınırı ve insan onayı taşır.

Kullanıcı sınırı, müşterinin yalnız kendi siparişlerini görebileceğini söyler. Bu kural modelin içinde değil, aracın arkasındaki yetki denetiminde uygulanır. Son iki satır belgeye bir sahip ve bir gözden geçirme tetiği verir.

Bu sınırları atlayan ekipler genelde aynı hatayı yapar: özelliği geniş yetkiyle yayınlar, sonra daraltmayı erteler. Örneğin bir destek botu başta yalnız ürün açıklaması okusun diye kurulur. Birkaç ay sonra sipariş tablosuna da erişir, çünkü kimse yetkiyi gözden geçirmez. Bu kaymaya yetki sürüklenmesi denir.

Kapsam belgesi sürüklenmeyi önler, çünkü her yeni erişim yazılı bir karar ister. Sınırı önce sen çiz, sonra ekip genişletme talebini bu belgeye karşı tartışsın. Gerçek olaylarda sızıntının kaynağı çoğu zaman yeni bir saldırı tekniği değildir. Kaynak, kimsenin geri almadığı eski bir izindir.

Etkinlik 1 / 6

Kapsam belgesinde hangi sınırlar somut yazılır?

Birden fazla doğru var.

Tehdit modeli ve etki sınıfı

Tehdit modeli kapsamın üstüne oturur ve dört soruya cevap arar. Ne üzerinde çalışıyoruz? Ne ters gidebilir? Buna karşı ne yapacağız?

Yeterince iyi yaptık mı? İlk sorunun cevabı kapsam belgesidir. İkinci soru için saldırganı ve giriş kanalını yaz. Dış kullanıcı sohbet kutusundan girer ve modeli kandırmaya çalışır.

İç kullanıcı yetkisini aşmak ister, örneğin başka bir bölgenin iadelerini görmek. Üçüncü taraf ise modele ulaşan bir belgeye, bir ürün yorumuna ya da bir e-postaya talimat yazar. Buna dolaylı enjeksiyon denir. Saldırgan modelle hiç konuşmadan sonuç alır.

KullanıcıgirdiSistem promptutalimatModeltek kanalAraçlardosya, APIDış belgeDış belgedeki metin de modelin okuduğu aynı kanala girer.
Her girdi kanalını ayrı say. Kullanıcı mesajı, dış belge ve araç sonucu aynı modele akar.

Etkiyi de yaz. Bir açık gerçekleşirse ne olur? Yanlış cevap mı çıkar, kişisel veri mi sızar, para mı hareket eder, kayıt mı silinir? Etkiyi üç sınıfta toplamak işini kolaylaştırır: yanlış bilgi, veri sızıntısı ve kalıcı değişiklik.

Yanlış bilgi can sıkar ama çoğu zaman düzeltilebilir. Veri sızıntısı geri alınamaz, çünkü sızan bilgi artık başkasının elindedir. Kalıcı değişiklik ise para iadesi, hesap silme ya da e-posta gönderme gibi dünyada iz bırakan bir eylemdir.

En kötü etkisi para veya veri olan akışlar diğerlerinden önce sertleşir. İade asistanında bu akış, iade talebi açan araçtır.

Tehdit modelinde en sık hata, yalnız sohbet kutusunu düşünmektir. Saldırgan çoğu zaman en görünür kapıdan girmez. Asistanın okuduğu sipariş notu, kargo firmasından gelen durum mesajı ya da bilgi tabanındaki eski bir sayfa da modelin girdisidir.

Her girdi kaynağını tek tek say ve kimin yazabildiğini not et. Müşterinin yazabildiği her alanı saldırgan da yazabilir.

İkinci sık hata, etkiyi modelin cevabıyla sınırlamaktır. Gerçek etkiyi modelin söylediği değil, çağırdığı araç belirler. Tehdit modelini bu yüzden araç listesiyle yan yana oku.

Etkinlik 2 / 6

Her senaryoyu en yüksek etki sınıfına koy.

Ö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/5 seçenek yerleşti.

Derinleş:Dört soru ve STRIDE

Tehdit modellemenin dört sorusu, 2020'de bir grup uygulayıcının yayımladığı Tehdit Modelleme Manifestosu'ndan gelir. Manifesto belirli bir yöntemi dayatmaz. Hangi yöntemi seçersen seç, bu dört soruya cevap vermeni ister. OWASP'ın tehdit modelleme rehberi de aynı soruları omurga olarak kullanır.

İkinci soru için en bilinen yardımcı, Microsoft çalışanlarının geliştirdiği STRIDE kısaltmasıdır: kimlik sahteciliği, kurcalama, inkâr, bilgi ifşası, hizmet engelleme ve yetki yükseltme. LLM uygulamasında bu başlıkların her biri yeni bir kılık bulur. Kurcalama, modele ulaşan bir belgeye gizli talimat yazmaktır. Bilgi ifşası, sistem promptunun ya da başka bir müşterinin verisinin cevaba sızmasıdır.

Yetki yükseltme, modelin kullanıcı adına onun yapamadığı bir aracı çağırmasıdır. İnkâr başlığı ise kaydın değerini hatırlatır. Araç kaydı yoksa hangi eylemi kimin tetiklediğini kanıtlayamazsın.

Kontrol listesi ve istisna kaydı

Kontrol listesi, tehdit modelinden çıkan kararları denetlenebilir maddelere çevirir. Liste kısa ve karar verdirici olsun. Yirmi maddelik liste doldurulmaz, sekiz maddelik liste doldurulur.

Her madde evet veya hayır ile cevaplanabilsin, yoruma açık madde koyma. "Güvenlik yeterli mi?" gibi bir maddeye herkes farklı cevap verir. "Kalıcı değişiklik yapan araç insan onayına bağlı mı?" sorusunun ise tek cevabı vardır.

Listeyi kimin doldurduğu da önemlidir. Maddeyi özelliği geliştiren ekip doldurur, kanıtı ise güvenlik ekibi kontrol eder. Kanıtsız bir evet, boş bırakılmış bir maddeden farksızdır.

[ ] Kapsam yazili ve onayli mi
[ ] Tehdit modeli cikarildi mi
[ ] Arac yetkileri en az ayricalikla mi tanimli
[ ] Kalici degisiklik yapan arac insan onayina bagli mi
[ ] Girdi ve cikti kayitlari maskelenmis olarak tutuluyor mu
[ ] Kirmizi takim kosusu yapildi mi, esik asildi mi
[ ] Geri alma plani var mi
[ ] Kisisel veri isleniyorsa hukuk incelemesi tamam mi
Sekiz madde, her biri evet veya hayır. Bir hayır varsa kapı kapalıdır.

Listedeki bir madde hayır dönebilir, ama bu her zaman yayını durdurmaz. Gerekirse istisna açarsın. İstisna kaydı dört şey içerir: hangi madde atlandı, riski kim üstlendi, hangi geçici önlem alındı ve madde ne zaman kapanacak.

Örneğin maskeleme kütüphanesi henüz hazır değilse ham kayıtların saklama süresini iki güne indirir, erişimi iki kişiyle sınırlarsın. Bu geçici önlemi yazar, riski ürün sahibinin üstlendiğini kaydeder ve kapanış için bir tarih koyarsın. İstisna sahibi olmayan bir hayır ise yayını durdurur, çünkü kimse sonucuna katlanmaz. Süresi geçmiş bir istisna da kapalı kapı sayılır.

istisna: IST-014
madde: 5 (girdi ve cikti kayitlari maskelenmis mi)
durum: hayir
gecici_onlem: ham kayit 2 gun saklanir, erisim 2 kisiyle sinirli
riski_ustlenen: urun sahibi, iade asistani
kapanis: 2026-10-15
Bir istisna kaydı. Sahibi ve kapanış tarihi olmayan istisna geçersizdir.

Etkinlik 3 / 6

Doğru mu, yanlış mı?

Kontrol listesindeki bir madde hayır ise yayın kararı ekip oyuyla verilebilir.

Kırmızı takım koşusu ve eşik

Kontroller yerine oturduktan sonra kırmızı takım koşusunu alırsın. Sıra önemlidir. Kontrolleri uygulamadan koşu almak, zaten bildiğin açıkları yeniden bulmaya zaman harcamaktır.

Koşu, tehdit modelindeki her kanal için saldırı denemeleri içerir: doğrudan enjeksiyon, belge üzerinden dolaylı enjeksiyon, sistem promptunu sızdırma ve yetkisiz araç çağrısı. OWASP'ın üretken yapay zekâ kırmızı takım rehberi bu işi dört alana böler: modelin kendisi, uygulamadaki entegrasyon, altyapı ve çalışma anındaki davranış. İade asistanında ağırlığı entegrasyon ve çalışma anı alır, çünkü zarar araç çağrısında doğar.

Koşunun sonucu bir sayıdır ve bu sayı önceden yazılmış bir eşikle karşılaştırılır. Örneğin kritik kategoride saldırı başarı oranı yüzde beşi geçmesin. Kalıcı değişiklik yapan araçta ise tek bir başarılı deneme bile kapıyı kapatsın. Eşiği koşudan sonra yazarsan sonuca göre ayarlama eğilimine düşersin.

Bir başka sık hata, aynı test setini her sürümde yeniden kullanmaktır. Ekip zamanla bu sete göre ayar yapar. Set ezberlenir, oran düşer, ama gerçek dayanıklılık artmaz. Her koşuya yeni kalıplar ekle ve geçmiş olaylardan çıkan örnekleri kalıcı test olarak sakla.

Bu çalışma yalnız iyi mühendislik değildir, düzenleyicilerin beklentisiyle de örtüşür. Avrupa Birliği Yapay Zekâ Yasası'nın 15. maddesi, yüksek riskli sistemlerden doğruluk, sağlamlık ve siber güvenlik ister. Aynı madde, eğitim verisini zehirleme ve modeli yanıltmak için hazırlanmış girdiler gibi yapay zekâya özgü saldırılara karşı önlem bekler.

Yayın öncesi kırmızı takım koşusu, bu beklentinin mühendislikteki karşılığıdır. NIST'in yapay zekâ risk yönetimi çerçevesi de işi dört işleve ayırır: yönetişim, haritalama, ölçme ve yönetme. Kapsam belgesi haritalamaya, kırmızı takım koşusu ölçmeye, yayın kapısı yönetmeye denk düşer. Liste sahipleri ve istisna kayıtları da yönetişimin parçasıdır.

Etkinlik 4 / 6

Kritik kategoride eşik yüzde 5. Koşuda 400 denemenin 30'u tam başarı oldu ve istisna kaydı yok. Kapı ne der?

Derinleş:Yapay Zekâ Yasası'nda test beklentisi

Avrupa Birliği'nin 2024/1689 sayılı Yapay Zekâ Yasası 1 Ağustos 2024'te yürürlüğe girdi ve yükümlülüklerini kademeli olarak uygulamaya alıyor. 15. madde yüksek riskli sistemleri hedefler. Sistemin kullanım ömrü boyunca tutarlı biçimde doğru, sağlam ve güvenli çalışmasını ister.

Beşinci fıkra, yetkisiz üçüncü tarafların sistemin kullanımını, çıktısını ya da performansını değiştirme girişimlerine karşı dayanıklılık bekler. Sayılan saldırılar arasında eğitim verisini zehirleme, önceden eğitilmiş bileşenleri zehirleme, modeli yanıltan girdiler, gizlilik saldırıları ve model kusurları vardır. Sistemik risk taşıyan genel amaçlı modeller için 55. madde daha açıktır.

Sağlayıcının modeli güncel protokollerle değerlendirmesini, çekişmeli testleri (adversarial testing) yapıp belgelemesini ister. Türkiye'de kurulu bir şirket de ürününü Avrupa Birliği pazarına sunuyorsa bu kurallarla karşılaşabilir.

Yayın kapısı ve kısıtlı açılış

Yayın kapısı (release gate), listeyi ve koşu sonucunu karara bağlayan noktadır. Kapının üç çıktısı olur: aç, kısıtlı aç, kapat. Kısıtlı açmak çoğu zaman en doğru seçimdir.

Özelliği önce iç kullanıcıya, sonra küçük bir müşteri yüzdesine verirsin: yüzde bir, yüzde beş, yüzde yirmi beş. Her basamakta ne ölçeceğini önceden seç.

Kaç istek geldi, kaç tanesi filtreye takıldı, kaç şikâyet geldi, kaç araç çağrısı reddedildi? Yüzdeyi büyütme kararını da yazılı bir eşiğe bağla. Eşik olmadan karar veren kişi baskı altında iyimser tahmin yapar. Kâğıda yazılmayan eşik, hafızada büyür ve küçülür.

$ python kapi.py --ozellik iade-asistani --kosu kirmizi_takim_0930.json
[1] kapsam yazili ve onayli ............. evet
[2] tehdit modeli cikarildi ............. evet
[3] arac yetkileri en az ayricalikla .... evet
[4] kalici arac insan onayina bagli ..... evet
[5] kayitlar maskeli tutuluyor .......... hayir  istisna IST-014 (bitis 2026-10-15)
[6] kirmizi takim esigi ................. evet   kritik ASR %3,1 <= %5
[7] geri alma bayragi ................... evet   iade_asistani_acik
[8] hukuk incelemesi .................... evet
karar: KISITLI AC
asama: ic kullanici -> %1 -> %5 -> %25
buyutme kosulu: ret orani < %2 ve sikayet = 0, her asamada 48 saat
Kapı betiğinin çıktısı. Karar, sekiz maddenin ve açık istisnaların toplamıdır.

Çıktıyı satır satır oku. İlk dört madde evet döndü ve kanıtları ekte duruyor.

Beşinci madde hayır, ama yanında geçerli bir istisna var: kayıt numarası ve bitiş tarihi görünüyor. Kapı bu yüzden durmadı. Altıncı satır kırmızı takım sonucunu eşikle yan yana yazar. Kritik kategoride oran yüzde 3,1, eşik yüzde 5.

Yedinci satır geri alma bayrağının adını verir, böylece nöbetçi neyi çevireceğini arayarak vakit kaybetmez. Karar satırı KISITLI AC der, çünkü istisnalı bir madde varken tam açılış savunulamaz. Son iki satır basamakları ve büyütme koşulunu sabitler. İstisnanın tarihi geçerse betik aynı girdilerle KAPALI döner.

Etkinlik 5 / 6

Yayın öncesi adımları sıraya koy.

Sürükleyip doğru sıraya koy.

Bir öğeye odaklan, yukarı ve aşağı ok tuşlarıyla taşı. Home tuşu en üste, End tuşu en alta alır.

  • 1Kapıyı çalıştır ve kısıtlı yayına çık
  • 2Kırmızı takım koşusunu al ve eşikle karşılaştır
  • 3Yetkileri daralt ve kontrolleri uygula
  • 4Kapsamı ve sınırları yaz
  • 5Tehdit modelini ve etki sınıfını çıkar

Aynı mantık tek bir araç eklerken de geçerlidir. Ajana yeni bir yetki tanımlarken kapsam belgesini baştan yazmana gerek yok. Ama aynı soruları küçük ölçekte sorarsın: bu araç neyi kalıcı değiştirir, kim onaylar, hata olursa nasıl geri alınır? Cevap net değilse araç henüz canlıya hazır değildir.

Kalıcı değişiklik yapan bir araçta en güçlü kontrol insan onayıdır. Enjeksiyon tutsa bile onay adımı zincirin son halkasını keser, çünkü model eylemi yalnız önerir. Onay ekranı da eylemin tam parametrelerini göstermeli. Tutarı ve hedef hesabı görmeyen bir onay göstermelik kalır.

Etkinlik 6 / 6

Kalıcı değişiklik yapan bir aracı ajana bağlarken ilk kontrol hangisidir?

Bu derste bir hata mı gördün? Bildir