İçeriğe geç
SON HABERLER
Teknoloji

Yapay zekânın yazdığı kod “kum havuzundan” kaçtı: Prefab UI’daki 10 üzerinden 10 puanlık açık, MCP sunucularında dosya okuma ve yazmaya izin veriyordu

JFrog araştırmacıları, PrefectHQ’nun üretken arayüz kütüphanesi Prefab UI’da, yapay zekânın yazdığı Python kodunu çalıştıran kum havuzunun sunucudaki dosyalara erişebildiğini gösterdi. CVSS 10.0 puan alan açık, 0.21.0 sürümüyle kapatıldı; FastMCP kullananların sürümlerini kontrol etmesi öneriliyor.

2 Kasım 2026
4 dk okuma
Yapay zekânın yazdığı kod “kum havuzundan” kaçtı: Prefab UI’daki 10 üzerinden 10 puanlık açık, MCP sunucularında dosya okuma ve yazmaya izin veriyordu

Yapay zekâ ajanlarının en çok konuşulan yeteneklerinden biri, ihtiyaç duyduğu kodu kendisinin yazıp çalıştırabilmesi. Bu kodların güvenle çalışması için de genellikle “kum havuzu” (sandbox) denen yalıtılmış ortamlar kullanılıyor. JFrog Security Research ekibinin 1 Kasım 2026’da duyurduğu yeni açık, bu güvenlik duvarlarından birinin kâğıt üzerinde göründüğü kadar sağlam olmadığını ortaya koydu.

Açık, PrefectHQ’nun geliştirdiği üretken arayüz (Generative UI) kütüphanesi Prefab UI’da bulundu ve CVE-2026-120338 koduyla kayda geçti. GitHub güvenlik bildirimi açığa en yüksek önem derecesi olan CVSS 10.0 puanını verdi. Prefab UI’ın 0.14.0 ile 0.20.2 arasındaki sürümleri etkileniyor; düzeltme ise 26 Ekim’de yayımlanan 0.21.0 sürümüyle geldi.

Kum havuzu nasıl delindi?

Prefab UI’ın Generative UI özelliği, dışarıdan gönderilen Python kodunu Python’un WebAssembly sürümü olan Pyodide içinde, onu da ayrı bir Deno alt sürecinde çalıştırıyor. İki katmanlı bu tasarım ilk bakışta iyi yalıtılmış görünüyor. JFrog’a göre ise iki uygulama tercihi her iki katmanı da işlevsiz bıraktı.

Birincisi, Deno süreci dosya okuma, dosya yazma ve ağ erişimi için sınırsız izinlerle başlatılıyordu. İkincisi, çalıştırıcı Deno’nun programlama arayüzünü JavaScript’in genel nesnesinde açık bırakıyordu. Pyodide bu nesneye köprü kurabildiği için kum havuzundaki Python kodu, doğrudan sunucudaki dosyaları okuyan ve yazan Deno işlevlerini çağırabiliyordu. JFrog, kodun içindeki açıklamaların ve resmi belgelerin bu alt süreci “salt okunur” olarak tanımladığını, ancak gerçekte böyle olmadığını da not ediyor.

Dosya yazmaktan kod çalıştırmaya

Araştırmacılar, yalnızca dosya yazabilmenin bile tam kontrol için yeterli olduğunu gösterdi. JFrog, 0.20.2 sürümünde sunucunun Python ortamına özel bir .pth dosyası yerleştirdi. Python, bu tür dosyalardaki içe aktarma satırlarını ortamda her yorumlayıcı başladığında otomatik olarak çalıştırıyor. Böylece tek bir yazılan dosya, kum havuzunun dışında kalıcı kod çalıştırmaya dönüştü.

Kimler risk altında?

En yaygın uzaktan saldırı yolu, yapay zekâ araçlarını birbirine bağlayan MCP sunucuları geliştirmek için kullanılan FastMCP kütüphanesindeki GenerativeUI sağlayıcısı. Bu sağlayıcı tek satırla etkinleştiriliyor ve Python kodu kabul eden bir araç sunuyor. JFrog, bu araca gelen kodun ek bir denetim olmadan doğrudan kum havuzuna aktarıldığını tespit etti.

