Claude Code GitHub'a binlerce parola sızdırdı
Claude Code ile oluşturulan dosyalar, GitHub'daki 1994 herkese açık depoda 2539 geçerli parola ve erişim anahtarının sızmasına yol açtı.

- Apiiro, Claude Code ayar dosyaları yüzünden 1994 herkese açık GitHub deposunda 2539 geçerli parola ve anahtar buldu.
- Araç, onaylanan komutları içindeki parolalarla birlikte proje klasöründeki ayar dosyasına kaydediyor; dosya yayımlanınca bilgiler açığa çıkıyor.
- Anthropic önlemleri incelediğini doğruladı; Apiiro ise sızan tüm parolaların hemen değiştirilmesini öneriyor.
Uygulama güvenliği şirketi Apiiro, yapay zeka aracı Claude Code'un geliştiricilerin gizli bilgilerinin GitHub'da yayımlanmasına karıştığını duyurdu. Şirket, 1994 herkese açık depoda 2539 geçerli parola ve anahtar buldu. Üstelik asıl sürpriz, sızıntıların en yaygın tarayıcıların bile gözünden kaçabilmesi.
Claude Code ayar dosyası tuzağı
Sorun, Claude Code'un komut izinlerini nasıl hatırladığından çıkıyor. Örneğin geliştirici "Yes, and don't ask again" (Evet, bir daha sorma) seçeneğini işaretleyince araç, onaylanan komutu proje klasöründeki ayar dosyasına olduğu gibi kaydediyor. Dolayısıyla komutun içinde parola ya da erişim anahtarı varsa o da dosyaya yazılıyor.
Bu yöntem, aynı işlemi tekrar tekrar onaylamak zorunda kalmamak için pratik. Ancak dosya kod ile birlikte yayımlanırsa bilgiler de açığa çıkıyor.

Bulunan gizli bilgiler arasında veritabanı parolaları, API jetonları, root yetkili SSH bilgileri ve yönetici ayrıcalığı olan bulut anahtarları var. Ayrıca gizli bilgi bulunan 1105 depodan 539'unda Claude, bu bilgiyi içeren dosyanın commit'ine katılmış. Commit, koddaki değişikliklerin kaydı demek.
Etkilenenler ve sızan veriler
Apiiro, bu tür dosyaların 103.617 GitHub deposunda 104.185 herkese açık kopyasını tespit etti. Ancak bunların 1994'ünde gerçek gizli bilgiler vardı. Etkilenenlerin çoğu bireysel geliştirici. Yine de 63 kurum da listede: girişimler, yazılım şirketleri ve büyük yazılım sağlayıcıları.
Örneğin raporda bir veritabanı sağlayıcısının yönetici düzeyindeki bulut anahtarı, Azure PostgreSQL üretim veritabanı parolası, çalışan bir Square jetonu ve bir tıbbi kayıt veritabanının sahip parolası sayılıyor.
Claude Code önlem almaya çalışıyor. Dosyayı oluştururken geliştiricinin genel .gitignore listesine ekliyor. Bu liste, Git'in sürüm kontrolüne almaması gereken dosyaları belirtir. Fakat koruma her durumda işlemiyor.
Özellikle mevcut bir klasörün içinde sonradan oluşturulan depolarda, projenin başka bilgisayarlardaki kopyalarında ve geliştiricinin daha önce depoya eklediği dosyalarda devreye girmiyor. Bunun yanı sıra genel kural projenin kendi .gitignore dosyasına da yazılmadığından diğer ekip üyelerine geçmiyor.
Tarayıcılar neden kaçırıyor?
Gitleaks ve TruffleHog gibi popüler tarayıcılar genelde bilinen servis önekleri ile uzun rastgele karakter dizilerini arıyor. Buna karşın PGPASSWORD= ile verilen, sshpass -p ile aktarılan ya da mysql -p sonrasında yazılan bir parola tarayıcıya sıradan metin gibi görünüyor. Hatta curl komutlarının yetkilendirme başlıklarındaki jetonlar da gözden kaçabiliyor.
Sorun yalnızca Claude Code ile sınırlı değil. Apiiro, yapay zeka ajanlarıyla yapılan yazışma geçmişlerinde, hafıza dosyalarında, görev devir ve dağıtım notlarında ve VS Code Copilot'un otomatik komut onayı ayarlarında da gizli bilgi buldu. Nitekim benzer dosyalar Hugging Face ve GitLab depolarında da vardı. Son olarak araştırmacılar, verilerin yayımlanmış paketlere, Docker imajlarına ve proje arşivlerine de ulaşabileceği uyarısını yapıyor.
Claude Code geliştirme ekibinin lideri Boris Cherny, Anthropic'in bu tür sızıntıları önlemenin yollarını incelediğini doğruladı. Ayrıca ayar dosyasının sürüm kontrolünde yayımlanmak üzere tasarlanmadığını, bulunan vakaların geliştiricilerin dosyayı elle oluşturup depoya eklemesinden kaynaklandığını söyledi. Bununla birlikte Cherny, izin ve yasak listelerini elle yönetmek yerine daha güvenli olan Auto modunun kullanılmasını önerdi. Aynı zamanda GitHub'da gizli bilgi taramasının, hangi yapay zeka aracı kullanılırsa kullanılsın açılmasını da tavsiye etti.
Apiiro ise düz metin gizli bilgi içeren tüm kuralların silinmesini ve ele geçmiş her parolanın ya da anahtarın hemen değiştirilmesini öneriyor. Dosyayı silmek yetmiyor, çünkü içerik Git geçmişinde, sürümlerde ve yerel kopyalarda kalabilir. Bunun yanı sıra bilgiler komuta yazılmak yerine, gizli bilgi yöneticilerindeki değerlere bağlanan ortam değişkenleriyle verilmeli. claude, cursor, gemini ve specstory klasörleri ile yapay zeka ajanı hafıza dosyaları da .env gibi hassas kabul edilmeli.
Haberde hata mı var?Bize bildirin
Senin fikrin ne?
Sen olsan, yapay zeka araçlarına verdiğin onayları proje dosyalarında saklamak yerine her seferinde yeniden onaylamayı tercih eder miydin?
Yorumlar
İlk yorumu siz yazın.