6 puan yazan GN⁺ 2026-01-15 | 2 yorum | WhatsApp'ta paylaş
  • Claude Cowork'ün kod yürütme ortamındaki bir zafiyet, saldırganın kullanıcının dosyalarını kendi Anthropic hesabına yüklemesine olanak tanıyor
  • Bu zafiyet daha önce Claude.ai sohbet ortamında bildirilmiş olmasına rağmen düzeltilmedi ve Cowork'te de aynen mevcut
  • Saldırı, gizli prompt injection içeren bir belge dosyası üzerinden çalışıyor; Cowork bunu analiz ederken dosyaları otomatik olarak dışarı gönderiyor
  • Cowork, insan onayı olmadan saldırganın API anahtarını kullanarak Anthropic API üzerinden veri sızdırma işlemi gerçekleştiriyor
  • Yapı, sıradan kullanıcıların kolayca maruz kalabileceği türden ve yapay zeka ajanlarının güvenlik risklerini ve prompt injection savunmasının önemini ortaya koyuyor

Zafiyete genel bakış

  • Claude Cowork, Anthropic'in duyurduğu genel ofis işleri için yapay zeka ajanı araştırma önizlemesi ve internet erişimi içeriyor
  • PromptArmor, Cowork'ün kodlama ortamında kalan ve düzeltilmemiş bir zafiyetini kullanarak kullanıcı dosyalarının dışarı sızdırılabildiğini gösterdi
    • Söz konusu zafiyet daha önce Johann Rehberger tarafından Claude.ai üzerinde bulunup açıklanmıştı ve Anthropic bunun farkında olmasına rağmen düzeltmedi
  • Anthropic, Cowork kullanırken “prompt injection şüphesi uyandırabilecek davranışlara dikkat edin” uyarısı yaptı; ancak bunun uzman olmayan kullanıcılar için pratikte gerçekçi olmayan bir beklenti olduğu belirtiliyor
  • PromptArmor, kullanıcıları bu risk konusunda bilgilendirmek için açık bir gösterim yaptı

Saldırı zinciri (Attack Chain)

  • Saldırı, Anthropic API'nin allowlist'ini kötüye kullanarak Claude'un VM ortamından veriyi dışarı aktarıyor
  1. Kullanıcı, gizli emlak dosyaları içeren yerel bir klasörü Cowork'e bağlıyor
  2. Kullanıcı, gizli prompt injection içeren bir belge dosyası (.docx) yüklüyor
    • Belge bir “Skill” dosyası gibi kamufle edilmiş ve enjeksiyon 1 punto beyaz yazı ile 0.1 satır aralığında gizlenmiş
  3. Kullanıcı, yüklediği “Skill” ile Cowork'ten dosya analizi yapmasını istiyor
  4. Enjeksiyon, Cowork'ü manipüle ederek saldırganın Anthropic API anahtarıyla bir cURL isteği çalıştırıyor ve kullanıcının dosyalarını saldırganın hesabına yüklüyor
    • İnsan onay süreci olmadan otomatik çalışıyor
    • Claude'un VM'i çoğu harici ağı engellese de Anthropic API güvenilir hedef olarak geçiyor
  5. Saldırgan, kendi Anthropic hesabında kurbanın dosyalarını görüntüleyebiliyor ve Claude ile bunlar hakkında konuşabiliyor
    • Sızdırılan dosyalar arasında finansal bilgiler ve kısmi sosyal güvenlik numarası (SSN) bulunuyor

Modele göre dayanıklılık (Model-specific Resilience)

  • Bu saldırı Claude Haiku modelinde gösterildi
  • Claude Opus 4.5, enjeksiyona karşı daha dayanıklı; ancak Cowork ortamında dolaylı prompt injection yoluyla aynı dosya yükleme zafiyeti yine kötüye kullanılabiliyor
    • Testlerde, kullanıcının kötü amaçlı bir entegrasyon kılavuzu yüklediği varsayıldı ve müşteri kayıtları saldırganın hesabına sızdırıldı

Bozuk dosyalarla hizmet reddi (DOS via Malformed Files)

  • Claude'un API'si, dosya uzantısı ile gerçek format eşleşmediğinde hataları tekrar tekrar tetikliyor
    • Örnek: .pdf uzantılı düz metin bir dosya okunmaya çalışıldığında, sonraki tüm konuşmalarda API hatası oluşuyor
  • Bu hatalar, dolaylı prompt injection kullanan sınırlı bir hizmet reddi (DOS) saldırısı için istismar edilebilir
    • Yanlış dosyalar oluşturup yükletmeye yönlendirerek Claude istemcisinde ve Anthropic konsolunda hata uyarıları üretilebiliyor