10.0 puanı, FastMCP’nin varsayılan ayarı olan kimlik doğrulamasız ve ağdan erişilebilir sunucuları varsayıyor. Kimlik doğrulama açık olsa bile JFrog açığa 9.9 puan veriyor; çünkü araç çağırmasına izin verilen her istemci hataya ulaşabiliyor. Bir de dolaylı yol var: Araç, modelin yazdığı kodu çalıştırdığı için bir belgeye ya da web sayfasına gizlenmiş bir istem enjeksiyonu, güvenilir bir istemciyi zararlı Python kodu göndermeye yönlendirebilir.

Riski sınırlayan iki koşul bulunuyor: Generative UI isteğe bağlı bir özellik ve sunucuda Deno’nun kurulu olması gerekiyor. Ancak FastMCP belgelerine göre Deno ilk kullanımda otomatik olarak kuruluyor. Ayrıca FastMCP’nin uygulama eklentileri paketi Prefab UI’ı da beraberinde getirdiği için, kimse adını anmadan savunmasız paket bir projeye girmiş olabilir. GitHub bildirimi ve CVE kaydı, açığın gerçek saldırılarda kullanıldığına dair bir bilgi içermiyor.

0.21 sürümü neyi değiştirdi?

Düzeltmenin özü, açılış sırasında gereken izinlerin, üretilen kod çalışmadan önce geri alınması. JFrog’un aktardığına göre çalıştırıcı, gerekli dosyaları yükledikten sonra Deno’nun okuma, yazma ve ağ izinlerini kaldırıyor; Deno artık sonradan izin isteyemeyecek şekilde başlatılıyor ve açılış sırasındaki ağ erişimi tek bir içerik dağıtım adresiyle sınırlanıyor. JFrog, okuma ve yazma denemelerinin 0.21.0 ve sonrasında izin hatasıyla başarısız olduğunu bildiriyor.

Yöneticilerin yapması gerekenler

  • Her ortamda kurulu Prefab UI sürümünü kontrol edin ve en az 0.21.0 sürümüne yükseltin.
  • Kod tabanında GenerativeUI kayıtlarını arayın; özelliği kullanmıyorsanız kapatın.
  • Daha önce açıkta kalmış bir sunucuda, Python ortamındaki .pth dosyalarında beklenmedik içe aktarma satırları olup olmadığına bakın; yükseltme, önceden yazılmış bir dosyayı silmiyor.
  • Hemen yükseltme mümkün değilse JFrog’un tavsiyesi net: Güvenilmeyen istemcilerin erişebildiği bir sunucuda GenerativeUI’ı etkinleştirmeyin.

Neden önemli?

Bu açık, iyi niyetle tasarlanmış bir yalıtımın bile tek bir yapılandırma hatasıyla çökebileceğini gösteriyor. Yapay zekâ ajanları ve MCP sunucuları yaygınlaştıkça, modelin yazdığı kodu çalıştıran kum havuzları da birincil güvenlik sınırı hâline geliyor. Araştırmacıların vurguladığı ders basit: “Kum havuzu” bir iddiadır ve test edilmelidir. Dizinin dışını okumaya, dosya yazmaya ve dışarıya bağlantı açmaya çalışan kodlar çalıştırıp gerçekten neyin engellendiğine bakmak gerekir.

Kaynak: JFrog Security Research, PrefectHQ, FastMCP belgeleri

Kaynak

JFrog Security Research, PrefectHQ, FastMCP

D.A.N.G.+ Kontrolü geri al. kafandang.com
D.A.N.G.+ Kontrolü geri al. kafandang.com

AI bültenine katılın

Her hafta AI dünyasından en önemli haberler, yeni araçlar ve eğitim fırsatları e-posta kutunuza gelsin.

E-posta adresiniz, 6698 sayılı KVKK kapsamında yalnızca bülten gönderimi amacıyla işlenecektir. Ayrıntılı bilgi için KVKK Aydınlatma Metni sayfamızı inceleyebilirsiniz.

Spam göndermeyiz
İstediğinizde ayrılabilirsiniz