ShareMyPage JavaScript'i Nasıl Zararsız Hale Getiriyor?
ShareMyPage, yüklenen HTML ve JavaScript'i temizlemek yerine izole sandbox ve çerezsiz ayrı origin ile çalıştırarak XSS ve oturum çalma risklerini ortadan kaldırıyor.
ShareMyPage, kullanıcıların yüklediği HTML dosyalarını -genellikle yapay zeka tarafından üretilmiş ve satır satır incelenmemiş kodları- olduğu gibi çalıştırıyor. Şirket, zararlı kodu ayıklamaya çalışmak yerine (ki bu sürekli kaybedilen bir yarış olur) her sayfanın kötü niyetli olabileceğini varsayıp bu varsayımı önemsiz kılacak bir mimari kuruyor.
Bunun temeli, her paylaşılan sayfanın allow-same-origin izni olmadan sandbox'lı bir iframe içinde çalıştırılması. Bu tek eksiklik, çerçevelenen dokümana boş (null) bir origin veriyor: scriptler çalışmaya devam ediyor ama document.cookie boş dönüyor, localStorage erişilemez oluyor ve sayfa kendisini çerçeveleyen ana siteye erişemiyor. allow-scripts ve allow-same-origin'in asla birlikte kullanılmaması, tüm korumanın dayandığı tek kural.
İkinci katman, içeriğin oturum açtığınız uygulamadan tamamen ayrı, çerezsiz bir origin'den kısa ömürlü imzalı URL'lerle sunulması. Yani sandbox'tan bir kaçış olsa bile, çalınacak oturum çerezi ya da token zaten yok. Bu iki bağımsız katman -null origin sandbox ve çerezsiz ayrı origin- XSS enjeksiyonunu ve JavaScript ile oturum çalmayı temelden imkansız kılıyor; buna ek olarak imzalı URL'ler, sıkı içerik güvenlik politikası, sunucu tarafı yetkilendirme ve şifreli özel depolama gibi ek katmanlar da var.
Şirket, bu izolasyonun sayfanın yazarını güvenilir kılmadığını da açıkça belirtiyor: herkese açık bir bağlantı yine de yanıltıcı içerik barındırabilir, bu bir moderasyon meselesi ve kullanıcılar kimlerin sayfayı görebileceğini kontrol edebiliyor.