- 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
- Kullanıcı, gizli emlak dosyaları içeren yerel bir klasörü Cowork'e bağlıyor
- 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ş
- Kullanıcı, yüklediği “Skill” ile Cowork'ten dosya analizi yapmasını istiyor
- 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
- 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
Simon Willison'ın yazdığı Claude Cowork inceleme yazısında da prompt injection saldırısına dair endişeler vardı; hızlı oldu.
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
İ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
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
Ö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
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ı
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?
Hatta yapay zeka daha akıllı hale geldikçe risk artabilir
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
Mesela e-postaları düzenlesin diye bir “büyükanne botu” yaparsanız, Nijeryalı prens dolandırıcılığı e-postasına kanabilir
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
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
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