2 puan yazan GN⁺ 2025-05-20 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Uzun süredir hazırlanan HIBP yeniden markalaşması gerçek servise aktarılırken, web sitesinin baştan sona yeniden inşası ve neredeyse tüm sayfalarda işlevsel yenilemeler birlikte yayımlandı
  • Ana arama, sonuç deneyimini iyileştirdi ancak web sitesinden username ve phone number aramasını kaldırdı; mevcut API uyumluluğu ise korunuyor
  • Yeni ihlal bazlı sayfalar, arama sonuçlarını daha az karmaşık hale getiriyor ve bir olaydan sonra kullanıcıların atabileceği somut adımlara dair yönlendirmeleri ayrı bir ekrana ayırıyor
  • E-posta erişim doğrulaması gerektiren özellikler Sign In tabanlı bir dashboard altında toplandı; domain search ise JSON API ve istemci tarafı filtreleme ile daha hızlı çalışıyor
  • Teknik yığın Azure, Cloudflare, .NET 9.0, Bootstrap ve TypeScript odağında sadeleştirildi; Google reCAPTCHA kaldırıldı ve yalnızca Cloudflare Turnstile kullanılıyor

Yeni web sitesi ve arama deneyimi

  • Yeni Have I Been Pwned web sitesi yayımlandı
    • Açık depodaki yeniden markalaşma çalışmasının ilk commit’i Şubat 2024’te yapıldı
    • Yeni marka Mart 2025’te soft launch edildi
    • Bu sürüm; web sitesinin baştan sona yeniden inşasını, neredeyse tüm sayfalarda işlev değişikliklerini, yeni özellikleri ve merch mağazasının açılışını içeriyor
  • Ana arama kutusu, HIBP’nin temsilî özelliğini korurken sonuçların gösterim biçimini değiştiriyor
    • Bazı kullanıcılar tebrik tepkisi ve confetti animasyonu görecek
    • İhlal doğrulandığında ise daha sakin, kırmızı bir yanıt gösteriliyor
    • Sonuçlar ters kronolojik sırada kaydırılabilir bir timeline biçiminde ve her ihlalin özetiyle birlikte sunuluyor
  • Web sitesi aramasında username ve phone number desteği kaldırıldı
    • username araması, 2014’teki Snapchat incident için eklenmişti
    • phone number araması, 2021’deki Facebook incident için eklenmişti
    • Bu iki veri türü, söz konusu iki örnek dışında hiç yüklenmedi
    • username ile sahibini kesin olarak belirlemek zor; phone number ise uluslararası formatlar ve yazım farklılıkları nedeniyle ayrıştırması zahmetli
    • SMS bildirimleri e-postaya göre çok daha maliyetli
    • Eski sitede bu girdilere izin verilmesi, “numaram neden belirli bir ihlalde yok?” gibi kafa karışıklıklarına ve destek yüküne yol açtı
    • API’de uyumluluğu korumak için destek devam ediyor, ancak ek veri gelmesinin beklenmemesi gerektiği belirtiliyor

İhlal bazlı özel sayfalar

  • Yeni breach page, ana arama sonuçlarının fazla karmaşık hale gelmesi sorununu azaltmak için ihlal bazlı ayrıntılı bilgileri ayrı bir ekrana ayırıyor
  • Sayfadaki temel değişiklik, ihlalden sonra kullanıcının atabileceği adımları daha somut biçimde yönlendirmesinde
    • İhlale uğrayan kullanıcının ne yapması gerektiğine odaklanıyor
    • identity protection provider gibi iş ortağı servislerle bağlantı kurma yönü de buna dahil
  • Gelecekte ihlal ve kullanıcı bazlı verileri daha da zenginleştirme planı var
    • İlgili servis 2FA destekliyorsa genel yönlendirme yerine bu özellikle gösterilecek
    • passkey de ayrı bir bölüm olarak eklenecek
    • Birleşik Krallık NCSC ile yapılan görüşmelerde, Birleşik Krallık kullanıcılarına NCSC logosu ve ilgili yönlendirme kaynaklarını gösteren yerelleştirilmiş veri ihlali rehberi ele alındı

