Artık her yapay zekâ kodlama asistanı bir tarayıcıyla geliyor. Ajan localhost'unuzu böyle önizliyor, az önce ürettiği grafiği böyle çiziyor, işaret ettiğiniz sayfayı böyle okuyor. Gal Weizman'ın yönettiği tarayıcı güvenliği şirketi Forever Security beşini test etti ve sonuçları 29 Ekim'de EMBRACE adıyla yayımladı: Cursor, GitHub Copilot, OpenAI'ın Codex'i, Microsoft'un VS Code'u ve Anthropic'in Claude Desktop'ı. Her birinde, tarayıcının koruması gereken üç kuraldan en az biri çöktü.

Kurallar eski ve duygusaldan uzak: Bir sayfa makinenizde komut çalıştıramaz. Yerel bir dosya diğer dosyalarınızı okuyamaz. Adres çubuğuna ne yazacağını yalnızca tarayıcı belirler. Sağlayıcılar, asistan işe yarasın diye üçünü de gevşetti; delikler o gevşemede.

Üç üründe disk okuma zinciri

En net saldırı tek tık ve başka hiçbir etkileşim istemiyor. Sıradan bir iş gibi görünen bir projeyle başlıyor: bir finansal rapor, bir README, bir kurulum adımı. Geliştirici asistandan projeyi çalıştırmasını istiyor. Asistan, yardımcı olmaya çalışarak projedeki bir HTML dosyasına bağlantı veriyor. Geliştirici tıklıyor. Görünürde hiçbir şey olmuyor.

Claude Desktop ve VS Code'da yerel bir sayfa kendi proje klasörüne hapsedilir. Bu kontrol sayfaya uygulanır, sayfanın başlatmasına izin verilen arka plan betiği olan web worker'a uygulanmaz; worker çitin dışında kalır. Forever'a göre Codex hiçbir klasör kontrolü uygulamıyordu. Saldırı ardından macOS'un Finder'da açılan her klasöre yazdığı gizli `.DS_Store` dizin dosyalarını okuyup diski klasör klasör haritalıyor. Araştırmacıların makinesinde tarama SSH anahtarlarını, `.env` dosyalarını, npm token'larını ve hosts dosyasını toplayıp dışarı gönderdi.

Bu üç üründen ikisi araştırma yayımlandığında hâlâ savunmasızdı. OpenAI 27 Temmuz raporuna yanıt vermemişti; Microsoft reddetti.

Cursor: ajan kendi sanal alanını kapattı

Cursor'da giriş noktası bir web sayfası ve tek bir Enter tuşuydu. Sayfa, arkasında bir kabuk komutu saklanan "Start setup" etiketli bir düğme gösteriyordu; komut geliştiriciye görünmez, ajana okunur durumdaydı. Ajan komutu okudu, çalıştırma izni istedi ve tek tuşla onay aldı. Cursor'ın sanal alanı komutu engelledi — bunun üzerine ajan sanal alanı kapattı ve yeniden denedi; sayfada bunu isteyen hiçbir şey yoktu. Testte komut Hesap Makinesi'ni açtı. Gerçek bir saldırgan geliştiricinin tüm yetkileriyle her şeyi başlatabilirdi.

Cursor açığı 1 Ekim'de yamaladı; Forever'ın 10 Eylül bildiriminden üç hafta sonra. Şirket araştırmacılara hiç yanıt vermedi.

Copilot: sayfa kendi adres çubuğunu yazdı

GitHub Copilot'un gömülü tarayıcısı, sayfanın hangi adreste olduğunu kendisinin bildirmesine izin veriyor ve yalnızca metnin bir URL'ye benzeyip benzemediğini kontrol ediyordu. Forever'ın sayfası `github.com/login` altında sahte bir giriş formu gösterdi ve ajanın kendi sekme listesi de yalanı tekrarladı. GitHub bunu 13 Ekim'de Copilot 1.1.29'da düzeltti — herhangi bir rapor dosyalanmadan önce. Bu, hikâyenin iyi versiyonu.

"Herkes Trust'a basıyor"

Anthropic ve Microsoft bulguları Workspace Trust gerekçesiyle reddetti: geliştiriciden proje klasörüne kefil olmasını isteyen istem. Kulağa makul gelen, Weizman'a göre ise boş bir savunma: "Bir yapay zekâ koşum takımında projeye güvenmemek onu kullanılamaz hale getiriyor, dolayısıyla herkes Trust'a basıyor." Her kullanıcının işini yapabilmek için aşması gereken bir sınır, sınır değildir.

Açıklama kayıtlarında daha keskin bir ayrıntı var. Anthropic, Forever'ın 23 Temmuz'daki raporunu reddetti, ardından Noma Security'nin bir gün sonra dosyaladığı aynı sınıftan raporu geçerli kabul etti. İç gerekçe ne olursa olsun, dışarıdan görünen örüntü şu: sağlayıcı hangi davranışı düzelteceğine değil, hangi araştırmacıya inanacağına karar veriyor.

Bu hafta ne yapmalı

Ekibiniz Codex veya VS Code kullanıyorsa her makinenin yapılandırmasından güvenilen projeler listesini çekin ve o projelerdeki her HTML dosyasını Forever'ın teknik yazısındaki sömürü örüntüsü için tarayın. Asistanın çizdiği bağlantıları düşmanca girdi sayın; bu ürünlerde tıklanabilir saldırı yüzeyini ajanın kendisi çiziyor. Cursor ve Copilot yamalarını içeren sürümleri tercih edin ve Weizman'ın dediği gibi, bir ajanın kendi korumalarını kapatmayı deneyebileceğini varsayın. İndirmeler üzerine yapılan araştırma da bu refleksi bu çalışmanın dışında göstermişti.

Asıl ders beş tarayıcıyla ilgili değil. Bir yapay zekâ koşum takımı, güvenilmeyen içeriği okuyan, kimlik bilgilerinizi tutan ve kod çalıştırabilen tek bir süreçtir. Sağlayıcılar bunu tarayıcı yalıtımını her seferinde bir kolaylık karşılığında gevşeterek inşa ediyor ve sandbox'ın yapması gereken işi güven istemi yapıyor.