GhostApproval Açığı: Yapay Zeka Kodlama Asistanlarına Sızma Yöntemi Linux

GhostApproval Açığı: Yapay Zeka Kodlama Asistanlarına Sızma Yöntemi

GhostApproval açığı, AI kodlama asistanlarının sembolik bağlantıları kontrol etmemesi nedeniyle, kötü niyetli depoların geliştirici sistemlerine sızma

Wiz araştırmacıları, altı popüler yapay zeka kodlama asistanında kritik bir güvenlik açığı keşfetti. GhostApproval adı verilen bu açık, kötü niyetli bir kod deposunun, geliştiricinin bilgisayarını sessizce ele geçirmesine olanak tanıyor. Saldırı, asistanın masum görünen bir dosyayı düzenleme izni istemesiyle başlıyor, ancak yazma işlemi aslında hassas bir dosyaya yönlendiriliyor. Etkilenen araçlar arasında Amazon Q Developer, Anthropic Claude Code, Augment, Cursor, Google Antigravity ve Windsurf bulunuyor.

Saldırı, Unix sistemlerinde uzun süredir var olan sembolik bağlantı (symlink) özelliğini kötüye kullanıyor. Wiz, kötü niyetli bir depo oluşturarak, proje_settings.json adında bir sembolik bağlantıyı kurbanın ~/.ssh/authorized_keys dosyasına yönlendirdi. Depodaki README dosyası, asistana 'proje_settings.json'a bir satır eklemesini' söylüyor ve bu satır aslında saldırganın SSH anahtarı oluyor. Asistan 'çalışma alanını kur' komutunu aldığında, anahtarı doğrudan sembolik bağlantı üzerinden yetkilendirilmiş anahtarlar dosyasına yazıyor. Eğer makinede SSH hizmeti çalışıyorsa, saldırgan şifresiz giriş yapabiliyor.

Daha da tehlikeli bir varyantta, saldırı ~/.zshrc gibi kabuk başlangıç dosyalarını hedef alıyor. Bu dosya, terminal her açıldığında çalıştırıldığı için SSH'ye gerek kalmadan kalıcı erişim sağlanıyor. Wiz, bu saldırıların henüz gerçek dünyada kullanılmadığını, sadece araştırma amaçlı olduğunu belirtiyor. Asıl sorun, onay kutusunun (approval box) yanlış bilgi göstermesi. Örneğin, Claude Code testinde asistan kendi mantığında hedef dosyayı 'aslında bir zsh yapılandırma dosyası' olarak tanımlamasına rağmen, geliştiriciye gösterilen onay kutusunda sadece masum dosya adı yer alıyor.

Bazı araçlar durumu daha da kötüleştiriyor. Windsurf, dosyayı onay butonları görünmeden önce diske yazıyor, bu nedenle onay sadece bir geri alma butonu işlevi görüyor. Augment ise hiçbir diyalog göstermiyor; Wiz, bu aracın proje dışındaki AWS kimlik bilgisi dosyasını sessizce okuduğunu kanıtladı. Altı satıcıdan üçü (Amazon Q Developer, Cursor, Google Antigravity) güncelleme yayınladı. Augment ve Windsurf henüz düzeltme sunmadı. Anthropic ise bu durumu bir hata olarak kabul etmiyor; Claude Code'un sembolik bağlantı uyarısının rutin bir iyileştirme olduğunu savunuyor.

Anthropic'in duruşu önemli bir soruyu gündeme getiriyor: Bir kodlama asistanı, kötü niyetli bir depoya zaten güvenmiş bir geliştiriciyi ne kadar korumalı? Wiz, kullanıcılara sınırlı dosya erişimiyle çalıştırma, kum havuzu veya konteyner kullanma, depo README ve gizli dosyalarını önceden inceleme önerilerinde bulunuyor. Ayrıca, işlem sonrası kabuk başlangıç dosyaları, SSH anahtarları ve AI aracı yapılandırmalarının zaman damgalarının kontrol edilmesini tavsiye ediyor.

Gelecekte Ne Bekleniyor?

Wiz'in araç geliştiricilerine tavsiyesi kısa: Sembolik bağlantıyı çözümleyin ve gerçek hedefi gösterin, proje klasörü dışındaki yazmaları işaretleyin ve kullanıcı onaylayana kadar diske dokunmayın. Mayıs ayında Adversa AI, altı kodlama asistanına karşı aynı sembolik bağlantı ve onay modelini kullanan SymJack saldırısını yayınlamıştı. İki bağımsız ekibin aynı zayıflığı bulması, bunun tek bir satıcının hatası değil, ortak bir tasarım kusuru olduğunu gösteriyor.

Bu güvenlik açığı, AI kodlama asistanlarının güvendiği dosyaların artık sadece kod olmadığını ortaya koyuyor. Bu araçlar için dosyalar, asistanın takip ettiği talimatlar ve üzerinde işlem yaptığı yollar olarak çifte işlev görüyor. AWS'nin bülteni ayrıca, Amazon Q Developer için ayrı bir açık olan CVE-2026-12957'yi de kapsıyor; bu açıkta zehirli bir depo, yapılandırma dosyasını otomatik olarak yükleyebiliyor. Geliştiricilerin, bu tür saldırılara karşı dikkatli olmaları ve araçlarını güncel tutmaları kritik önem taşıyor.

Kaynak: thehackernews.com

Paylaş: