Güvenlik

Güvenlik modelimiz tek cümlede: saldırılacak bir sunucuda hiçbir şey yok. Aşağıdakilerin tamamı DevTools'unuzdan doğrulanabilir.

Mimari

Abundera QR, Cloudflare Pages üzerinden sunulan statik tek sayfalı bir uygulamadır. Hiçbir uygulama sunucusu, veritabanı, kullanıcı hesabı, kimlik doğrulama, API uç noktası ve kullanıcı verilerini işleyen arka uç kod yolu yoktur. Her QR oluşturma, kodlama, tarama ve işleme işlemi tamamen tarayıcınızda çalışır.

Tehdit modeli

Herhangi bir kullanıcı verisi toplamadığımız, saklamadığımız veya iletmediğimiz için en yaygın web uygulaması tehditleri, kimlik bilgisi hırsızlığı, veritabanı ihlali, oturum ele geçirme, sunucu taraflı enjeksiyon, geçerli değildir. Kalan saldırı yüzeyi, kaynağımızdan sunulan statik varlık paketidir (HTML, CSS, JavaScript). Şu varsayımlarla tasarım yapıyoruz:

İçerik Güvenlik Politikası, direktife göre

Mevcut politika (herhangi bir istek için Yanıt başlıklarında doğrulayın):

Content-Security-Policy:
  default-src 'self';
  script-src 'self' 'wasm-unsafe-eval';
  worker-src 'self' blob:;
  style-src 'self' 'unsafe-inline';
  font-src 'self';
  img-src 'self' data: blob: https:;
  connect-src 'self' https:;
  frame-ancestors 'none';
  base-uri 'self';
  form-action 'self'

Her direktifin ne yapmasına izin verdiği ve nerede taviz verdiği:

/bio/* (kullanıcı tarafından sağlanan avatarlar için gevşetilmiş img-src) ve /embed/* (kasıtlı yerleştirme için gevşetilmiş frame-ancestors) için farklı CSP politikaları geçerlidir. Her ikisi de site/_headers içinde belgelenmiştir.

Taşıma ve çerçeveleme başlıkları

Service worker

Service worker'ımız (site/sw.js) yalnızca aynı kaynaklı varlıkları önbelleğe alır. Fetch işleyicisi, kaynaklar arası istekleri ve GET dışı yöntemleri açıkça reddeder, mantığı GitHub'da okuyabilirsiniz. Önbellek yazmaları event.waitUntil() içine sarılır, böylece navigasyon ortasında bırakılamazlar.

Girdi sanitizasyonu

Kullanıcı girdisini kabul eden her işleme yolu, bunu güvenilmez metin olarak ele alır:

Kaynaklar arası görüntü getirme

Bir kullanıcı vCard fotoğrafı veya logo olarak bir https: URL'si yapıştırdığında, tarayıcı bunu CORS ve CSP'mizin img-src izin listesine tabi olarak getirir. Görüntü bir canvas'a işlenir. Asla canlı DOM olmaz, asla kod olarak çalışmaz ve asla kaynağımıza ulaşmaz, getirme işlemi tarayıcı → uzak görüntü şeklindedir ve sonuç istemci tarafında çizilir. Uzak bir görüntü URL'sini kontrol eden bir saldırgan, URL'nin yüklendiğini izleyebilir (kendi sunucusundaki bir log satırı) ancak sayfamızdan hiçbir şeyi sızdıramaz.

Alt Kaynak Bütünlüğü (SRI)

Gönderdiğimiz tüm JavaScript ve CSS aynı kaynaktandır. Üçüncü taraf komut dosyaları veya stil sayfaları yüklemiyoruz, bu nedenle SRI hash'leri geçerli değildir. Üçüncü taraf bir varlık yükleyecek olursak, üzerine bir SRI integrity özelliği ekleyeceğiz ve hash güncelleme sürecini bu sayfada belgeleyeceğiz.

Güvenlik açığı bildirme

Abundera QR'ı etkileyen bir güvenlik sorunu keşfederseniz, kodumuzdaki, dağıtımımızdaki veya gönderdiğimiz bir bağımlılıktaki, lütfen bunu özel olarak security@abundera.ai adresine bildirin. 72 saat içinde önceliklendirmeyi hedefliyoruz. /.well-known/security.txt dosyamızdaki iletişim bilgileri aracılığıyla da bize ulaşabilirsiniz.

Henüz ödüllü hata programı yok

Şu an için ücretli ödüller sunmuyoruz, ancak onaylanan her geçerli rapor, değişiklik günlüğünde kredi ve kamuya açık teşekkürümüzü alır.

Yukarıdakileri doğrulayın

Bu sayfadaki her iddia, bize güvenmek zorunda kalmadan tarayıcınızın DevTools'undan doğrulanabilir:

İletişim

Güvenlik açıklamaları: security@abundera.ai

Son güncelleme: 2026-04-19. Sonraki inceleme: 2026-07-19.