web analytics
← vesaireYapay zekâAPI anahtarım sızdı: şimdi ne yapmalı?Reklamİş ve ekonomi kitapları — Amazon.com.trgüncelleme 08.10.2026 21:08

API anahtarım sızdı: şimdi ne yapmalı?

08.10.2026 · 6 dk okuma

OpenRouter, OpenAI, Anthropic ya da Google gibi bir yapay zekâ servisinin API anahtarı herkese açık bir yere düştüyse, onu kullanan herkes faturayı size yazdırabilir. Bu yazıda ilk 15 dakikada yapılacakları, anahtar git geçmişine girdiyse neden yalnız silmenin yetmediğini ve bir daha aynı şeyi yaşamamak için kurulacak düzeni anlatıyoruz.

Neden acele etmelisiniz?

API anahtarı, servisin sizi tanıdığı tek şeydir; kimin elinde olursa olsun, istekler sizin hesabınızdan düşer. OpenRouter belgeleri bunu açıkça söyler: limiti olmayan bir anahtar sızarsa ya da kontrolden çıkan bir ajan onu kullanırsa, otomatik yüklemeler dahil tüm krediniz harcanabilir [5]. Google da Gemini anahtarları için istemci tarafına gömülen anahtarların kullanıcılar tarafından çıkarılabileceği uyarısını yapar [8]. Yani soru "biri bulur mu?" değil, "bulduğunda ne kadar zarar verir?" sorusudur.

İlk 15 dakika: kontrol listesi

  1. Anahtarı iptal edin. Sağlayıcının panelindeki anahtarlar sayfasına girin ve sızan anahtarı silin. Anthropic, şüphelenilen anahtarın hemen iptal edilmesini ve Console'daki API anahtarları sayfasından silinmesini önerir [6]. OpenRouter da şüphe durumunda anahtarı ayarlar sayfasından silip yenisini oluşturmayı söyler [5].
  2. Yeni anahtar üretin ve uygulamanızı güncelleyin. Canlıda çalışan bir servisiniz varsa Google ve OpenAI'nin önerdiği sıra işe yarar: yeni anahtarı oluşturun, uygulamaya dağıtın, çalıştığını doğrulayın, sonra eskisini kapatın [7][8]. Ama anahtar gerçekten herkese açık bir yere düştüyse, kesintiyi göze alıp eskisini önce kapatmak daha güvenlidir.
  3. Kullanım ve harcama kayıtlarına bakın. Sızıntı süresince tanımadığınız model çağrıları, ani maliyet artışı ya da alışılmadık saatlerde yoğun istek var mı? Google, faturalama ve kullanım kayıtlarının yetkisiz etkinlik için incelenmesini önerir [8]; Anthropic de Console'daki kayıt ve kullanım sayfalarının düzenli izlenmesini tavsiye eder [6].
  4. Harcama limiti koyun. OpenRouter'da her anahtara ayrı bir kredi limiti verebilir, bu limiti günlük, haftalık ya da aylık sıfırlanacak şekilde ayarlayabilirsiniz; limite ulaşan anahtarın istekleri reddedilir [4][5]. OpenAI'de harcama uyarıları ve aylık sert harcama limiti tanımlanabilir; sert limit, harcama sınıra ulaştığında ilgili API trafiğini durdurur [7].
  5. Otomatik yüklemeyi gözden geçirin. Kartınızdan otomatik kredi yükleme açıksa eşiğini düşük tutun. Anthropic, otomatik yeniden yükleme eşiğinin dikkatle seçilmesini önerir, çünkü bu ayar beklenmedik yüksek kullanıma karşı da bir korumadır [6].
  6. Sızıntının kaynağını bulun. Anahtar nereden çıktı? Kaynağı kapatmadan yeni anahtar da aynı yoldan sızar. Aşağıdaki bölümler bunun için.

Anahtar git geçmişine girdiyse

En sık yapılan hata, anahtarı içeren dosyayı silip yeni bir commit atmak ve işin bittiğini sanmaktır. Oysa eski commit'ler anahtarı içermeye devam eder; depoyu klonlayan herkes geçmişte geriye gidip onu görebilir. GitHub'ın hassas veri kaldırma rehberi bu yüzden ilk adım olarak sırrın iptal edilmesini ya da yenilenmesini ister; anahtar artık çalışmıyorsa çoğu durumda geçmişi yeniden yazmaya gerek bile kalmaz [1].

