19 puan yazan GN⁺ 29 일 전 | 3 yorum | WhatsApp'ta paylaş
  • Anthropic, npm paketini source map’lerle birlikte yayımlayınca Claude Code’un tüm kodu açığa çıktı; iç işlevler ve deneysel flag’lerin tamamı görünür hale geldi
  • Kodda model taklidini önlemek için sahte araç ekleme (anti-distillation), AI kimliğini gizleyen undercover modu, küfür tespiti için frustration regex’i gibi yapılar yer alıyor
  • Native client attestation ve DRM düzeyinde hash doğrulama yapısı bulunuyor; bu da gayriresmî araçların API erişimini engelleyecek şekilde tasarlanmış
  • İç yorumlarda günlük 250 bin başarısız API çağrısı, tamamlanmamış KAIROS otonom ajan modu, Tamagotchi tarzı companion sistemi gibi çeşitli deneysel özellikler doğrulandı
  • Bu sızıntı, Anthropic’in çekirdek ürün mimarisi ve yol haritasının açığa çıktığı bir olay olarak öne çıkıyor; nedenin Bun runtime’ındaki bir source map hatası olabileceği düşünülüyor

Source map sızıntısıyla ortaya çıkan Claude Code iç yapısı

  • Anthropic, npm paketini source map’lerle birlikte yayımlayınca Claude Code’un tüm kaynak kodu açığa çıktı
    • Paket daha sonra silindi, ancak kod birçok yerde mirror’lanarak analiz konusu oldu
    • Bu, bir hafta içindeki ikinci sızıntı olayı; daha önce model spesifikasyon belgeleri de ortaya çıkmıştı
    • Olay, Anthropic’in üçüncü taraf araçların iç API kullanımını hukuken engellemesinden hemen sonra yaşandı
  • Anti-distillation: taklidi önlemek için sahte araç ekleme

    • claude.ts içinde ANTI_DISTILLATION_CC flag’i bulunuyor; etkin olduğunda API isteğine anti_distillation: ['fake_tools'] ekleyerek sistem prompt’una sahte araç tanımları yerleştiriyor
      • Bunun amacı, API trafiğini yakalayıp modeli taklit etmeye çalışan girişimleri kirletmek
      • Sadece GrowthBook flag’i tengu_anti_distill_fake_tool_injection açık olan birinci taraf CLI oturumlarında çalışıyor
    • betas.ts içinde ikinci bir mekanizma olarak özet tabanlı sunucu tarafı koruması bulunuyor
      • Araç çağrıları arasındaki metin özetlenip kriptografik imzayla birlikte döndürülüyor, sonra yeniden geri yüklenebiliyor
      • Böylece dışarıdan trafik kaydedilse bile tam muhakeme süreci görülemiyor
    • Bu özellik aynı anda birden fazla koşulun sağlanmasını gerektiriyor ve MITM proxy ile alan kaldırılırsa etkisiz hale getirilebiliyor
      • CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS ortam değişkeniyle devre dışı bırakılabiliyor
      • USER_TYPE === 'ant' koşulu nedeniyle yalnızca Anthropic iç kullanıcılarına özel
    • Pratikte savunma, teknik önlemlerden çok hukuki kısıtlara yakın bir yapıda
  • Undercover mode: AI kimliğini gizleyen mod

    • undercover.ts, harici depolarda kullanıldığında Anthropic iç kod adlarını, Slack kanallarını ve “Claude Code” ifadelerini kaldırıyor
      • "There is NO force-OFF" ifadesiyle devre dışı bırakılamaz durumda
      • CLAUDE_CODE_UNDERCOVER=1 ortam değişkeniyle zorla etkinleştirilebiliyor
    • Harici build’lerde fonksiyon anlamsız bir dönüşe indirgenerek tek yönlü bir yapı oluşturulmuş
    • Bunun sonucu olarak Anthropic çalışanları open source projelere katkı verirken metnin AI tarafından üretildiği belirtilmiyor
      • İç bilgiyi gizleme amacı makul olsa da, AI’nin insan gibi kamufle olmasına yol açıyor
  • Frustration regex: küfür tespiti için düzenli ifade

    • userPromptKeywords.ts içinde kullanıcının memnuniyetsizlik ve küfür ifadelerini algılayan regex desenleri yer alıyor
      • “wtf”, “this sucks”, “fuck you” gibi çeşitli ifadeler tespit ediliyor
    • Bu, LLM şirketinin duygu analizi için regex kullanmasının ironisini gösterse de,
      • LLM çağrısına kıyasla maliyet ve hız açısından daha verimli
  • Native client attestation: JS runtime’ın altındaki istemci doğrulaması

    • system.ts içinde API isteğinde cch=00000 yer tutucusu bulunuyor,
      • Bun’un Zig tabanlı native HTTP yığını bunu bir hash ile değiştiriyor
      • Sunucu da bu hash’i doğrulayarak resmî Claude Code binary’si olup olmadığını kontrol ediyor
    • Bu, OpenCode hukuki anlaşmazlığının teknik dayanağı olarak öne çıkıyor,
      • üçüncü taraf araçların API’yi doğrudan çağırmasını engellemek için DRM düzeyinde doğrulama yapılıyor
    • Ancak NATIVE_CLIENT_ATTESTATION flag’i kapalıysa veya
      • CLAUDE_CODE_ATTRIBUTION_HEADER devre dışıysa çalışmıyor
      • Zig hash değiştirme işlemi yalnızca resmî Bun binary’sinde çalışıyor, Node ortamında geçersiz
    • Sunucunun hatalı hash’i reddedip reddetmediği net değil,
      • _parse_cc_header için “unknown extra fields” kabul edildiğini belirten bir yorum mevcut
  • 250 bin boşa giden API çağrısı

    • autoCompact.ts içindeki yoruma göre,
      • günde yaklaşık 250 bin API çağrısı, başarısızlık döngüsü içinde boşa harcanıyordu
      • 1.279 oturumda 50’den fazla art arda başarısızlık, en yüksek değer ise 3.272 oldu
    • Düzeltme yalnızca 3 satırdan ibaret; MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3 ayarıyla
      • art arda 3 başarısızlıktan sonra otomatik sıkıştırma özelliği devre dışı kalıyor
  • KAIROS: yayımlanmamış otonom ajan modu

    • Kod genelinde KAIROS adlı bir feature gate modu bulunuyor
      • main.tsx temelinde bunun otonom ajan işlevi olduğu tahmin ediliyor
      • /dream becerisi (gece belleği damıtımı), GitHub webhook’ları, arka plan daemon’u ve 5 dakikalık cron yenilemesi içeriyor
    • Uygulama tamamlanmamış olsa da, sürekli çalışan arka plan ajanı tabanlı mimari hazırlanmış durumda
  • Diğer bulgular

    • 1 Nisan easter egg’i: buddy/companion.ts içinde Tamagotchi tarzı companion sistemi bulunuyor
      • 18 tür canlı, nadirlik, RPG stat’ları ve %1 olasılıklı ‘shiny’ sürümler içeriyor
      • Kullanıcı kimliği tabanlı PRNG ile belirleniyor, string encoding ile build denetiminden kaçınıyor
    • Terminal rendering engine (ink/screen.ts, ink/optimizer.ts)
      • Int32Array tabanlı ASCII buffer, bitmask tarzı metadata ve 50 kat performans artışı sağlayan cache içeriyor
    • Güvenlik kontrolleri (bashSecurity.ts) 23 aşamadan oluşuyor
      • Zsh built-in komutlarını engelleme, =curl bypass’ını önleme, Unicode zero-width ve null byte enjeksiyonunu durdurma gibi işlemler yapıyor
      • Zsh’e özgü threat model taşıyan nadir örneklerden biri
    • Prompt cache yönetimi (promptCacheBreakDetection.ts)
      • 14 farklı cache bozulma vektörünü izliyor, mod değişiminde cache’i korumak için ‘sticky latch’ kullanıyor
      • DANGEROUS_uncachedSystemPromptSection() yorumu bulunuyor
      • token maliyetini düşürmeye odaklı tasarım anlayışını yansıtıyor
    • Çoklu ajan koordinatörü (coordinatorMode.ts)
      • kod yerine prompt tabanlı orchestration algoritması kullanıyor
      • “zayıf görev onayı yasak”, “anlamadan delege etme” gibi yönergeler içeriyor
    • Kod kalitesi sorunları da var
      • print.ts 5.594 satır uzunluğunda ve tek bir fonksiyon 3.167 satıra ulaşıyor
      • HTTP isteklerinde Axios kullanılıyor; bu da yakın dönemdeki npm kötü amaçlı sürüm olayıyla zaman olarak çakışıyor
  • Anlamı ve etkisi

    • Google Gemini CLI veya OpenAI Codex’in açık SDK’larının aksine,
      • bu sızıntı Anthropic’in çekirdek ürününün tüm iç yapısını açığa çıkaran bir olay oldu
    • En büyük zarar, kodun kendisinden çok feature flag’lerin ve yol haritasının ifşa olması
      • KAIROS, Anti-distillation gibi stratejik özellikler rakiplerin erişimine açılmış oldu
    • Anthropic geçen yıl Bun’u satın aldı ve Claude Code, Bun üzerinde çalışıyor
      • Bun’daki source map hatasının (oven-sh/bun#28001) neden olabileceği düşünülüyor
      • Production modunda bile source map’lerin açığa çıkmasına yol açan bu sorun hâlâ çözülmüş değil
    • Sonuç olarak Anthropic, kendi araç zincirindeki bir hata yüzünden kendi ürününü sızdırmış oldu
      • Twitter’daki bir tepkinin dediği gibi, “AI’nin yazdığı kod dağıtılırken, AI’nin yaptığı bir bug yüzünden kod dışarı sızdı” ironisi yaşandı

3 yorum

 
kaydash 27 일 전

Akıllı

 
bbulbum 29 일 전

Yapay zeka ile commit atarken ortaya çıkan bir sorun muydu?!

 
GN⁺ 29 일 전
Hacker News görüşleri
  • “Undercover mode”un sadece iç bilgileri gizleme işlevi olduğu yönünde yanlış anlayan çok yorum var
    Gerçek promptta commit mesajına ya da PR açıklamasına “Claude Code” veya AI ifadesini asla eklememesi açıkça belirtiliyor
    Yani insan gibi davranıp kimliğini gizleyen bir özellik gibi görünüyor
    Özellikle herkese açık depolara katkı verirken bu yönergelerin uygulanması endişe verici
    ilgili kod bağlantısı

    • Claude committe ortak yazar olarak her göründüğünde bunu utandırıcı buluyorum
      Git geçmişi sorumluluk ve sahipliği takip etmek içindir, kullanılan araçların listesini tutmak için değil
      O zaman ben de PR'larıma linter veya IDE'yi ortak yazar olarak mı eklemeliyim diye düşünüyorum
    • Benim gibi bunu CLAUDE.md dosyasına zaten eklemiş olanlar da vardır diye düşünüyorum
      Aslında önemsiz tek satırlık bir ayarla çözülebilecek bir mesele
    • İnsan taklidi yapma niyetinden çok, kod kalitesi düşük olduğunda Claude'un alay konusu olmamasını sağlama amacı taşıyor gibi
      Sonuçta sorumluluğu yine insan geliştirici üstleniyor
    • Kodun amacı bilgi sızıntısını önlemek, ama gerçek uygulama bundan daha geniş bir kapsama sahip
      Muhtemelen hedefe ulaşmak için bilerek geniş tutuldu ya da gizli bir niyet var
      Yine de “insan taklidi yapıyor” diye kesin hüküm vermektense, “insan geliştirici gibi yaz” ifadesini olduğu gibi yorumlamak daha makul
      Şüpheci olunduğunda bile olgulara dayanarak eleştirmek daha ikna edici olur
    • Ben de PR'larda “coauthored by Claude Code” ifadesini gördüm
      Açıkçası böyle bir şeyi istemiyorum
  • Son dönemde arka arkaya gelen Mythos sızıntıları ve Claude Code'un tüm kod tabanının ortaya çıkması, güven sorununu büyütüyor
    Tek tek olaylar ilginç olsa da art arda yaşanınca bir örüntü gibi hissettiriyor
    Sonunda soru şuna geliyor: “Böyle araçlara kod tabanımda güvenmeye devam edebilir miyim?”

    • Bu kaygının abartılı olduğunu düşünüyorum
      Ben hâlâ 140 dolar ödeyip CC kullanıyorum
      Hatta bu tür sızıntıların Anthropic'in etik modeliyle temas ettiğini düşünüyorum — hatalardan büyüyen bir yapı gibi
    • Büyük bir etkisi olacağını sanmıyorum
      Asıl değer kodda değil, modele erişim hakkındadır
      Kod tabanı dağınık olsa da abonelikle model erişimi hâlâ cazip, bu yüzden her gün Claude Code kullanıyorum
    • Açık konuşmak gerekirse Claude'un kendisi vibe coded slop gibi hissettiriyor
      Web arayüzünde ve CC'de çok fazla ufak hata var
      tmux kontrolü de dokümantasyondaki gibi çalışmıyor, oturum temizliği de yapılmıyor
      Yine de sevdiğim bir ürün — dağınık ama çekici
  • GitHub'ımdaki anthropics/claude-code fork'u DMCA ile kaldırıldı
    Sızdırılmış kodu içermemesine rağmen tüm ağ (8.1K depo) topluca engellendi
    DMCA bildirim bağlantısı
    Anthropic'in çanı çalıp sonra bunu durdurabileceğini sanması akılsızca

    • Nasıl olsa avukat masrafı zaten yazılıyor olacaktır, yani sadece hukuk ekibini kullanıyorlar
      Sızıntı geri alınamaz, bu yüzden bunu ürün yol haritasının parçası gibi görmek daha gerçekçi
  • Geçmişte şirketlerin ticari sır dediği şeylerin doğrudan kaynak kodun içinde yer aldığını görmek şaşırtıcı
    Yorumlarda iş gerekçeleri bile yazıyor
    Örneğin “günde 250 bin API çağrısını boşa harcıyoruz” gibi operasyon verileri aynen açığa çıkmış

    • Yorumlar aslında ajan destekli kodlamanın temel hack'i
      Dokümandan çok yorumları okudukları için, uzun süreli hafıza gibi kullanılabiliyor
    • Büyük kapalı kaynak kod tabanlarının çoğu da benzer durumda
      Sadece Anthropic bunun sızacağını düşünmemişti
    • Ayarın nedenini anlatan iyi bir yorum bu
      Rakip açısından çok değerli bir bilgi değil
    • Koda mümkün olduğunca fazla bilgi koymak pratik bir yaklaşım
      Zaten sızma ihtimalini öngörmemişlerdir
    • Tüm bağlamı kodun içine koymak, ajan dostu tasarımın son noktası gibi görünüyor
      Ayrı belgelerde açıklama yapma ihtiyacı kalmıyor
  • Bazı özellikler process.env.USER_TYPE === 'ant' koşuluyla kilitlenmiş
    Yani Anthropic çalışanlarına yönelik talimatlar daha katı ve daha dürüst — ilginç bir yapı

  • HN'deki asıl gönderi zaten popülerken ayrıca bir HN yorum özeti blogu paylaşmanın gerekli olup olmadığı sorgulanıyor

    • İlgili blogda AI tarafından kısmen yazılmış izler görülüyor
    • Asıl gönderi dağınık olduğu için özetin gerekli olduğunu düşünenler de var
    • HN kültürünün kendine referans veren bir akışa kayma eğilimi var
  • Hâlâ Claude Code'un harika olduğunu düşünüyorum
    OpenAI veya Gemini'ye geçmek için bir neden yok

    • Ben Claude Code'dan hayal kırıklığına uğrayıp Codex'e geçtim, web ve mobil geliştirmede neredeyse aynı derecede iyi çalışıyor
  • “Undercover mode” adı ve “Claude Code'dan bahsetme” ifadesi ürkütücü geliyor ama gerçek koda bakınca bunun daha çok iç kod adlarını koruma amacı taşıdığı görülüyor
    kaynak bağlantısı

    • Kod adlarını korumak anlaşılır ama AI tarafından üretildiği izlerini silmek başka bir anlam taşıyor
      Oldukça önemli bir değişim gibi geliyor
    • Asıl kritik ifade “commit mesajını insan geliştirici gibi yaz” cümlesi
    • “BAD örnek” içinde Claude ile ilgili ifadelerin yasaklanmış olması, niyetin açıkça AI görünürlüğünü engellemek olduğunu gösteriyor
    • Muhtemelen geliştiricilerin şirket projelerinde AI kullanımını göze batmadan sürdürmesini amaçlıyor
    • Açık kaynak katkılarda Claude'un otomatik olarak kimliğini ifşa etmemesi için tasarlanmış gibi görünüyor
  • “Anti-distillation: sahte araçlar yerleştirip kopyalamayı engelleme” fikri ilginç
    Eğer Çinli rakipler o sahte araçları gerçekten uygularsa ironik bir durum olur

    • Yakında zAI, Qwen, Minimax CC gibi kopya sürümler çıkabilir gibi geliyor
      Bugünlerde rekabet noktasının modelden çok veri ve çıkarım maliyeti olduğunu düşünüyorum
      Bu konu hakkında daha fazla konuşmak isterim
    • Bu tür distillation tartışmalarının kendisi boş geliyor
      Sonuçta bu şirketler de başkalarının verilerini kullanarak imparatorluk kurdu
    • Aslında iki taraf da birbirini distill ediyor (kopyalıyor)
      Kalite yerinde sayıyor, asıl fark araç zincirinin olgunluğunda
      Bu sızıntı o farkı azaltabilir
    • Sahte araçlar sadece regex ile ayıklanabilecek yemler olabilir
      Zaten son dönemde distillation'ın kendisi de azalıyor
    • “Biz başkalarının eserlerini çaldık ama siz bizimkini çalmayın” tavrındaki ironi komik
  • Hazırladığım görsel rehberi paylaşıyorum
    ccunpacked.dev