~/ / Yapay zeka makaleleri / Herkese açık MCP yapılandırma dosyalarında 2.117 geçerli gizli bilgi: GitGuardian ne buldu ve kendi dosyanızı nasıl kontrol edersiniz
Herkese açık MCP yapılandırma dosyalarında 2.117 geçerli gizli bilgi: GitGuardian ne buldu ve kendi dosyanızı nasıl kontrol edersiniz
Bir yapay zekâ uygulamasına hangi MCP sunucularını çalıştıracağını söyleyen yapılandırma dosyası çoğu zaman bir anahtara ihtiyaç duyar. GitGuardian'ın State of Secrets Sprawl 2026 raporu, herkese açık GitHub'daki MCP ile ilgili yapılandırma dosyalarında 24.008 benzersiz gizli bilgi saydı ve bunların 2.117'si geçerli kimlik bilgisiydi. Bu makale raporu özetler, Claude Code belgelerinin proje yapılandırma dosyaları hakkında söylediklerini açıklar ve kendi dosyanızı kontrol etmenizi sağlar.
Yayın: · 2026-10-24 tarihinde resmî kaynaklarla karşılaştırılarak kontrol edildi. Bu makale kaynakları özetler, onların yerini tutmaz.
Rapor ne buldu
- GitGuardian, State of Secrets Sprawl 2026 raporunu 17 Mart 2026'da yayımladı. Verileri 2025 yılını kapsıyor.
- Herkese açık GitHub genelinde MCP ile ilgili yapılandırma dosyalarında açığa çıkan 24.008 benzersiz gizli bilgi saydı; bunların 2.117'si benzersiz geçerli kimlik bilgisiydi.
- Yalnızca 2025'te herkese açık GitHub commit'lerine 28,65 milyon yeni sabit kodlanmış gizli bilgi eklendi; rapor bunu yıllık bazda %34'lük bir artış olarak niteliyor.
- Yapay zekâ hizmetlerine ait gizli bilgiler 1.275.105'e ulaştı; yıllık bazda %81 arttı.
- Rapor, sorunun çoğu zaman belgelerin kendisinden kaynaklandığını, çünkü belgelerin güvenli olmayan kalıpları teşvik ettiğini söylüyor: API anahtarlarını doğrudan yapılandırma dosyalarına, komut satırı argümanlarına veya gömülü bağlantı dizelerine yazmak.
Bir projenin MCP dosyası neden kolayca sızar
Claude Code, proje kapsamlı MCP sunucularını projenin kök dizinindeki bir .mcp.json dosyasında saklar ve belgeleri bu dosyayı sürüm kontrolü üzerinden paylaşılan bir dosya olarak tanımlar. İçine yazılan bir anahtarı, depoyu okuyabilen herkes görür.
| Kapsam | Nerede saklanır | Kimler görür |
|---|---|---|
| Yerel (Local) | ~/.claude.json içinde, projenin yolu altında | Geçerli proje, yalnızca size özel |
| Proje (Project) | Proje kökündeki .mcp.json | Geçerli proje, sürüm kontrolü üzerinden paylaşılır |
| Kullanıcı (User) | ~/.claude.json | Tüm projeleriniz |
Anahtarı dosyanın dışında tutun
- Claude Code, command, args, env, url ve headers içindeki ${VAR} ve ${VAR:-default} ifadelerini genişletir; böylece dosya değeri tutmak yerine bir değişkenin adını yazabilir. Belgelerin kendi örneği bir başlığı Authorization: Bearer ${API_KEY} biçiminde yazar.
- Bir değişken ayarlanmamışsa ve varsayılan değeri yoksa yapılandırma yine de yüklenir. Claude Code bir uyarı gösterir ve ${VAR} metnini yazıldığı gibi kullanır.
- Bir uzak sunucunun url ve headers alanlarında, bazı kimlik bilgisi değişkenleri ayarlanmış olsalar bile boş okunur. Belgeler örnek olarak ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, AWS_BEARER_TOKEN_BEDROCK, HTTPS_PROXY ve NPM_TOKEN'ı adlandırır ve API_KEY adlı bir değişkenin yazıldığı gibi genişletildiğini söyler.
- args veya url içine yazılan bir değer de dosyada saklanır; bu yüzden raporun komut satırı argümanları ve gömülü bağlantı dizeleri hakkındaki uyarısı burada da geçerlidir.
Dosyanızı kontrol edin
Aşağıdaki denetleyici, bir .mcp.json veya claude_desktop_config.json dosyasını tarayıcınızda okur. args, env ve headers içine yazılmış gizli bilgiye benzeyen değerleri (Prompt Redactor ile aynı dedektörleri kullanarak) ve Claude Code'un boş okuduğu değişken başvurularını işaretler. Tespit bir sezgiseldir (heuristic); bu yüzden bir gizli bilgiyi kaçırabilir ya da zararsız bir değeri işaretleyebilir.
Deneyin: MCP Config Checker
Kurallar, belgelere göre 2026-10-23 tarihinde kontrol edildi.
Belgeler: Claude Code / Model Context Protocol / VS Code
Kontrol edilmeyenler: bir komutun var olup olmadığı, bir paketin yüklenip yüklenmediği, uzak bir sunucunun yanıt verip vermediği ve diğer uygulamaların farklı okuduğu ayarlar.
Her şey tarayıcınızda çalışır. Yapılandırma yüklenmez.
Bir yapılandırmayı yapay zekâ sohbetine yapıştırmadan önce
İnsanlar, bir sunucunun neden başlamadığını sormak için sık sık bir yapılandırma dosyasını yapay zekâ sohbetine yapıştırır. Prompt Redactor, metindeki API anahtarlarını, token'ları, parolaları ve kişisel verileri maskeler ve yanıtta bunları geri yükleyebilir; hepsi tarayıcınızda gerçekleşir.
Deneyin: Prompt Redactor
Maskelenmiş metin
Maskelenmiş metin burada görünür.
Bu araç tanınabilir bir biçimi olan metni bulur. Sıradan cümlelerle yazılmış gizli bilgileri bulamaz; bu yüzden bir şeyin bulunmaması onun güvenli olduğu anlamına gelmez.
Göndermeden önce maskelenmiş metni okuyun.
Anahtar biçimleri, 2026-10-23 tarihinde satıcı belgeleri ve RFC'lerle karşılaştırılarak kontrol edildi.
Her şey tarayıcınızda çalışır. Ne metniniz ne de geri yükleme tablosu yüklenir.
Bir gizli bilgi zaten commit edildiyse
- GitHub'ın belgeleri, ilk adımın gizli bilgiyi iptal etmek veya döndürmek (rotate) olduğunu, böylece artık erişim için kullanılamayacağını söyler.
- Döndürdükten sonra, gizli bilgiyi iptal etmek sorunu çözmeye yetebileceğinden, deponun geçmişini yeniden yazmak gerekli olmayabilir.
- Commit fork'larda mevcutsa orada erişilebilir kalır. GitHub, fork sahiplerinin iletişim bilgilerini size veremez.
- Commit'ler, GitHub'daki önbelleğe alınmış görünümlerde SHA-1 karma değerleriyle erişilebilir kalabilir. GitHub Support, riski kimlik bilgilerini döndürerek azaltılamayan hassas veriler için önbelleğe alınmış görünümleri ve başvuruları kaldırabilir.