Yine de geçmişi temizlemek isterseniz rehber, git-filter-repo aracını (sürüm 2.47 ve sonrası, --sensitive-data-removal seçeneğiyle) ve ardından zorla gönderimi tarif eder [1]. Bunun bedelleri vardır: commit kimlikleri değişir, açık pull request'ler bozulabilir, mevcut klonlar ve çatallar (fork) eski commit'leri tutmaya devam eder. GitHub üzerindeki önbelleğe alınmış görünümler için GitHub Destek'e başvurmak gerekebilir [1]. Kısacası temizlik iptalin yerini tutmaz; önce iptal, sonra temizlik.

GitHub sizin yerinize fark edebilir

GitHub'ın secret scanning özelliği herkese açık depolarda ücretsiz ve otomatik çalışır; kod geçmişinin yanında issue, pull request ve wiki gibi alanları da tarar [2]. Bulunan anahtar bir iş ortağı sağlayıcıya aitse GitHub bunu sağlayıcıya bildirir ve sağlayıcı anahtarı iptal etmek gibi adımlar atabilir [2]. Anthropic, 2024'ten beri bu programın ortağıdır: herkese açık depoda bulunan anahtarı otomatik olarak devre dışı bırakır ve kullanıcıya e-postayla haber verir [6][9]. OpenRouter da kendini secret scanning ortağı olarak tanımlar ve sızan anahtar için e-posta bildirimi gönderdiğini belirtir [5].

Daha da iyisi, anahtarın hiç gönderilmemesidir. GitHub'ın push protection özelliğinin kullanıcı düzeyindeki hâli GitHub.com'da varsayılan olarak açıktır ve herkese açık depolara sır göndermenizi engeller [3]. Bu uyarıyı gördüğünüzde "sonra düzeltirim" deyip geçmeyin.

Anahtarlar nereden sızar?

Bir daha olmaması için

Anahtarı koddan ayırın

OpenAI, OpenRouter, Anthropic ve Google'ın ortak tavsiyesi aynıdır: anahtarı kodun içine yazmayın, ortam değişkeninden okuyun [4][6][7][8]. Python'da bu kadar basit:

import os
k = os.environ["OPENROUTER_API_KEY"]

Yerel geliştirmede değişkenleri bir .env dosyasında tutuyorsanız, Anthropic'in de önerdiği gibi bu dosyayı sürüm kontrolünün dışında bırakın [6]. Projeye başlarken .gitignore dosyasına şu satırı ekleyin:

.env

Gizli kasa kullanın

Canlı ortamda düz metin dosyası yerine bir sır yöneticisi kullanmak daha güvenlidir. Google, üretim için Google Cloud Secret Manager gibi ayrı bir sır deposunu önerir; OpenAI de anahtarların ortam değişkenleri ya da bir sır yönetimi servisiyle çalışma anında yüklenmesini tavsiye eder [7][8].

İstemciyle sağlayıcı arasına sunucu koyun

Web ya da mobil uygulama yazıyorsanız, kullanıcının cihazı yapay zekâ servisine doğrudan bağlanmasın. İstekleri kendi sunucunuzdaki küçük bir aracı üzerinden geçirin; anahtar yalnız sunucuda dursun [8]. Böylece kullanıcı başına sınır koymak da kolaylaşır.

Anahtar başına limit, kapsam ve süre

OpenRouter'ı ücretsiz modellerle kullanıyorsanız bile limit koymak iyi bir alışkanlıktır; ayrıntılar için OpenRouter'da ücretsiz model kullanımı yazımıza göz atın.

Sonuç

Sızan bir anahtarda ilk refleks iptal etmek olmalı; dosyayı silmek, depoyu gizlemek ya da geçmişi temizlemek bundan sonra gelir. Ardından kullanım kayıtlarına bakın, harcama limitlerini kurun ve sızıntının kaynağını kapatın. Uzun vadede anahtarı koddan ayırmak, her anahtara limit ve dar kapsam vermek ve istemciyle sağlayıcı arasına bir sunucu koymak, bir sonraki sızıntıyı hem daha olasılık dışı hem de çok daha ucuz hâle getirir.

Yapay zekâ ile üretilmiş içerik: Bu sitedeki raporlar ve analizler otomatik veri işleme ve yapay zekâ araçlarıyla hazırlanır; yayından önce tek tek insan kontrolünden geçmez. Hata veya eksik bilgi içerebilir. Önemli kararlar için asıl kaynağa başvurun.