Repository navigation
4.2.13 — Güvenlik incelemesinin ardından
Türkçe
Güvenlik incelemesinin ardından. Depo dışarıdan bir güvenlik incelemesinden geçti: iki orta seviye bulgu ve üç sağlamlaştırma önerisi. Bulgulardan biri doğru çıktı, diğeri tekrarlanamadı; üç öneri de uygulandı.
- Worker'ın
Originkontrolü olduğundan fazlası gibi anlatılıyordu.Origin: https://iacbi.github.iobaşlığını herhangi bir istemci gönderebilir; yani bu kontrolcurl'ün/v1/feed'i genel amaçlı bir indirici gibi kullanmasını hiç engellemiyordu. Kontrol tarayıcı CORS kuralı olarak yerinde duruyor, ama artık bir sınır sayılmıyor. Asıl daraltma gövdenin kendisinde:/v1/feed, belgerss,feedya dardf:RDFköküyle başlamıyorsa415döner ve reddedilen yanıt önbelleğe hiç yazılmaz. Canlı Worker'da doğrulandı: düz metin bir dosya415, gerçek bir RSS feed'i200. - Bölüm notları içlerindeki bağlantıları indirmiyor; artık bir smoke testi de bunu kanıtlıyor. İnceleme,
DOMParser'ın bölüm açıklamasındaki görsel ve çerçeveleri filtrelenmeden önce yükleyeceğini öngörüyordu. Chromium'da ölçüldü: hiçbirini yüklemiyor. Yenismoke:shownotes, yük taşıyan öğelerle dolu bir açıklamayı bir test sunucusuna yöneltiyor ve oraya tek bir istek giderse başarısız oluyor. - Pages derlemesi artık yazma yetkisi taşımıyor.
npm cive derleme salt okunur bir işte çalışıyor;pages: writeveid-token: writeyalnızca yayımlama adımında. - Bağımlılık denetimi artık engelliyor. Çalışma zamanındaki yüksek ve kritik açıklar CI'ı durduruyor.
- Vite, Hono ve geliştirme araçları bilinen açıkların ötesine güncellendi.
Uygulamanın kendisi değişmedi; kurulum hâlâ imzasız.
English
Security review follow-ups. The repository went through an outside security review: two medium findings and three hardening items. One finding held, one did not reproduce, and all three hardening items are done.
- The Worker's
Origincheck was described as more than it is. Any client can sendOrigin: https://iacbi.github.io, so the check never stoppedcurlfrom using/v1/feedas a general fetcher. It stays as browser CORS policy and is no longer counted as a limit. What narrows the endpoint now is the body itself:/v1/feedanswers415unless the document begins with anrss,feedorrdf:RDFroot, and a refused body is never cached. Checked on the live Worker: a plain-text file gets415, a real RSS feed200. - Show notes do not fetch what they point at, and a smoke now proves it. The review expected
DOMParserto load the images and frames in an episode description before they are filtered out. Measured in Chromium, it loads none. The newsmoke:shownotesaims a description full of load-bearing elements at a probe host and fails on a single request to it. - The Pages build no longer holds write tokens.
npm ciand the build run in a read-only job; only the deploy step getspages: writeandid-token: write. - The dependency audit blocks. High and critical runtime advisories now fail CI.
- Vite, Hono and the development tooling are past their known advisories.
The app itself is unchanged; the installer is still unsigned.