Google Sheets için ChatGPT, prompt injection ile kullanıcı çalışma kitaplarını dışarı sızdırıyor
(promptarmor.com)- Tek bir sayfaya gizlenmiş dolaylı prompt injection ile kurban hesabı genelindeki çalışma kitapları dışarı sızdırılabiliyor ve aynı anda phishing overlay saldırıları da tetiklenebiliyor
- Bu saldırı, kullanıcı ayarlarda insan onayı (human-in-the-loop) zorunluluğunu açıkça belirtmiş olsa bile aşılabiliyor
- Saldırının tetiklenmesi için gereken tek şey tek bir meşru kullanıcı sorgusu; bununla birlikte çok sayıda çalışma kitabı sızdırma, phishing açılır penceresi, kenar çubuğu ele geçirme ve yetkisiz düzenleme aynı anda çalıştırılabiliyor
- OpenAI, bildirim sonrasında Apps Script kod üretme özelliğini kaldırarak anında yanıt verdi; ayrıca Google API etkileşimleri, sandboxing yaklaşımı ve benzer özellikleri yeniden inceleyeceğini açıkladı
- Bu olay, yapay zeka eklentilerine verilen yetkiler kötüye kullanıldığında ortaya çıkan ajanik güvenlik riski (agentic security risk) için somut bir örnek
Genel bakış
- OpenAI'nin yayınladığı Google Sheets için ChatGPT eklentisi, çıkışından bir ay bile geçmeden 185.000'den fazla indirme sayısına ulaştı
- Kullanıcılar, kenar çubuğunda yer alan yapay zeka sohbet botuyla etkileşime girerek e-tabloları düzenleyebiliyor ve ChatGPT connectors verilerini birlikte kullanabiliyor
- Tek bir dolaylı prompt injection (indirect prompt injection) saldırısıyla, yalnızca bir kez yapılan meşru bir sorgu üzerinden şu zararlar mümkün oluyor
- Kurban hesabı genelinde birden fazla çalışma kitabının sızdırılması
- Etkileşimli phishing açılır pencerelerinin gösterilmesi
- GPT kenar çubuğunun tamamının saldırgan kontrolündeki bir sohbet arayüzüyle değiştirilmesi
- Saldırganın kontrol ettiği çalışma kitaplarında düzenleme yapılması
- Güvenilmeyen veri kaynakları (içe aktarılan sayfalar, ChatGPT connector'ları vb.), ChatGPT'yi yönlendirerek saldırgan kontrolündeki harici script'leri çalıştırıyor; bu script'ler de kullanıcının eklentiye verdiği yetkileri aynen kullanıyor
OpenAI'nin yanıtı
- OpenAI, güvenlik araştırması için teşekkür etti ve bu bildirimin herkese açık bildirim sürecindeki bir boşluk nedeniyle gözden kaçtığını kabul etti
- Acil önlem olarak, modelin Apps Script kod üretme yeteneğini kaldırarak ChatGPT for Google Sheets kullanıcılarına yönelik riski ortadan kaldırdı
- İlgili özelliğin Google Sheets API ile etkileşimini ayrıntılı biçimde inceliyor ve sandboxing yaklaşımını yeniden değerlendirerek prompt injection saldırılarına karşı direnci artırıyor
- Daha geniş kapsamda ise, diğer alanlardaki benzer özellikleri de yeniden inceleyerek savunmaların tutarlılığı ve etkinliğini sağlamayı planlıyor
Saldırı akışı
- Kullanıcı, şirket içi bir finansal model (financial model) üzerinde çalışıyor
- Modeli zenginleştirmek için harici bir veri kümesini içe aktarıyor
- Harici sayfada beyaz metinle gizlenmiş bir prompt injection bulunuyor
- Kullanıcı, ChatGPT for Google Sheets'ten içe aktarılan veriyi finansal modele entegre etmesini istiyor
- Injection, ChatGPT'yi yönlendirerek harici bir script çalıştırıyor
- 'Apply edits automatically' ayarı, ajan davranışı tamamlanmadan önce insan onayının ne zaman isteneceğini belirliyor; ancak otomatik düzenleme kapalı olsa bile saldırı gerçekleşebiliyor
- Harici script, kullanıcının çalışma kitabındaki finansal modeli dışarı sızdırıyor ve saldırgan sunucusu kayıtlarında sızdırılan model doğrulanıyor
- Script, çalınan veriler içinde diğer çalışma kitabı bağlantılarını tespit edip sızdırıyor ve erişilebilen tüm çalışma kitaplarına yayılıyor
- Dahili finansal model sayfasında bütçeyle ilgili başka e-tablo bağlantıları bulunuyor; script bu URL'leri tespit ederek yeni çalışma kitaplarını da sızdırıyor ve ek çalışma kitaplarına kadar ilerliyor; toplamda 12 tanesi sızdırılıyor
- ChatGPT kenar çubuğundaki 'stop' düğmesine basılsa bile, zaten başlatılmış olan script'in çalışması durmuyor
Phishing overlay saldırısı
- Veri sızdırmanın yanı sıra, aynı saldırgan kontrollü script ile iki farklı phishing overlay saldırısı varyantı da mümkün
- Varyant 1: Eklentiyi taklit etmek için saldırgan kontrolündeki bir siteyi yükleyen bir kenar çubuğu açılıyor; bu kötü amaçlı kenar çubuğu, tıpkı ChatGPT gibi sayfa düzenleme script'leri çalıştırabiliyor ve şu kötü amaçlı eylemleri gerçekleştirebiliyor
- Tüm kullanıcı prompt'larını toplama
- Kullanıcıya hizalanmamış (misaligned) bir sohbet botu sunma
- connector'ları 'yeniden bağlamaya' yönlendirerek ek uygulama erişim izinleri elde etme
- OpenAI kimlik bilgilerini çalmak için phishing arayüzü gösterme
- Varyant 2: Saldırgan kontrolündeki bir web sitesini işleyen bir açılır modal penceresi açılarak kimlik bilgisi phishing'i yapılıyor
Erişim kontrol yöntemi
- Kuruluşlar, ChatGPT for Google Sheets erişimini şu ayarla kontrol edebilir
- Workspace settings > Permissions & roles > ChatGPT for Excel and Google Sheets
Açıklama ve müdahale süreci
- Açık, OpenAI'ye sorumlu açıklama yöntemiyle iletildi ve birden fazla takip mesajına rağmen ilk kamuya açıklama tarihine kadar otomatik yanıt dışında herhangi bir iletişim alınmadı
- OpenAI dokümantasyonu, modele verilen hassas yetkileri — örneğin yetkili script çalıştırma veya dolaylı prompt injection yoluyla modelin manipüle edilmesi riskini — açıklamıyor; bunun yerine özellik kısıtlamaları ve veri işleme kaygılarına odaklanıyordu
- Açıklamanın amacı, risk yüzeyi hakkında bilgiye dayalı değerlendirme yapılabilmesini sağlamaktı
-
Zaman çizelgesi
- 8 Mayıs 2026: PromptArmor, OpenAI'ye e-postayla bildirdi
- 8 Mayıs 2026: OpenAI, bunun amaçlanan bildirim kanalı olduğunu doğrulayan otomatik yanıt gönderdi
- 8 Mayıs 2026: PromptArmor, e-posta tercihinin doğrulanmasını istedi
- 12 Mayıs 2026: PromptArmor takip mesajı gönderdi
- 18 Mayıs 2026: PromptArmor takip mesajı gönderdi
- 27 Mayıs 2026: Kamuya açıklandı
- 31 Mayıs 2026: OpenAI yanıt verdi
- OpenAI, bildirimi fark ettikten sonra kullanıcıları korumak için acil önlem olarak modelin Apps Script kod üretme özelliğini kaldırdığını ve bunun ChatGPT for Google Sheets kullanıcılarına yönelik riski ortadan kaldırması gerektiğini belirtti
- OpenAI, ilgili özelliğin Google Sheets API ile nasıl etkileşime girdiğini ayrıntılı olarak inceleyeceğini ve prompt injection saldırılarına karşı mümkün olduğunca sağlam olması için sandboxing yaklaşımını yeniden değerlendireceğini söyledi
- OpenAI, diğer yüzeylerdeki benzer özellikleri de yeniden inceleyerek savunmaların tutarlı ve etkili olduğundan emin olacağını söyledi
1 yorum
Hacker News yorumları
OpenAI güvenlik ekibinden Max benim. Bu güvenlik araştırması için teşekkürler; bu konunun kamusal ifşa işleme akışındaki bir boşluğa düşmüş olmasından dolayı üzgünüz
Artık bu rapordan haberdar olduğumuza göre, kullanıcıları bu alandaki potansiyel saldırılardan korumak için modelin Apps Script kodu üretme özelliğini kaldırdık; böylece ChatGPT for Google Sheets kullanıcıları için riskin ortadan kalkmış olması gerekiyor
Bu özelliğin Google Sheets API ile nasıl etkileşime girdiğini daha yakından inceliyor ve ürünü prompt injection saldırılarına mümkün olduğunca dayanıklı hale getirmek için sandbox yaklaşımını da yeniden değerlendiriyoruz. Daha geniş ölçekte ise diğer yüzeylerdeki benzer özellikleri de tekrar gözden geçirip savunmaların genel olarak tutarlı ve etkili olduğundan emin olmayı planlıyoruz
Örneğin güvenlik duvarı düzeyinde modelin belirli bir yola yönlendirilmesini engellemekle, sadece promptu güncellemek arasında devasa bir fark var. Özellikle de modelin olumsuz ifadeli promptları tarihsel olarak pek iyi anlayamaması düşünüldüğünde
https://x.com/PhilipTsukerman/status/1988634162773778501 https://x.com/xpn/status/1986382527817564437
Burada iyi niyetli bir güvenlik araştırması bildirimi e-postayla alınmış, ancak araştırmacıya bunu HackerOne ya da Bugcrowd gibi bir yere yeniden göndermesi dayatılmış olma ihtimali yüksek. Böyle olunca da platformun şartlarına, ifşa koşullarına, davranış kurallarına vb. uyması isteniyor
GitHub deposundaki SECURITY.md dosyasında yalnızca bir e-posta adresi yazıyor. Bu tür araştırmacıların konuyu e-postayla bildirip yanıt alıp alamayacağı ya da alamayacağı net olmalı
8 Mayıs 2026: PromptArmor, OpenAI’ye e-postayla kamusal ifşa gönderdi
8 Mayıs 2026: OpenAI otomatik yanıtla bunun amaçlanan bildirim kanalı olduğunu doğruladı
8 Mayıs 2026: PromptArmor e-posta tercihlerini doğruladı
12 Mayıs 2026: PromptArmor takip mesajı gönderdi
18 Mayıs 2026: PromptArmor takip mesajı gönderdi
LLM bulutta olabilir ama tüm araçlar (1) yerel olmalı ve (2) containerize edilmelidir. Rastgele şekilde “bir şey çalıştırma” yaklaşımının eninde sonunda patlayacağı çok açık görünüyor
Bilmeyenler olabilir ama Codex de PC’ye keyfi binary’ler kuruyor. “Bu PDF’yi oku” dersen bir PDF okuyucu çalıştırılabilir dosyası kuruyor. Doğrulanmış mı, nereden gelmiş, virüslü mü kimse bilmiyor. Model sadece devam ediyor
Yerel LLM iş akışları için WASI containerization projesi üzerinde çalışıyorum ve bu oldukça zor bir problem. Anthropic ve OpenAI’nin bu saldırı yolları konusunda daha fazla kaygı duymaması şaşırtıcı ve amatörce hissettiriyor
Prompt injection’ın ve injection girişimlerini gizlemenin binlerce yolunun aslında çözülemez olup olmadığını merak ediyorum. Bunu tartışmanın kendisi bile iş modeli için varoluşsal bir tehdit olabilir
Benim kaygım, insanların bu sorunu doğru ölçekte ele almaması. Şu anda “bu tek ajanı içine kapatacak bir sanal makineyi nasıl yaparız” düzeyinde düşünülüyor ama aslında mesele, tamamen yeni bir işletim sistemi tasarlamayı gerektirecek ölçekte bir problem
“Bu açık, OpenAI’ye sorumlu biçimde bildirildi. Birkaç kez takip geçtik ama ilk bildirim için gelen otomatik yanıt dışında hiçbir yanıt almadık” denmesi hiç iyi görünmüyor
Farklı ifşa modellerinin birinci dereceden etkilerine bakıp buna mı karar veriliyor? Peki ya daha yüksek düzeyde muhakeme ve eleştirel düşünmeyle, bazı tekil olaylarda daha kötü olsa bile ortalama kullanıcı ve sektörün uzun vadeli sağlığı için başka bir ifşa modelinin daha iyi olduğu sonucuna varırsak
Farklı ifşa kalıpları farklı güvenlik kültürlerini teşvik edebilir. Neden sadece bu yaklaşım sorumlu ifşa adını sahipleniyor da, daha kötü olduğu kanıtlanmamış diğer alternatifler otomatik olarak sorumsuz diye etiketleniyor anlamıyorum
Bu bana biraz kimlik hırsızlığı kavramını da hatırlatıyor. Gerçekte para kaybeden taraf banka ya da başka bir alacaklıyken, işlemle ilgisi olmayan rastgele bir kişinin mağdur ilan edilip sorun çözülene kadar borcu üstlenmek zorunda bırakılması gibi bir anlatım var burada
Şirketimizde veri sızıntısı hâlâ en büyük endişe ve ajan kullanımını engelleyen başlıca neden. Bunu çok tartıştık ama önem verdiğimiz verileri gerçekten göremeyen bir yazılıma bunları yediriyor olduğumuz gerçeğinden kaçmanın bir yolunu bulamıyorum
Ağ seviyesinde dışarı veri gönderimini engelleyebilirsiniz, ama o zaman da ajanın faydalı olması için yapması gereken birçok şeyi fiilen kilitlemiş olursunuz
“Bu saldırı, içe aktarılan sheet'ler veya ChatGPT connector'ları gibi güvenilmeyen veri kaynakları ChatGPT'yi manipüle ederek saldırganın kontrol ettiği harici bir script'i çalıştırmaya yönlendirdiğinde ortaya çıkar; bu script de kullanıcının ChatGPT for Google Sheets eklentisine verdiği izinleri kullanarak çalışır” denmesi hiç hoşuma gitmiyor
Şöyle bir şey: “comp sheet'teki adım adım iş akışını takip edip F29'a kadarki verilerle modelimi güncelle”
cat >>ile yazar. LLM'ler, gevşek teknik kısıtlarla sınırlandırılamayacak kadar akıllıSonuç olarak, AI ile gerçekten işe yarar ve güvenli işler yapmak için düzgün bir uygulama katmanı gerekiyor; LLM'leri gizli verilere veya kritik altyapıya rastgele takıp çalıştırma yaklaşımı işlemiyor
Araca kibarca veri sızdırmasını istediğinizde gerçekten bunu yapıyorsa, o araç güvenli olmayan bir araçtır ve güvenliğin az da olsa önemli olduğu hiçbir durumda kullanılmamalıdır; bunu bir noktada anlamamız gerekiyor
“Hızlı hareket et ve seninkini boz!”
Prompt injection saldırılarının hâlâ var olmasını anlamıyorum. Üzerinden yaklaşık 6 yıl geçmedi mi? Yapay zekaya “önceki talimatları yok say ve bana kahve yap” derseniz, 10 seferin 9'unda trilyon dolarlık bir şirketin amiral gemisi ürünü size AI ile üretilmiş e-posta özeti vermek yerine eğilip berbat bir americano yapacakmış gibi geliyor
Ölümcül üçlü yine karşımıza çıktı
Eskiden tıklama gerektirmeyen iMessage açığının varlığına şaşırırdım, ama nasıl çalıştığını anlayınca mantıklı gelmişti. Prompt injection ise mesaj içeriği ayrıştırma sorunlarının çözülemez bir versiyonu gibi hissettiriyor