Metlivi Blog

İzole yanıtları değil, eksiksiz arkadaş uygulaması yolculuklarını test edin

Kullanışlı bir arkadaş uygulaması güvenlik testi, birkaç gösterişli yanıt toplamak yerine kullanıcı yolculuklarının tamamını takip etmelidir. İlk oturumu, geçmişi olan geri dönen bir hesabı, dil ve girdi değişikliklerini, paylaşılan cihaz sınırlarını, kesintiye uğrayan bağlantıları, engelleme ve bildirmeyi, satın alma işlemlerini, dışa aktarma ve silmeyi ve bir güncelleme sonrasındaki davranışları kapsayın. Her yolculuk için belirtilmiş bir beklenen sınır ve bir kurtarma kontrolü gerekir. NIST'in ARIA programı model testini, red teaming (kırmızı takım) çalışmalarını ve saha testlerini birbirinden ayırır; bu da model yanıtının ürünün yalnızca bir katmanı olduğunu hatırlatan yararlı bir noktadır. Nötr kurgusal materyaller, test hesapları ve sıradan kontroller kullanın. Başka bir kişinin bilgilerini eklemeyin veya kasıtlı olarak tehlikeli çıktılar aramayın. Ne olduğunu, nelerin belirsiz kaldığını ve kullanıcının durumu kurtarıp kurtaramadığını kaydedin.

27 Ağustos 20269 dk okuma süresiEv, güvenlik, evcil hayvanlar ve sürdürülebilir yaşamYazan: Metlivi Editorial Team
Bölüm 1

Yedi alanlı bir senaryo kartı kullanın

Her çalıştırmadan önce bağlamı, hesap durumunu, girdi varyasyonunu, beklenen sınırı, gözlemlenebilir sonucu, kurtarma yolunu ve saklanan kanıtı yazın. Bağlam; cihazı, uygulama sürümünü, yerel ayarı, ağı ve ücretli abonelik katmanını belirtir. Hesap durumu yeni, geri dönen, kısıtlanmış, oturumu kapatılmış veya silinmesi beklenen kullanıcıları ayırt eder. Girdi varyasyonu; altta yatan görevi değiştirmeden uzunluğu, üslubu, yazımı, dili ve modaliteyi değiştirir. Beklenen sınır, ürünün iyi davranacağına dair belirsiz bir temenniyi değil, ne yapması gerektiğini tanımlar. Gözlemlenebilir sonuç arayüz mesajlarını, veri görünürlüğünü, araç eylemlerini ve durum değişikliklerini kaydeder. Kurtarma; geri alma, yeniden deneme, engelleme, bildirme, iptal etme, oturumu kapatma veya desteğin çalışıp çalışmadığını sorgular. Kanıtlar gizli bilgileri ve üçüncü taraf içeriklerini içermemelidir. Bu kartı bir sürümden sonra tekrarlamak, anekdot niteliğindeki bir geçti veya kaldı sonucu yerine karşılaştırılabilir bir kayıt oluşturur.

Bölüm 2

Kimlik, bellek ve cihaz geçişlerini kapsayın

Kayıt olma, kurtarma, oturum listeleri, oturumu kapatma ve ikinci bir cihazda geri dönme adımlarıyla başlayın. Ardından yeni bir oturum, eski bir hesap ve geçmişi silinmiş bir hesap için hangi konuşma veya tercih geçmişinin göründüğünü inceleyin. Paylaşılan bir cihazda bildirim önizlemelerini, son uygulamalar görünümlerini, otomatik doldurmayı, indirilen medyayı ve oturumu kapatmanın yerel erişimi kaldırıp kaldırmadığını test edin. Görüntüleme dilini ve girdi dilini ayrı ayrı değiştirin; çevrilmiş bir arayüz, kontrollerin ve oluşturulan yanıtların aynı sınırları takip ettiğini kanıtlamaz. Bir oturumu uçak modu, arka plana alma, uygulamayı yeniden başlatma veya belirteç (token) süresinin dolmasıyla kesin; ardından bir taslağın, yüklemenin, satın almanın veya silme talebinin yinelenip yinelenmediğini ya da belirsiz bırakılıp bırakılmadığını doğrulayın. Bu geçişler, kesintisiz tek bir konuşmanın gösteremeyeceği durum işleme hatalarını ortaya çıkarır.

Bölüm 3

Metin, ses, görseller, bağlantılar ve getirilen içerikleri deneyin

İzinler, depolama, dönüştürmeler ve hata mesajları farklılık gösterdiğinden, desteklenen her girdi yüzeyini bağımsız olarak test edin. Zararsız, kurgusal bir isteği kısa, uzun, yanlış yazılmış, alıntılanmış, varsayımsal ve karışık dilli formlarda kullanın. Ses için izin zamanlamasını, kayıt göstergelerini, transkript görünürlüğünü, silme işlemini ve tanıma başarısız olduğunda devreye giren yedek planı inceleyin. Görseller için nötr, kendi oluşturduğunuz bir resmi kullanın ve yüklemeyi, önizlemeyi, kaldırmayı, belirtilmişse meta veri işlemeyi ve işleme durduğunda ne olduğunu doğrulayın. Uygulama bağlantıları açıyor, dosyaları içe aktarıyor, web sayfalarını getiriyor veya araçları çağırıyorsa, kullanıcının isteğiyle çelişen güvenilmeyen ancak zararsız metinler ekleyin ve sistemin kullanıcı niyetini koruyup korumadığını kontrol edin. OWASP'ın LLM risk listesi burada yararlıdır çünkü komut istemi enjeksiyonu (prompt injection) ve bilgi ifşası yalnızca modelin ifadelerinde değil, uygulama sınırında da ortaya çıkar.

