Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Serileştirme ve yükleme riski
Serileştirme, bellekteki nesneyi diske yazılabilir bir diziye çevirmektir. Ters işlem nesneyi geri kurar. Sorun burada başlar: bazı biçimler nesneyi kurarken keyfi kurucu çağırma hakkı ister. Bu davranış modele özgü değildir; herhangi bir serileştirilmiş nesne için geçerlidir.
Python'un pickle biçimi bunun klasik örneğidir. Dosya yalnız veri değil, veriyi kurma talimatı da taşır. Yükleyici o talimatı okur ve uygular. Talimatın ne yaptığını önceden bilmezsin, çünkü kararı dosya verir. Saldırgan bu yolu bilir ve talimatı normal görünen bir model dosyasının içine saklar.
Bu yüzden kural nettir: güvenmediğin bir pickle dosyasını açmak, güvenmediğin bir betiği çalıştırmakla aynı ağırlıktadır. Model ağırlığı gibi görünmesi bir şey değiştirmez. Dosyayı kim ürettiyse, yükleme anında senin sürecinde söz sahibi olur. Bu risk çalışma zamanında ortaya çıkar, kod incelemesinde değil; bu yüzden statik okuma tek başına yeterli güvence sağlamaz.
Şemadaki adım sırası önemli. Dosya diskten belleğe taşınırken yükleyici önce onu yorumlar, sonra model olarak kullanır. Kod çalıştırma riski tam bu yorumlama anında oluşur, kullanıcı henüz tek bir istek göndermeden. Bu yüzden yükleme adımını atlayıp doğrudan çıkarıma geçemezsin; dosyanın türünü açmadan önce mutlaka kontrol etmen gerekir.