Güvenlik Araştırmacısının Kritik Bulgusu
Koi Security’nin bir güvenlik araştırmacısı, günümüzün yapay zeka kodlama araçlarını çalıştıran altyapı içerisinde derinlere gömülmüş kritik bir sıfır gün zafiyeti keşfetti. Eğer bu zafiyet kötüye kullanılmış olsaydı, basit bir saldırgan, tek bir hamleyle 10 milyonun üzerinde makineyi ele geçirebilirdi.
Son yıllarda popülaritesi hızla artan yapay zeka kodlama yardımcıları, dünya çapında geliştiricilere hızlandırılmış verimlilik vaadinde bulunuyor. Ancak bu zeka dolu asistanların arkasında yatan sistemin temeli, topluluk tarafından oluşturulmuş VS Code çatalları ve uzantılarla dolu açık pazar yeridir. Ancak bu yeni gelişmeler, birçok tehlikeli kör nokta da beraberinde getiriyor.
Olay, VSXPloit olarak adlandırılan bir zafiyetle başlıyor. OpenVSX’te bulunan tek bir gözden kaçmış hata, VS Code çatallarını çalıştıran herhangi bir makinede sessiz bir sistem ele geçirme imkanı sağlıyordu. Bir hata. Toplam kontrol.
Yapay Zeka Destekli Editörler ve Uzantılar
Günümüzün yapay zeka destekli editörleri, en temel işlevselliklerini sağlamak için uzantılara büyük ölçüde bağımlıdır. Söz dizimi renklendirme, hata ayıklama ve kod analizi gibi özellikler, editöre gömülü olmaktan çok, uzantılar aracılığıyla sağlanmaktadır.
Bu uzantıların her biri, geliştiricinin makinesinde tam yetkilerle çalışır. Bu durumda, tek bir zarar görmüş uzantı, onu kuran herkesin makinesinin tamamını ele geçirme riski taşır.
Koi Security’den Oren Yomtov, bu tam korku senaryosuyla karşılaştı. Yomtom, OpenVSX’in arka planında yürütülen yapı süreçlerini incelerken kritik bir zafiyet keşfetti. Bu zafiyet, yalnızca tek bir uzantının kontrolünü değil, aynı zamanda tedarik zinciri felaketi yaratarak tüm pazar yeri üzerinde tam kontrol sağlamaktadır.
Zafiyetin Çalışma Şekli
Zafiyetin nasıl çalıştığını anlamak için ilk önce uzantıların OpenVSX’e nasıl girdiğini bilmek gerek. Bir uzantı yüklemek için iki seçenek vardır:
- Uzantıyı kendiniz yüklemek
- Uzantının otomatik bir şekilde yayımlanması için, uzantıyı extensions.json dosyasına ekleyerek bir pull request oluşturmak.
Yomtov, “Gece yapısı işte burada sorun yaratıyor” diyor. Her gece, OpenVSX, topluluk tarafından sunulan uzantıların en son sürümlerini alıp derleyerek piyasaya sürmektedir. Bu, geliştiricilerin işini kolaylaştırmak amacıyla tasarlanmış, ancak bu durumda kritik bir zafiyet oluşturmuş.
Otomatik olarak yüklenen bir uzantı için, geliştiricinin yapması gereken tek şey basit bir pull request sunmaktır. OpenVSX bu noktadan itibaren devreye girmekte ve uzantının kodunu çekip, bağımlılıkları yükleyip, uzantıyı güçlü bir gizli belirteçle yayınlamaktadır.
Bu belirteçin gizli kalması gerekiyordu; ancak, yapı sürecinin kamuya açık depolarından rastgele kod çalıştırması nedeniyle, herhangi bir uzantı yazarı kötü niyetli bir güncelleme hazırlayarak bu belirteci sessizce ele geçirebilirdi.
Tedarik Zinciri Kâbusu
@open-vsx hesabının belirtecine erişimle birlikte, bir saldırgan dünya çapında bir tedarik zinciri kâbusu yaratabilirdi. Yomtov, “Bu belirteç bir süper yönetici kimliği” diyor. “Yeni uzantılar yayınlayabilir, mevcut olanları geçersiz kılabilir ve ekosistemdeki herhangi bir yayımlayıcıyı taklit edebilir.”
Bu noktadan itibaren zarar görmek oldukça kolaydı. Her geliştirici bir uzantı kurduğunda veya editörü otomatik olarak güncellediğinde, saldırganın yüklemesi sessiz bir şekilde onların makinesine teslim olurdu. Herhangi bir uyarı, bildirim veya şüpheye yer yoktu. Tam kontrol.
Bu yükleme ne yapabilir? Yomtov, “Neredeyse her şeyi” diyor. VS Code ve çatallarındaki uzantılar Node.js süreçleri olarak çalışır ve dosyalara erişebilir, diğer programları başlatabilir, ağ istekleri yapabilir ve istedikleri gibi kod çalıştırabilir.
Örneğin, popüler bir uzantı olan Python eklentisine zararlı bir güncelleme eklemek, sessiz bir klavye kaydedici yüklemek, tarayıcı çerezlerini çalmak, kaynak kodunu almak veya tüm geliştirme süreçlerine arka kapı açmak gibi çeşitli olumsuz etkilere yol açabilirdi.
Ne Yapabilirsiniz?
Yomtov’a göre, kullanıcılar ve organizasyonlar bu olaydan ne ders çıkarmalı? Verdiği yanıt net: “Her uzantının, kanıtlanana kadar güvensiz olduğunu varsayın.”
Uzantılar masum eklentiler gibi görünebilir, ancak arka planda, genellikle bireyler tarafından yazılmış, tam izinlerle çalışan güçlü yazılım parçalarıdır.
Kendimizi korumak için, Yomtov, organizasyonların uzantıları saldırı yüzeyinin bir parçası olarak görmesi ve herhangi diğer bağımlılıklarına uyguladıkları disiplini aynı şekilde uygulamasını önermektedir. Bu, yüklü olanların gerçek bir envanterinin tutulması, risk değerlendirmesi yapılması ve net politikaların uygulanmasını içermektedir.
Koi’nin araştırma ekibi, yalnızca OpenVSX değil, Microsoft’un pazarında ve diğer uzantı pazarlarında da hem savunmasız hem de etkin kötü niyetli uzantıları bulmaya devam etmektedir.
Yomtov ve Koi Security ekibi, zafiyeti Eclipse Foundation’a duyurarak sorunun tasarlandığı gibi kapatılması için haftalarca birlikte çalıştı. Bu iş birliği sayesinde zafiyet kapatıldı ve pazar yeri, günlük olarak ona güvenen milyonlarca geliştirici için bir kez daha güvenli hale geldi.
Bu olay, güvenilir altyapıların bile sürekli gözden geçirilmesi gerektiğini hatırlatmaktadır.


