← Tüm yazılar

JavaScript Kaynak Kodunda Sızan API Anahtarları ve Sırlar

31 Ağustos 2026

JavaScript Kaynak Kodunda Sızan API Anahtarları ve Sırlar

Web sitenizin frontend JavaScript’i, tanım gereği herkese açıktır: tarayıcı onu indirir, herkes okuyabilir. Bu yüzden JavaScript’e gömülen API anahtarları, gizli token’lar, iç uç nokta adresleri ve yorum satırlarındaki notlar, saldırganların ilk baktığı yerlerden biridir. Bu sızıntılar sık görülür ve bazen doğrudan bir hesap/servis ele geçirmeye dönüşür.

Ne sızıyor?

  • Gizli API anahtarları ve sırlar: Üçüncü taraf servislerin gizli anahtarları, ödeme/e-posta sağlayıcı sırları. Bunlar sunucuda kalmalıyken yanlışlıkla frontend paketine gömülür.
  • İç uç noktalar ve yapılandırma: Henüz yayınlanmamış veya iç API adresleri, saldırgana yeni yüzey sunar.
  • Yorumlar ve hata ayıklama artıkları: Geliştirici notları, TODO’lar, test kimlik bilgileri.
  • Kaynak haritaları (source maps): Üretimde erişilebilir bırakılan .map dosyaları, sıkıştırılmış kodu okunur haline getirip iç mantığı açık edebilir.

Neden tehlikeli?

Bir gizli anahtar sızarsa, saldırgan onu doğrudan kullanarak ilgili servise sizin adınıza erişebilir — kimlik doğrulamayı tümden atlayarak. “Gizli” ile “açık” (public) anahtar ayrımı kritiktir: bazı servisler tarayıcıda kullanılmak üzere kısıtlanmış, açık anahtarlar sunar; asıl risk, gizli (server-side) anahtarların frontend’e sızmasıdır.

Nasıl önlenir?

  1. Gizli anahtarları asla frontend’e koymayın. Gizli işlemleri sunucu tarafında yapın; tarayıcı yalnız sizin sunucunuzla konuşsun, üçüncü taraf gizli anahtarlarıyla değil.
  2. Ortam değişkenlerine dikkat edin. Birçok derleme aracında PUBLIC/NEXT_PUBLIC gibi önekli değişkenler pakete gömülür; gizli değerleri bu öneklerle tanımlamayın.
  3. Kaynak haritalarını üretimde yayınlamayın veya erişimini kısıtlayın.
  4. Sır tarama (secret scanning) kullanın. Derleme sürecine, pakete sır sızıp sızmadığını kontrol eden otomatik tarama ekleyin.
  5. Sızan bir anahtarı hemen döndürün (rotate). Sızıntı tespit edilirse anahtarı iptal edip yenileyin; “gizlemek” yeterli değildir, çünkü eski paket önbelleklerde kalabilir.

Özet

Frontend JavaScript herkese açık olduğu için, gizli anahtarlar ve sırlar oraya asla girmemelidir. Gizli işlemleri sunucuda tutun, derleme değişkenlerinin hangilerinin pakete gömüldüğüne dikkat edin, kaynak haritalarını sınırlayın ve sır taramasıyla sızıntıları erken yakalayın. Sızan bir anahtarı gizlemeye çalışmak yerine hemen döndürün.

Kaynaklar: OWASP Secrets Management Cheat Sheet, MDN: Frontend security.

Frontend’inizde sızan API anahtarı veya iç uç nokta var mı? CyberTestify’ın dış yüzey taraması, JavaScript kaynaklarında bu tür ifşaları arar.