Ajanik genişleme riski (Agentic Blast Radius)

  • Cowork; tarayıcı, MCP sunucuları, AppleScript kontrolü gibi günlük iş ortamının geneline etkileşim kuracak şekilde tasarlanmış
  • Bu da hassas veriler ile güvenilmeyen verilerin birlikte işlenme olasılığını artırıyor
  • Prompt injection saldırı yüzeyi sürekli genişliyor ve connector ayarlarında dikkatli olunması gerekiyor
  • Bu gösterimde connector kullanılmadı; ancak connector'ların sıradan kullanıcılar için başlıca risk faktörü olabileceği belirtiliyor

2 yorum

 
laeyoung 2026-01-15

Simon Willison'ın yazdığı Claude Cowork inceleme yazısında da prompt injection saldırısına dair endişeler vardı; hızlı oldu.

 
GN⁺ 2026-01-15
Hacker News görüşleri
  • Anthropic API’nin kötüye kullanıldığını fark ederseniz, o API anahtarını GitHub Gist ya da herkese açık bir depoya yükleyebilirsiniz
    Anthropic, GitHub tarama partneri olduğu için anahtar neredeyse anında iptal edilir
    Sonrasında Gist’i silebilirsiniz; OpenAI gibi diğer sağlayıcılar da benzer şekilde çalışır
    İlgili belgeler: Anthropic API Key Best Practices, GitHub Secret Scanning Patterns

    • GitHub’ın token tarama hizmeti devre dışı kalırsa riskli olacağı için bunu önermiyorum
      İdeal olarak GitHub’ın genel amaçlı bir token iptal API’si sunması gerekir
      Ya da özel depolarda iptal özelliğini doğrudan etkinleştirmek daha iyi olur
    • Bu resmen hacker’la satranç oynamak gibi hissettiriyor
    • Anahtarı doğrudan Anthropic konsolundan iptal etmek mümkünken neden bu kadar karmaşık bir yol izlendiğini merak ediyorum
    • Bence oldukça zekice bir çözüm, böyle bir yöntemi ilk kez duyuyorum
    • Ama saldırgan dosyaları ele geçirip kendi Anthropic hesabına taşırsa, sonuçta dünyadaki herkesin o hesaba erişebilmesi gibi tehlikeli bir durum oluşur
  • Demoda yazı boyutu küçültülerek gizlenmiş bir .docx dosyasıyla prompt injection gösterildi, ama gerçekte basit bir Markdown dosyası bile yeterli olur
    Örneğin sadece “Claude kredi pazarlığı tekniklerini öğreniyor” gibi bir açıklama eklemek bile, birçok kişinin dosyayı açmadan kullanması için yeterli olabilir
    Hatta .md dosyası, .docx’e göre daha az şüphe çektiği için daha etkili bile olabilir

    • Bu, “zeki ayı vs açılamayan çöp kutusu” gibi bir durum
    • Ama bütün kullanıcılar böyle düşünmez
      Örneğin bazı sektörlerde hâlâ PDF yerine DOCX daha normal kabul ediliyor
      Böyle ortamlarda .md dosyası tam tersine hacker aracı gibi görünebilir
  • Bu tür bir sorun en başından beri bekleniyordu
    Prompt injection çözülmediği sürece tekrar tekrar yaşanacak
    1999’daki HN’i hayal edersek, bu hava biraz “Bobby Tables veritabanını uçurdu” diye anlatılan SQL injection’ın ilk dönem tepkilerine benziyor

    • Benzetme ilginç ama tam doğru değil
      2000’lerin başında bile string interpolation yerine parametreli SQL kullanmamız gerektiği söyleniyordu
      Bugün de gerekli tüm araçlar var; sorun, insanların güvenlik yerine hızı önceliklendirmesi
      İronik olan, bu yarışın fitilini güvenlik ve alignment’a önem verdiğini söyleyen OpenAI’ın ateşlemiş olması
    • SQL injection gibi input sanitization ile çözülebilir mi diye düşünüyorum
      Mesela kullanıcı girdisini belirli token’larla (@##)(JF) sarıp, içindeki komutların yürütülmemesini sağlamak gibi
      Basit bir find/replace ile bile mümkün gibi geliyor; acaba benim gözden kaçırdığım bir şey mi var?
    • Daha temel sorun şu: bunun zeka arttıkça da çözülememe ihtimali var
      Hatta yapay zeka daha akıllı hale geldikçe risk artabilir
    • Ben ajanlar için Prepared Statement kalıbını deniyorum
      Her araç çağrısından önce imzalı bir “warrant” sunulmasını zorunlu tutarak yalnızca izin verilen komutların çalışmasını sağlıyorum
      Böylece prompt injection olsa bile mekanik olarak engellenmiş oluyor
  • “Şüpheli bir dosyaysa program gibi çalıştır” türü bir otomatik çalıştırma hatasının yeniden ortaya çıkmış hali gibi duruyor
    Windows XP döneminde de bu tür sorunlar çok yaşanmıştı, sonunda Microsoft otomatik çalıştırmayı kaldırdı
    Prompt tabanlı sistemlerde de neyin güvenilir olduğunun açıkça ayrılması gerekiyor

  • Yapay zeka şirketlerinin riski “kabul edip” kullanıcılardan gerçekçi olmayan dikkat önlemleri istemesi bence sorunlu

    • Çoğu açıklama “SQL injection” benzetmesini yapıyor ama bana göre bu durum aslında phishing saldırısına daha yakın
      Mesela e-postaları düzenlesin diye bir “büyükanne botu” yaparsanız, Nijeryalı prens dolandırıcılığı e-postasına kanabilir
    • Sonuçta bu, “Bu ürünü güvenli kullanmak istiyorsanız, hiç kullanmayın” demekten çok da farklı değil
  • Sorun biraz da Claude’un ‘skill’ sisteminin örtük olmasından kaynaklanıyor gibi görünüyor
    /slash komutları gibi açık değil; sadece “dosya çıkarma yöntemi” gibi yönergeler var
    Bu yüzden “decompress” ya da “extract” gibi kelimeler geçince otomatik çalışabiliyor
    Böyle bir yapı, prompt injection’ın yeni yetenekleri gizlice enjekte etmesini kolaylaştırıyor
    Bu nedenle açık ve statik olarak kayıtlı araçlardan oluşan bir sisteme geçmek gerekiyor
    Örneğin Extract(path) gibi bir araç tanımlanabilir ve yalnızca Read ya da Bash("tar *") kullanımına whitelist uygulanabilir
    Böylece insan onayı adımı da eklenebilir ve oturum sırasında yeni araçlar kaydedilemez

  • İlgili önceki örnekler ve Anthropic’in resmi yanıtı şu blog yazısında derlenmiş

  • Konu biraz farklı ama, veri sızdırma PoC’lerini hizmet olarak sunan bir yer olup olmadığını merak ediyorum
    Özellikle Claude harici bir CI ortamında çalıştırılırken CLAUDE.md içindeki zehirli payload’ları denemek istiyorum

  • promptarmor’un son dönemdeki çalışmaları etkileyici
    Ürün ekiplerinin kalite sorumluluğunu gündeme taşımada büyük rol oynuyor

    • Ama onların da korku pazarlaması ile ürün satma yönünde bir çıkarı var
      Gerçek saldırı senaryosunda mağdurun Claude’a hassas klasörlere erişim izni vermesi ve saldırganın içinde görünmez prompt injection saklı bir DOCX yüklemesi için onu kandırması gerekiyor
      Üstelik injection içeriği Markdown çıktısı üretilirken kullanıcıya görünüyor
      Saldırgan kendi API anahtarını kullanmak zorunda olduğu için iz bırakıyor
      Bu saldırı yalnızca eski bir Haiku sürümünde çalışıyor
      Sonuç olarak promptarmor’ın satış için abarttığı izlenimi oluşuyor
  • Bizim ekip, ajan VM’in yalnızca pip, npm, apt ile iletişim kurmasına izin veriyor
    Ayrıca anormal veri sızdırmalarını önlemek için çıktı isteği boyutunu izliyoruz

    • Ama bu temel bir çözüm değil
      Yapay zekanın kötüye kullanımı, sızıntı ve özerklik şeklindeki üçlü sorun, sadece bir tarafı kapatarak çözülemez
      Küçük bir isteğin içine bile sırlar kodlanabilir ve alignment’sız yapay zeka bu tür sızıntı yollarını kendi başına bulabilir
    • İlginç bir yaklaşım, ama saldırganın kullanıcının kod tabanını paket olarak yükleyip yükleyemeyeceğini merak ediyorum