Örnek çıktı

Bir derin tarama raporu neye benziyor?

Aşağıdaki rapor gerçek bir derin taramadan alınmış, anonimleştirilmiş bir örnektir: 7.700 satırlık bir web uygulaması, 44 tespit sınıfı, 19 dakika, 18 bulgu. Bulguların yapısı ve derinliği birebir gerçek çıktıdır; uygulama adı, rotalar ve ayrıntılar kurgusallaştırılmıştır — müşterilerimizin düzeltilmemiş gerçek açıklarını asla yayınlamayız.

Özet

acme-blog · 7.720 satır · derin (llm) · 19 dk
0
Kritik
4
Yüksek
6
Orta
3
Düşük
5
Bilgi

Toplam 18 bulgu · her biri dosya:satır kanıtı ve düzeltme önerisiyle · çıktı: yapay zekâ ajanlarının okuyabileceği Markdown + insan için PDF.

Dikkat edilecek nokta: aşağıdaki en ciddi bulguların hiçbiri “bilinen zafiyetli kütüphane” ya da desen eşleşmesi değil. Kod sözdizimsel olarak temiz; açık güven kararında. Bunları görmek için kodu bir denetçinin okuduğu gibi okumak gerekir — ücretsiz taramanın (açık kaynak tarayıcılar) yakalayamadığı sınıf tam olarak budur.

Bulgular (9 / 18 gösteriliyor)

YÜKSEKmissingauth

Tüm /admin/* uçlarında kimlik doğrulama kırık — taklit edilebilir header kontrolü

src/middleware.ts:8

Sorun:
Middleware, yönetim uçlarına erişimi yalnızca bir kimlik header'ının VAR OLMASINA bakarak veriyor. Header'ın içeriği doğrulanmıyor; imza kontrolü yok. İstemci bu header'ı kendisi gönderebilir.
Düzeltme:
Header'ı güvenilir kabul etme: JWT'yi kimlik sağlayıcının açık anahtarıyla doğrula (imza + issuer + audience + exp) ve doğrulanan kimliği yetkilendirmede kullan.

Desen tarayıcıları burada 'bilinen zafiyetli fonksiyon' göremez — kod sözdizimsel olarak temiz. Açık, GÜVEN KARARINDA; bunu görmek için akışı anlamak gerekir.

YÜKSEKjwt

Kenar (edge) JWT'si yalnızca varlığıyla güveniliyor, imza/claim doğrulaması yok

src/middleware.ts:8

Sorun:
Uygulama, önündeki erişim katmanının token'ı doğruladığını varsayıyor. Ancak uygulama uçlarına doğrudan (kenar katmanını atlayarak) erişilebiliyorsa, doğrulanmamış token kabul edilir.
Düzeltme:
Token'ı uygulama tarafında da doğrula (JWKS ile imza + claim'ler). Kenar katmanını tek savunma hattı olarak kullanma.
YÜKSEKcsrf

Yazı oluştur/güncelle ve sil uçlarında CSRF savunması yok

src/pages/admin/save.ts:1

Sorun:
Durum değiştiren POST uçları anti-CSRF token'ı ya da SameSite tabanlı bir koruma taşımıyor. Oturumu açık bir yönetici, saldırganın hazırladığı sayfayı ziyaret ederse içerik silinebilir/değiştirilebilir.
Düzeltme:
Origin/Referer doğrulaması + tek kullanımlık CSRF token'ı ekle; oturum çerezini `SameSite=Lax/Strict` yap.
ORTAxss

Yazı gövdesindeki markdown ham HTML olarak basılıyor — kalıcı (stored) XSS

src/pages/writing/[slug].astro:9

Sorun:
İçerik, sanitizasyondan geçmeden `set:html` ile DOM'a yazılıyor. Yönetim paneline erişebilen (bkz. yukarıdaki kırık auth) biri kalıcı script enjekte edebilir.
Düzeltme:
Render öncesi bir HTML sanitizer'dan geçir (izin listesi tabanlı) ve CSP ile derinlemesine savunma ekle.
ORTAxss

JSON-LD içinde escape edilmemiş JSON.stringify ile script kırılması

src/layouts/Base.astro:49

Sorun:
Yapısal veri bloğuna gömülen değer `</script>` dizisini kaçırmıyor; içerik kontrol edilebiliyorsa script bağlamından çıkılabilir.
Düzeltme:
`<`, `>` ve `&` karakterlerini unicode kaçışlarına çevirerek göm ya da JSON'u ayrı bir uçtan sun.
ORTAsecurityheaders

Hiçbir rotada Content-Security-Policy yok — üstelik sanitize edilmeyen HTML sink'leri varken

src/layouts/Base.astro:126

Sorun:
CSP yokluğu, yukarıdaki XSS bulgularının etkisini doğrudan büyütüyor: enjekte edilen script kısıtsız çalışır.
Düzeltme:
En az `script-src 'self'` ile başlayan bir CSP uygula; inline script'ler için nonce kullan.
ORTAratelimit

Yönetim yazma uçları hız sınırlaması olmadan erişilebiliyor

src/pages/admin/save.ts:1

Sorun:
Kimlik doğrulaması kırık olduğu için bu uçlar pratikte kimliksiz erişilebilir ve hiçbir hız sınırı yok — otomatik kötüye kullanım mümkün.
Düzeltme:
Kimlik doğrulamayı düzelttikten sonra yazma uçlarına IP + hesap bazlı sıkı hız sınırı ekle.
DÜŞÜKlogging

Ham veritabanı sürücü hatası yönetim ekranına yansıtılıyor

src/pages/admin/save.ts:35

Sorun:
İstisna mesajı olduğu gibi arayüze basılıyor; şema/altyapı ayrıntıları sızabilir.
Düzeltme:
Kullanıcıya jenerik mesaj göster, ayrıntıyı sunucu tarafında logla.
BİLGİbusinesslogic

Eşzamanlı içerik oluşturma UNIQUE kısıtıyla yarışıyor

src/pages/admin/save.ts:33

Sorun:
İki eşzamanlı istek aynı slug'ı üretmeye çalışırsa kısıt ihlali kullanıcıya hata olarak düşer.
Düzeltme:
Çakışmayı `ON CONFLICT` ile ele al ya da slug'ı sunucu tarafında benzersizleştir.

Dürüst kapsam

Bu bir statik kod + yapılandırma denetimidir; canlı sistem testi (pentest) değildir. Kodda görünmeyen altyapı ayarları kapsam dışıdır — raporda bunlar “kapsam dışı” olarak işaretlenir. Kaynak kodunuz saklanmaz; yalnızca bulgular tutulur. Ayrıntılar