Bölüm 4

Etkileşim kontrollerini uçtan uca yolculuklar olarak test edin

İnsanların mesajlaşabildiği, takip edebildiği, yorum yapabildiği, hediye gönderebildiği veya alanlara katılabildiği yerlerde; keşif varsayılanlarını, kitle seçimini, sessize almayı, engellemeyi, bildirmeyi, kanıtların saklanmasını, itiraz bilgilerini ve her iki hesaptan görünen durumu test edin. Bir engelleme butonu, yalnızca tek bir ekranı değiştirip bildirim önizlemelerini, eski bağlantıları, grup görünürlüğünü veya başka bir etkileşim kanalını açık bıraktığında tam olarak test edilmiş sayılmaz. Açıkça etiketlenmiş iki test hesabı kullanın; hiçbir zaman durumdan habersiz bir kişiyi dahil etmeyin. Zararsız test içeriğiyle bir bildirim süreci yürütün ve operatör bir test rotası sağlamadığı sürece, gerçek bir inceleme kuyruğuna yük bindirecekse göndermeden önce durun. Arayüzün tam olarak ne vaat ettiğini ve yerel olarak nelerin doğrulanabileceğini kaydedin. Zamanlama ve inceleme sonuçları belirsiz kalabilir, bu nedenle çalışan bir gönderim kontrolünü doğrulanmış bir çözümden ayırt edin.

Bölüm 5

Para, çıkış ve güncelleme sonrası regresyonu dahil edin

Ücretsiz katmanı, deneme sınırını, yenileme bildirimini, satın alma kimlik doğrulamasını, başarısız ödemeyi, iptali, hak sahipliği süresinin dolmasını ve bir hesabı silmek ile mağaza faturalandırmasını sonlandırmak arasındaki farkı test edin. Mümkün olduğunda platformun güvenli test olanaklarını kullanın; aksi takdirde gereksiz satın alımlar yapmadan inceleyin. Ardından dışa aktarmayı, tekil içerik silmeyi, hesap silme talebini, belirtilmişse bekleme veya onay adımlarını ve silme işlemi beklenirken nelerin görünür kaldığını doğrulayın. Son olarak bir uygulama, model, politika, izin veya ödeme değişikliğinden sonra en yüksek riskli yolculukları tekrarlayın. Google'ın değerlendirme kılavuzu, genel kıyaslamalar her gerçek ürün kurulumunu temsil etmediğinden, uygulamaya özel veri kümeleri ve çeşitli girdiler önermektedir. Kısa ve öz bir regresyon seti (paylaşılan cihaz, kesintiye uğrayan yükleme, engellenen kullanıcı, iptal edilen abonelik ve silinen geçmiş) testlerin gözlemlenebilir kullanıcı sonuçlarına bağlı kalmasını sağlar.

Bölüm 6

Kapsamı kusursuz bir döküme göre değil, kurtarmaya göre değerlendirin

İkna edici bir yanıt; kaybolan bir silme talebini, beklenmeyen paylaşımı, belirsiz bir ücretlendirmeyi, takılan bir yüklemeyi veya geri alınamayan bir kontrolü telafi etmez. Senaryo kartlarını gözden geçirin ve onaylanan sınırları, koşullu sonuçları, çelişkileri ve bilinmeyenleri sayın. Hassas verileri, harici eylemleri, parayı veya geri alınamaz durumları birleştiren bilinmeyenlere öncelik verin. Başarısız bir test; tam başlangıç durumunu, en küçük yeniden oluşturma adımını, görünür sonucu, kurtarma girişimini ve sürümü içermelidir; "Yapay zeka başarısız oldu" gibi genel etiketler bir düzeltmeyi desteklemek için çok belirsizdir. Başarılı bir sonuç da kapsamını belirtmelidir. Pratik tamamlama kuralı, ideal yol bozulduğunda sıradan kullanıcıların durumu görebilmesi, ne olduğunu anlayabilmesi ve belgelenmiş bir sonraki adıma ulaşabilmesidir. Bunun dışındaki her şey açık bir test maddesi olarak kalır.

İlgili sorular

Sık sorulan sorular

Kaç adet test komutu (prompt) yeterlidir?

Evrensel bir sayı yoktur. Ürüne özel yolculukları, çeşitli girdileri, önemli sınırları ve kurtarma yollarını kapsayın, ardından gerçek değişikliklerden ve gözlemlenen arızalardan vakalar ekleyin.

Sıradan kullanıcılar jailbreak denemeli mi?

Hayır. Zararsız varyasyonları ve görünür kontrolleri kullanın. Uzmanlık gerektiren saldırgan testler (adversarial testing), net önlemlere sahip yetkili bir ortama aittir.

İyi bir model kıyaslaması (benchmark) uygulamanın güvenli olduğunu kanıtlar mı?

Hayır. Bir uygulama aynı zamanda hesapları, belleği, izinleri, araçları, sosyal özellikleri, ödemeleri, depolamayı ve kurtarma davranışını da içerir.

İlgili okumalar

Bu konuyu keşfetmeye devam et