Yapay Zeka ve Makine Öğrenimi, Yeni Nesil Teknolojiler ve Güvenli Geliştirme
Araştırmacı, Kamuflaj Görüntüleri Aracılığıyla Sırları Sızdırabilecek Bir Hata Bulundu
Rashmi Ramesh (raşmiramesh_) •
9 Ekim 2025

GitHub Copilot Chat’te artık yamalanan bir kusur, saldırganların yapay zeka asistanının yanıtlarını ele geçiren gizli istemler yerleştirerek kaynak kodunu ve sırları çalmasına olanak tanımış olabilir. Bu istismar aynı zamanda çalınan verileri sızdırmak için veri deposu platformunun görüntü proxy’sini de kullandı.
Ayrıca bakınız: İsteğe Bağlı | Yapay zeka destekli siber saldırı tehdidini ortadan kaldırın
Legit Security araştırmacısı Ömer Mayraz tarafından keşfedilen güvenlik açığı, uzaktan komut eklemeyi GitHub’un içerik güvenliği politikasının yaratıcı bir şekilde atlanmasıyla birleştirdi. Özel verileri depolardan çıkarmak için platformun görüntü proxy hizmeti olan Cam’ı kullandı.
GitHub Copilot Chat, GitHub’da yerleşik olarak bulunan ve geliştiricilere soruları yanıtlayarak, kodu açıklayarak ve doğrudan iş akışlarında uygulamalar önererek yardımcı olan bir yapay zeka asistanıdır.
Kusur iki sorunu birleştirdi: gizli çekme isteği yorumları ve Copilot’un okuduğu diğer içeriklerin düzgün şekilde izole edilmemesi veya doğrulanmaması. Diğeri ise GitHub’ın görüntü proxy’sinin harici görüntüleri işleme biçiminin kötüye kullanılabilmesiydi. İmzalı görüntü bağlantıları hazırlayıp Copilot’un bunları birleştirmesini sağlayarak araştırmacı, bir güvenlik özelliğini veri çalmak için bir kanala dönüştürmeyi başardı.
Araştırmacı, sorunu HackerOne aracılığıyla bildirdiğini söyledi. GitHub, Copilot Chat’te görüntü oluşturmayı devre dışı bırakarak yanıt verdi ve güvenlik açığının 14 Ağustos itibarıyla giderildiğini söyledi.
Copilot Chat’in kullanışlılığı bağlam farkındalığından kaynaklanmaktadır. Cevapları geliştiricinin koduna göre uyarlayabilmek için depo dosyalarını, çekme isteklerini ve diğer çalışma alanı yapıtlarını okur. Araştırmacı, bir çekme isteği açıklamasının içine bir istemi gizleyerek Copilot’un enjekte edilen bir talimatı “fark etmesini” sağladı. GitHub, yorumlara yönelik resmi bir özellik aracılığıyla gizli içeriği destekler. Araştırmacı istemi gizli bir yoruma taşıdığında asistan yine de onu aldı. Enjekte edilen talimat, çekme isteği sayfasını ziyaret eden diğer kullanıcıları etkileyerek, gizli istemlerin aynı bağlamı yükleyen herkesin Copilot yanıtlarını etkileyebileceğini gösterdi.
Legit Security’nin CTO’su ve kurucu ortağı Liav Caspi, “Araştırmamız, gezegendeki herhangi bir geliştiricinin açık kaynaklı projelere karşı kullanabileceği bir arayüz olan çekme isteği yorumlarıyla sınırlıydı” dedi. “Gizli istemlerin yerleştirilebileceği başka yerler de olabilir, ancak saldırı zinciri anonim bir aktör için çok daha zor olacaktır.”
Copilot gizli talimatı okuduktan sonra saldırgan, mesajları görüntülemesini, sahte kod önermesini veya yanıtlarına bağlantılar ve resimler eklemesini sağlayabilir. Copilot, onu çalıştıran kullanıcıyla aynı erişime sahip olduğundan, gizli komutlar ona hassas bilgiler için özel kodda arama yapmasını, bu verileri okunabilir metne dönüştürmesini ve yanıtlarına dahil etmesini söyleyebilir.
GitHub genellikle web sayfalarının bilinmeyen sitelerden görseller yüklemesini engeller ve harici görselleri kendi proxy’si Camo aracılığıyla yönlendirir. Bir kullanıcı harici bir görüntü eklediğinde GitHub, bağlantıyı kriptografik imzalı bir camo.githubusercontent.com adresine dönüştürerek yalnızca imzalı bağlantılara erişilmesine izin verir. Bu kurulum, yabancıların tarayıcıyı kandırarak saldırganın kontrol ettiği içeriği doğrudan kullanıcının oturumundan almasını engeller.
Araştırmacı, harfler ve semboller için önceden onaylanmış görsel bağlantıları oluşturarak GitHub’un görsel korumalarını aşmanın bir yolunu buldu. Copilot’u, metni hecelemek için bu görüntüleri bir bulmacanın parçaları gibi kullanması konusunda eğitti. Her görüntü araştırmacının sunucusuna bağlanıyordu, dolayısıyla GitHub’un proxy’si görüntüleri yüklediğinde, bunların içinde gizlenmiş kodlanmış verileri de gönderiyordu.
Benzer görsel proxy’lerin başka yerlerde kötüye kullanılıp kullanılamayacağı sorulduğunda Caspi, “Teknik olarak evet” dedi. “Bulunan kavram, yapay zekanın görselleri indirmesini sağlayarak ve indirme isteklerindeki mesajı kodlayarak veri çalma yeteneğidir. Diğer yapay zeka sistemlerini de benzer şekilde manipüle etmek mümkündür; aracıdan, hassas verileri bir tehdit aktörüne sızdırabilecek, hassas girdi üzerinde görünüşte masum bir dizi görev gerçekleştirmesini istemek mümkündür.”
Araştırmacı, verileri gerçekten çalmak için özel kod parçalarını basit bir metin formatına dönüştürdü ve bunları önceden onaylanmış resim bağlantılarına ekledi. Ayrıca önbelleğe almayı önlemek için rastgele sayılar ekledi. Onların tarafında, temel bir web sunucusu tek tek görünmez piksel görüntülerine geri gönderildi, böylece kullanıcının sohbetinde hiçbir şey görünmedi. GitHub’un proxy’si görüntüleri getirirken, olağan tarayıcı güvenlik kurallarını atlayarak kodlanmış verileri taşıyordu.
Araştırmacı, yöntemin belirli sırları (örneğin jeton) bulabileceğini kanıtladı. AWS_KEY
ve bunları özel depolardan gönderin. Saldırı aynı zamanda Copilot’u diğer kullanıcılar için manipüle ederek biçimlendirilmiş metin, kod ve yasal görünen bağlantıları gösterebilir.
Caspi, “GitHub tarafından yama yapılmamış olsaydı, bu manipülasyonun bir tehdit aktörü tarafından yakalanmadan gerçekleştirilmesi çok muhtemeldir” dedi. “Tek uyarı, gizli bir token veya güvenlik sorunu gibi küçük bir veri parçasını çalmak için kullanılabileceği, ancak büyük ölçekli kod hırsızlığı için kullanılamayacağıdır.”
Caspi, Copilot kullanıcılarının, göndermeden önce verileri gözden geçirmek ve hassas dosyalara erişimi engelleyen uygun dosyaları ‘yok saymak’ gibi yapılandırmaları bir araya getirmek gibi temel sağlamlaştırma adımlarını gerçekleştirebileceğini söyledi. Ancak anında enjeksiyona karşı korumanın zor olduğunu ve sonunda yapay zeka sisteminin üçüncü bir tarafa hassas bilgi gönderip göndermediğini yalnızca ağ izlemenin öğrenebileceğini ekledi.