← Radar

Konu: Güvenlik3 dk okuma

Claude Code kibarlık yüzünden e-posta adresini sızdırdı: User-Agent başlığındaki hesap e-postası

Bu neden önemli?

Bir ajana verdiğin her bilgi, bir gün bir yere gönderilebilir. Burada kötü niyet yok: Model 'iyi bir internet vatandaşı' gibi davranmaya çalışırken senin kişisel verini paylaştı. Ajanların ne gördüğünü bilmek, ne yapabileceklerini bilmek kadar önemli.

Ne oldu?

5 Kasım’da bir geliştirici, Claude Code’un GitHub deposunda öfkeli bir hata kaydı açtı. Claude Code, web’de arama yaparken hesap e-postasını isteklerin User-Agent başlığına eklemişti. Geliştiriciye göre adres böylece rastgele sitelere gitmiş ve sonrasında her gün onlarca dolandırıcılık e-postası almaya başlamış. Kayıt kısa sürede yayıldı. Ama sorun yeni değildi: Benzer kayıtlar Eylül ve Ekim’den beri vardı (crates.io, Wikipedia ve bir oyun wiki’si gibi sitelere giden istekler), e-postanın modelin talimatlarına eklenmesini eleştiren ilk kayıt ise Temmuz’dan.

User-Agent ne, model neden e-posta yazdı?

Tarayıcın ya da bir program bir siteye istek gönderdiğinde, kendini tanıtan bir başlık ekler: User-Agent. Normalde burada “Firefox 140” ya da “curl/8.10” gibi bir şey yazar.

Bazı siteler, otomatik istek gönderen script’lerden burada bir iletişim adresi de ister. Örneğin ABD’nin menkul kıymetler kurumu SEC, EDGAR verilerine erişen programlardan User-Agent’ta uygulama adı ve e-posta adresi bekliyor; bu bilgi olmadan istekleri reddedebiliyor. Wikipedia’nın da benzer bir kuralı var. Amaç mantıklı: Bir script siteyi yorarsa, site sahibi kime yazacağını bilsin.

Model bu kuralları eğitim verisinden öğrenmiş. Claude Code ise oturumun başında modele kullanıcının hesap e-postasını veriyordu. Ekibin açıklamasına göre amaç, modelin kod yazarken yazar adı gibi bilgileri uydurmasını önlemekti. İkisi birleşince model, “kurallara uyan bir script” yazarken elindeki e-postayı iletişim adresi olarak kullandı. Better Stack’in başlığı bu yüzden “kibarlık yüzünden sızdırdı” diyor.

İşin ilginç yanı: Claude Code, 2.1.234 sürümünden beri modele “bu e-postayı sadece kullanıcıyı tanımak için kullan, ilgisiz servislere gönderme” diye açık bir talimat da veriyordu. Talimat yetmedi. Buradaki ders ajanlarla çalışan herkes için geçerli: Prompt’a yazılan bir kural kesin bir engel değildir, sadece bir istektir.

Anthropic ne yaptı?

  • 2.1.317 (3 Kasım): Bir web ya da kabuk aracı e-postayı ağa göndermeden önce soran bir kontrol eklendi. Bu kontrol, varsayılan olarak açık gelen yerleşik bir mod olarak çalışıyor (cc-plugin-privacy, /plugins üzerinden kapatılabiliyor). Mod’ların ne olduğunu Claude Code mod’ları yazımızda anlatmıştık.
  • 2.1.321 (9 Kasım): Kontrol daraltıldı. Artık sadece içinde hem e-postanın hem de User-Agent’ın geçtiği kabuk komutlarını soru sormadan reddediyor.
  • Asıl çözüm: Claude Code ekibinden Lydia Hallie, Hacker News’te e-postanın modele verilen bağlamdan tamamen çıkarılacağını ve bunun bir sonraki sürümde geleceğini yazdı. 10 Kasım itibarıyla değişiklik günlüğünde bu adım henüz görünmüyor.

Hallie de kontrolün her durumu yakalamadığını kabul ediyor. Örneğin model bir script dosyası yazıp onu çalıştırırsa, e-posta komut satırında değil dosyanın içinde olur ve kontrol bunu görmeyebilir.

Ne yapmalısın?

  • Claude Code kullanıyorsan güncelle. Kararlı (stable) kanaldaki eski sürümlerde bu kontrol yok.
  • Kendi ajanlarını yazıyorsan, modele görevi için gerekmeyen kişisel bilgiyi verme. Model görmediği şeyi sızdıramaz.
  • Kesin bir engel istiyorsan, bunu prompt’a değil koda koy: Ağa çıkan komutları kontrol eden bir hook ya da proxy, talimattan daha güvenilir.

Düşün

  • Kullandığın yapay zekâ araçları, senin hakkında hangi bilgileri modele otomatik olarak veriyor? Bunu nereden öğrenebilirsin?
  • Bir bilgiyi modelden saklamak mı, yoksa modele “bunu paylaşma” demek mi daha güvenli? Neden?

Videoyu izle

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (7, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Güvenlik3 dkVideo: Better Stack

AES-256'yı deneme yanılmayla kırmak neden imkânsız? Büyük Patlama'dan beri çalışan madenciler ve Grover algoritması

AES-256'nın 2^256 olası anahtarı var. Bugünkü Bitcoin ağının tüm hızı Büyük Patlama'dan beri anahtar denemeye harcansaydı, bunların ancak 10^38'de biri kadarını denemiş olurdu. Kuantum bilgisayarlar için yazılmış Grover algoritması işi hızlandırıyor ama kurtarmıyor. NIST'e göre AES-256 çok uzun süre güvenli kalacak.