deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Claude Code'un "Tekrar Sorma" özelliği kimlik bilgilerini reportedly 1.122 herkese açık GitHub dosyasına sızdırdı

Claude Code'un kaydedilmiş izin kuralları, satır içi parolaları reportedly 1.122 herkese açık GitHub dosyasına taşıdı. Dev.to rehberleri, agent yapılandırma dosyalarının nasıl gizli bilgi deposuna dönüştüğünü ve bunların nasıl denetleneceğini anlatıyor.

Claude Code'un "Tekrar Sorma" özelliği kimlik bilgilerini reportedly 1.122 herkese açık GitHub dosyasına sızdırdı

Ne oldu

Bu haftaki bir Hacker News tartışmasında çarpıcı bir iddia ortaya atıldı: Claude Code'un "Tekrar Sorma" seçeneği, 1.122 herkese açık GitHub dosyasında parolaları açığa çıkarmıştı. Dev.to'daki iki takip yazısı konuyu ele aldı. Bunlardan biri olan düşünce yazısı, bu sayıyı kullanışlılık özelliklerinin gerçek güvenlik maliyetleri taşıyabileceğinin kanıtı olarak görüyor. Diğeri ise teknik bir rehber niteliğinde; kesin rakama kefil olmayı bilinçli olarak reddediyor ve sorunun tek bir aracın çok daha ötesinde olduğunu savunuyor: agent'ların ürettiği yapılandırma dosyaları, sessizce gözetlenmeyen bir gizli bilgi deposuna dönüşmüş durumda.

Kimlik bilgileri nasıl kaydediliyor

Kodlama agent'ları genellikle shell komutlarını çalıştırmadan önce izin ister. "Tekrar Sorma" seçeneğini belirlemek, benzer komutların bir dahaki sefere sorulmadan çalıştırılması için bir kural kaydeder; Claude Code'da bu yerel kurallar .claude/settings.local.json dosyasına yazılır.

Güvenlik açığı, onaylanan komutun kendisi bir kimlik bilgisi içerdiğinde başlıyor; örneğin -u user:password ile kimlik doğrulayan bir sağlık kontrolü curl'ü gibi. Kaydedilen izin kuralı böylece parolanın düz metin bir kopyasına dönüşüyor. Geliştirici secret'ı hiçbir zaman elle bir dosyaya yazmadığı için, dev.to rehberine göre .env dosyalarını koruyan refleksler devreye girmiyor. Ayarlar dosyası gitignore'a eklenmemişse, sıradan bir commit ve push işlemi kimlik bilgisini herkese açık bir deponun geçmişine yerleştiriyor. Dosya makineden hiç ayrılmasa bile, secret diskte düz metin olarak duruyor; yedeklere, dotfiles depolarına veya zorla yapılan bir git add -f komutuna açık hâlde.

Yalnızca Claude Code değil

Rehber, bu kalıbın tek bir araca özgü olmadığının altını çiziyor. Komut geçmişini veya sohbet kayıtlarını tutan her şey — rehber Aider'ın .aider.chat.history.md dosyasını örnek veriyor — geliştiriciler secret'ları prompt'lara veya komutlara yapıştırdığında aynı riski taşıyor. Geliştiriciler .env dosyalarını incelemeyi öğrendi; ama commit'lemeden önce makine tarafından üretilmiş bir JSON ayar dosyasını okuyan neredeyse hiç kimse yok.

Depolarınızı denetlemek

Yazı on dakikalık bir kontrol öneriyor: Claude ayar dosyası için filtrelenmiş git ls-files komutunu çalıştırarak takip edilip edilmediğini görün; aynı yol için git log --all komutunu çalıştırarak commit'lenip sonra silinen kopyaları yakalayın; ve tam geçmişi, redakte modundaki gitleaks ile tarayın, ikinci bir geçiş olarak da bulunan token'ların hâlâ çalışıp çalışmadığını doğrulayabilen TruffleHog'u kullanın.