Birleşik dashboard ve domain search

  • E-posta adresi erişim doğrulaması gerektiren özellikler yıllar içinde arttıkça bunlar tek bir central dashboard altında birleştirildi
    • 2015’teki Ashley Madison olayı sırasında sensitive breach kavramı eklenmiş ve e-posta alma yoluyla doğrulama gerekmişti
    • 2019’da API kötüye kullanımını azaltmak için API’ye bir kimlik doğrulama katmanı eklendi ve API key satın almadan önce e-posta doğrulaması istendi
    • Sonrasında domain search dashboard, ücretli abonelik yönetimi ve stealer logs sorgulama eklendi
  • Yeni dashboard, tek bir Sign In arkasında e-posta adresine erişimi doğruladıktan sonra ilgili özellikleri gösteriyor
    • Halka açık özellikler ile iş odaklı özellikler birlikte yer alıyor
    • Gelecekte e-posta göndermeden giriş yapılabilmesi için passkey desteği ekleme planı var
    • Aile üyelerinin e-posta adreslerini bildirim aboneliğine kaydedip bildirimleri başka bir adresten alma özelliği de dashboard’a uygun bir örnek olarak ele alınıyor
  • domain search tarafında ekran düzenleme ve filtreleme iyileştirmeleri yoğun biçimde yapıldı
    • Doğrulanmış domain listesi daha temiz hale geldi
    • Arama sonuçları daha net bir özet sunuyor
    • E-posta adresine göre filtreleme ve “yalnızca latest breach’i göster” filtresi eklendi
  • Domain search dashboard, API’den JSON alıyor ve tüm dashboard tek sayfa uygulama gibi çalışıyor
    • Filtreleme, tüm domain search JSON’u üzerinde istemci tarafında yapılıyor
    • 250 binden fazla ihlal edilmiş e-posta adresi bulunan domainlerde de çalışabildiği test edildi
    • Ancak bu ölçekteki veriler için tarayıcıda kaydırmak yerine API üzerinden almak daha uygun
  • Domain sahipliği doğrulaması da tamamen yeniden yazıldı
    • Daha temiz ve basit bir arayüze dönüştü
    • E-posta dışındaki doğrulama yöntemlerini daha akıcı hale getirmek için hâlâ yapılacak işler var

API dokümantasyonu ve merch mağazası

  • API’nin kendisinde değişiklik yok
    • Bu güncelleme uyumluluğu bozan değişiklikler getirmiyor
    • Mevcut API kullanıcıları için kırılan bir taraf yok
  • API dokümantasyonu yeni yaklaşıma geçirilemedi ve mevcut dokümantasyon korundu
    • UX rebuild GitHub repo’sunda API dokümantasyon yöntemi üzerine tartışmalar vardı ve genel mutabakat OpenAPI yönündeydi
    • Scalar ile çalışma yürütüldü ve haveibeenpwned.com/scalar adresinde görülebiliyor
    • Scalar, çeşitli dillerde örnekler ve tarayıcı içinde test runner sunuyor
    • Büyük lansman takvimi içinde tamamlanamadığı için mevcut API dokümantasyonu yeni site stiline uyarlanarak korundu
    • İleride zaman olduğunda Scalar uygulamasına geçme planı var
  • HIBP merch mağazası merch.haveibeenpwned.com adresinde açıldı
    • Teespring üzerinden işletiliyor
    • Tüm ürünler maliyetine satılıyor ve kâr edilmiyor
    • Topluluk için eğlenceli bir deneme olarak hazırlandı
  • Sticker’larda Teespring seçenekleri mevcut Sticker Mule kalitesine ulaşmadığı için mevcut Sticker Mule store kullanılmaya devam ediyor

Teknik yığın ve performans

  • Asıl servis hâlâ Microsoft Azure üzerinde çalışıyor
    • Web sitesi App Service kullanıyor
    • API’lerin çoğu serverless Functions kullanıyor
    • SQL Azure Hyperscale, queues, blobs, tables gibi storage account özellikleri kullanılıyor
    • Kodun büyük kısmı C#; .NET 9.0 ve ASP.NET MVC on .NET Core kullanılıyor
  • Cloudflare da önemli rol oynamaya devam ediyor
    • Workers üzerinde çok sayıda kod var
    • R2 storage’da veri bulunuyor
    • WAF ve caching özellikleri kullanılıyor
    • anti-automation için yalnızca Cloudflare Turnstile kullanılıyor ve Google reCAPTCHA tamamen kaldırıldı
  • Frontend, güncel Bootstrap nesli, SASS ve TypeScript kullanıyor
    • CSS, SASS ile yazılıyor
    • JavaScript, TypeScript ile yazılıyor
  • Web sitesi performansında da ölçülebilir iyileşmeler var
    • Pingdom testlerine göre sayfa boyutu %28 azaltıldı
    • İstek sayısı %31 azaltıldı
    • Yükleme süresi çok değişken olduğu için büyük bir fark olduğu kesin söylenmiyor
    • 11 yıl sonra bile web sayfası boyutunda ve istek sayısında çift haneli oranlarda azalma sağlandığı vurgulanıyor
  • İzleme veya reklam yükü olarak görülebilecek unsurlar eklenmedi
    • Gerçek trafik istatistikleri, Cloudflare edge node’larından geçen trafiğe dayanıyor
    • 1Password product placement yalnızca metin ve görselden ibaret
    • outbound click de izlenmiyor
    • Müdahaleci takip metrikleri bekleyen identity theft şirketleriyle product placement görüşmeleri daha zor hale geliyor

