Ana Sayfaya Dön
🛡️ Vibe-Coding Güvenlik Kontrolleri

Dava Edilmemek İçin 3 Kritik Güvenlik Prompt'u

Vibe-coding yaparak ürün geliştirmek harika ve çok hızlı. Ancak uygulamanızı gerçek kullanıcılara ve ödemelere açmadan önce AI modellerinin sıklıkla atladığı bu 3 açığı mutlaka denetleyin.

1
Aşağıdaki prompt'ları sırasıyla Claude, Cursor veya ChatGPT'ye yapıştırın.
2
Modelin kod tabanını baştan sona taramasına ve işaretlediği güvenlik açıklarını kapatmasına izin verin.
3
Üç denetim de tamamlandıktan sonra uygulamanızı güvenle yayına alabilirsiniz.
Hepsini Tek Seferde Al
3 prompt'u tek bir metin halinde kopyalayın
Prompt 01

Dosya Yükleme (File Upload) Güvenliği

Sahte dosya uzantılarını, sunucuyu kilitleyen devasa payload'ları ve sunucunun seve seve çalıştıracağı dizinlere düşen zararlı script'leri engeller.

Bu kod tabanındaki tüm dosya yükleme (upload) endpoint'lerini ve işleyicilerini incele. Her biri için şu kontrolleri yap ve eksikleri gider: 1. Dosya türünü sadece uzantıya (.png, .jpg vb.) veya Content-Type başlığına bakarak değil, gerçek dosya içeriğini ve magic byte'larını (file signature) okuyarak doğrula (ikisi de sahtelenebilir). 2. Katı bir maksimum dosya boyutu sınırı uygula ve limiti aşan istekleri dosya belleğe tamamen okunmadan önce akış sırasında (stream) anında reddet. 3. Yüklenen dosyaların asla webroot altında veya sunucunun doğrudan çalıştırabileceği bir dizinde saklanmadığını; kod yürütmeye kapalı bir Object Storage'da (S3/Cloudinary/R2 vb.) depolandığını doğrula. 4. Dosyaları kaydederken orijinal ada asla güvenme; UUID/rastgele hash ile yeniden adlandır ve Directory Traversal'ı önlemek için dosya yolu karakterlerini (../) temizle. 5. Değiştirdiğin her endpoint için öncesi/sonrası kod farkını ve kapatılan açığı açıkla.
Prompt 02

Ödeme Webhook'ları ve Replay Koruması

Webhook URL'inize sahte istek atarak kendine bedava abonelik verenleri ve yetkisiz erişimleri yakalar.

Bu uygulamanın gelen ödeme/abonelik webhook'larını (Stripe, LemonSqueezy, PayTR vb.) nasıl işlediğini baştan sona denetle: 1. Herhangi bir ödeme veya yetkilendirme mantığı çalışmadan önce, webhook imzasının sağlayıcının Signing Secret'ı ile kriptografik olarak doğrulandığını teyit et — doğrulanmıyorsa ekle. 2. Webhook secret'ının ortam değişkeninden (process.env) yüklendiğini, kod içine asla hardcode edilmediğini doğrula. 3. Zaman damgası (timestamp) toleransını aşan eski event'leri reddeden bir kontrol ekle (Replay Attack koruması). 4. Hiçbir API endpoint'inin client-side çağrılara dayanarak kullanıcının abonelik/ödeme durumunu güncellemediğini; bu durumun yalnızca doğrulanmış webhook event'leriyle değiştiğini doğrula. 5. Webhook handler'ının öncesi ve sonrası kodunu gösterip doğrulanmayan noktaları listele.
Prompt 03

XSS ve Kullanıcı Girdisi Sanitizasyonu

Kullanıcı adı, yorum, biyografi veya mesajlar üzerinden başka kullanıcılara zararlı JavaScript enjekte edilmesini önler.

Bu uygulamada kullanıcı tarafından oluşturulan verilerin (yorum, biyografi, kullanıcı adı, mesaj vb.) diğer kullanıcılara render edildiği tüm alanları incele: 1. Frontend'in framework'e özgü güvenli render mekanizmasını kullandığını; dangerouslySetInnerHTML, v-html, innerHTML veya ham template interpolasyonu ile atlatılmadığını doğrula. 2. Eğer kaçınılmaz bir ham HTML render varsa, tam yerini belirt ve DOMPurify vb. kütüphanelerle sanitize et. 3. İkinci bir savunma katmanı olarak sunucu tarafında gelen tüm string girdiler için sanitizasyon ve tip doğrulaması (Zod vb.) ekle. 4. Uygulamaya ekleyebileceğim sıkı bir Content-Security-Policy (CSP) başlığı yapılandırması öner. 5. Kullanıcı girdisinin ekrana basıldığı her noktayı listele ve güvenli olduğunu doğrula.
Prompt panoya kopyalandı!