Yazı bir uyarı da ekliyor: tarayıcılar GitHub'un ghp_ anahtarları veya AWS AKIA tanımlayıcıları gibi iyi biçimlendirilmiş token'ları güvenilir biçimde yakalar; ama curl argümanlarına gömülü özel parolaları çoğu zaman ister. Bu boşluk için yazar, basic-auth dizileri, URL'e gömülü kimlik bilgileri veya parola argümanları içeren izin kurallarını işaretleyen küçük, amaca yönelik bir tarayıcı anlatıyor; bu tarayıcı, bir secret'ın terminal veya CI log'larına sızmasına yol açabilecek hiçbir şey yazdırmıyor.

Bir secret zaten sızmışsa

Sıralama önemli. Rehbere göre en yaygın hata, ilgili commit'leri aceleyle silmek. Bir secret herkese açık bir depoya ulaştığında çalınmış olarak kabul edilmeli: fork'lar, önbellekler ve otomatik GitHub tarayıcıları kopyalara zaten sahip olmuş olabilir; dolayısıyla geçmişi yeniden yazmak güvenliği geri getirmez. Önerilen sıra şöyle: kimlik bilgisini hemen rotate edin, beklenmeyen erişim için sağlayıcının denetim log'larını kontrol edin, dosyayı takipten çıkarıp .gitignore'a ekleyin ve ancak bundan sonra ekibi uyardıktan sonra git filter-repo ile geçmişi yeniden yazın — herkesin yeniden clone'laması gerekir, yoksa eski bir push secret'ı geri getirebilir. Çok sayıda fork'u olan depolar için kalan kopyaları temizlemek üzere GitHub Support'a başvurmak gerekebilir.

Katmanlı önleme

Yazı birkaç savunmayı üst üste öneriyor. Secret'ları environment variable'larda tutun, böylece kaydedilen bir kural yalnızca bir değişken adı kaydeder; ve bir kimlik bilgisi içeren her komutu kalıcı olarak onaylamadan önce yeniden okuyun. .claude/settings.local.json, yerel Claude markdown notları, Aider artefaktları ve .env dosyalarını kapsayan global bir gitignore bakın. Agent ayar dosyalarını hedefleyen özel bir gitleaks kuralı ekleyin, pre-commit hook olarak ve tam geçmiş çekilerek CI'da tekrar çalıştırın; çünkü hook'lar atlanabilir. Mevcut olduğunda GitHub'un secret taramasını ve push korumasını etkinleştirin. Paylaşılan .claude/settings.json normalde ekip için commit'lendiğinden, onu yok saymak yerine kod gibi inceleyin. Son olarak, agent'ın okuyabileceklerini kısıtlayın; örneğin .env dosyasını kapsayan bir deny kuralıyla.

Yoldaş dev.to düşünce yazısı bunu alışılmış hijyen önlemleriyle tamamlıyor: sabit kodlanmış anahtarlar yerine environment variable'lar, gömülü kimlik bilgilerini aktif olarak arayan code review'lar ve iş akışları için GitHub'un şifreli secret'ları.

Neden önemli

Agent'lı araçlar secret'ların nerede yaşadığını değiştirdi. Kimlik bilgileri artık yazılımın yazdığı, insanların nadiren açtığı ve depoların rastgele commit'lediği izin kurallarına, ayar dosyalarına ve sohbet log'larına akıyor. Bildirilen 1.122 dosya rakamı kesin olmayabilir — yazılardan biri bunu açıkça söylüyor — ama mekanizma tartışmalı değil: tekrarlayan prompt'ları durdurmak için tasarlanmış bir özellik, hatırlaması söylenen komutların aynısını, parolalar dahil, sadakatle korudu. Agent'lar daha geniş kalıcı izinler kazandıkça, bu izinleri kaydeden dosyalar da diğer her secret deposu gibi aynı incelemeyi ve aynı araçları hak ediyor.

  • #ai-agents
  • #security
  • #claude-code
  • #github
  • #secrets

İlgili yazılar