Geliştirme sürecinde yapay zeka kullanımı

  • ChatGPT, yeniden inşa sürecinde, özellikle son birkaç günde yoğun biçimde kullanıldı
    • Bootstrap icons içinde “Index” heading’ine uygun bir ikon bulmak için kullanıldı
    • 2.000’den fazla ikon arasından uygun olanı yaklaşık 30 saniyede bulmak gibi işlerde kullanıldı
  • Site geçişini doğrulamak için de yapay zeka kullanıldı
    • haveibeenpwned.com sitesini tarayıp benzersiz URL’leri çıktılayan bir PowerShell script’i yazdırıldı
    • Bulunan path’lerin stage.haveibeenpwned.com üzerinde var olup olmadığını kontrol eden script de yazdırıldı
    • Eksik security.txt dosyasını bulmaya yardımcı oldu
    • Hiç var olmamış öğeleri de bulduğu için “güven, ama doğrula” yaklaşımı gerekti
  • CSS tavsiyeleri, Cloudflare rule ayarları, .NET Core web uygulaması özel durumları gibi küçük işlerde de kullanıldı
    • Yanıtların doğru olma oranı yaklaşık %90 olarak değerlendirildi
    • Yazılım geliştirmede yapay zekayı aktif kullanmıyorsanız yanlış yapıyorsunuz denecek kadar güçlü bir olumlu görüş belirtildi

Lansman ve Turnstile sorunları

  • Yeni site, yazarın zamanına göre pazar sabahı erken saatlerde dağıtıma alındı
    • Neredeyse her şey iyi ilerledi; bir iki küçük glitch hızla düzeltilip yayımlandı
    • Yazı, sorunları önce mümkün olduğunca toparlamak için canlıya çıkıştan 2 gün sonra yayımlandı
    • Bu arada 12’den fazla yeni sürüm çıkarılarak hızlı iterasyon yapıldı
  • Kullanım şartları ve gizlilik politikası gibi küçük değişiklikler bile çok zaman aldı
    • Veri işleme yöntemindeki küçük güncellemeleri ve stealer logs gibi yeni servisleri yansıtmak gerekiyordu
    • Avukatlarla çalışmaya saatler ve binlerce dolar harcandı
  • Cloudflare Turnstile, Google reCAPTCHA gibi trafiği Google’a aktarmayan bir anti-automation yöntemi
    • Tamamen görünmez biçimde uygulanabiliyor
    • Tarayıcıda Cloudflare script’i challenge oluşturuyor, HTTP isteğiyle birlikte gönderiliyor ve sunucu tarafında doğrulanıyor
    • HIBP’de 2023’ten beri bir biçimde uygulanıyordu
  • E-posta gönderen formlar gibi bot engellemenin önemli olduğu yerlerde, Turnstile başarısız olursa kullanıcıya yeniden denemesi veya sayfayı yenilemesi gerektiği bildiriliyor
    • İkinci tıklama veya sayfa reload ile sıkça çözülen durumlar oldu
    • Çözülmezse kullanıcının etkileşime girmesini gerektiren daha görünür bir Turnstile widget uygulaması değerlendirilmeli
  • Ana arama sayfasında da Turnstile önemli biçimde kullanılıyor
    • API endpoint’ine asenkron istek yapılıyor ve challenge token birlikte gönderiliyor
    • Challenge başarısız olup HIBP endpoint’i HTTP 401 ve Invalid Turnstile token döndürdüğünde full page post’a fallback yapılması gerekiyordu
    • Yeni sitenin ilk lansmanında bu fallback çalışmıyordu, ancak sonrasında düzeltildi
    • full page post’ta Cloudflare managed challenge gösteriliyor; daha müdahaleci olsa da daha güvenilir
  • Cloudflare istatistiklerine göre verilen challenge’ların yaklaşık %82’si başarıyla çözüldü
    • Çözülemeyen %18’in önemli bir kısmı Turnstile’ın amaçlandığı gibi engellediği botlar olabilir
    • Gerçek insanların engellendiği istekler muhtemelen tek haneli oranlarda; bu oranı düşürmenin yolları izlenmeye devam edilmeli

Henüz yorum yok.

Henüz yorum yok.