DeepSeek Harness açığı, yapay zekâ ajanının sanal alanını tek komutla kapattı

Anasayfa » DeepSeek Harness açığı, yapay zekâ ajanının sanal alanını tek komutla kapattı
DeepSeek Harness açığı, yapay zekâ ajanının sanal alanını tek komutla kapattı

DeepSeek’in kod yazan yapay zekâ ajanlarını çalıştırmak için sunduğu açık kaynaklı araç DeepSeek Harness, yerel kurulumda sandbox içindeki bir ajanı tek komutla kendi kısıtlamalarını kapatabilecek bir hataya sahipti. Açık, ajanların untrusted dosyalarla çalışırken çalışma alanı dışına yazmasını engelleyen dosya sandbox’ını devre dışı bırakabiliyordu.

OX Research tarafından bildirilen ve CVE-2026-82533 numarasıyla izlenen sorun, 27 Ağustos’ta düzeltilene kadar varsayılan kurulumlarda çalışıyordu. VulnCheck, kaydı 8 Eylül’de yayımladı ve açığa 10 üzerinden 9,4 puan verdi. İlgili sürüm 0.1.1-rc.2 ve öncesiydi.

DeepSeek Harness, bir geliştiricinin makinesinde çalışan ajanların komutlarını işletim sistemi sandbox’ı içinde tutmak için tasarlanıyor. Normalde bu katman, ajanın kendisine verilen güvenilmeyen dosyalar üzerinden işletim sistemi üzerinde serbestçe değişiklik yapmasını engelliyor. Ancak araştırmacıların anlattığı zincirde ajan, aynı makinede çalışan aracın yerel web arayüzüne ulaşarak oturumunu danger-full-access moduna çekebildi. Bu mod sandbox’ı kapatıyor ve onay istemlerini de devre dışı bırakıyor.

Teknik ayrıntı basit bir kurulum hatasına dayanıyordu. Araç, kendi komut satırı referansına göre varsayılan ayarda yazmaları çalışma alanı ve geçici klasörlerle sınırlandırıyor, fakat okuma ve ağ erişimini sınırlandırmıyordu. Böylece sandbox içindeki ajan, aracın kendi arayüzünü görebiliyor; üstelik komut satırı, arayüzün adresi ile mevcut oturum kimliğini doğrudan ajan kabuğuna aktarıyordu. Yani ajan, bu bilgileri aramak zorunda kalmıyordu.

OX Research, kaçışın gerçekten sandbox aktifken gerçekleştiğini doğrulamak için aynı varsayılan ayarla iki ayrı oturum açtığını ve ikisine de aynı komutu verdiğini aktardı. Arayüzle konuşan oturum, çalışma alanının dışındaki bir klasöre yazı yazabildi; diğer oturum ise bloke edildi. Araştırmacıların ifadesine göre, tek bir shell komutu yeterli oldu. Bu komut yerel arayüzü çağırdı ve oturumun modunu danger-full-access olarak değiştirdi.

Kimlik doğrulaması olmayan yerel arayüz ana zincirin parçasıydı

Açığın merkezinde, yerel arayüzün kimlik kontrolü yapmaması vardı. Etkilenen sürümde, bir isteğin arayüze ulaşıp ulaşamayacağını belirleyen kontrol Host başlığını okuyordu ve bağlantının gerçekten nereden geldiğine bakmıyordu. Dosyadaki yorumda bu mekanizmanın bir kimlik doğrulama katmanı olmadığı açıkça yazıyordu.

Bu tasarım, dışarıdaki bir makinenin kendisini yerel gibi göstermesine kapı açıyordu. DeepSeek Harness’in komut satırı, arayüzü tüm ağ arabirimlerinde dinlemeye de izin vermediği için dışarıdan erişim ancak kullanıcı portu bir tünel, SSH yönlendirmesi ya da bir editör üzerinden ilettiğinde mümkün hale geliyordu. Ancak arayüz bir kez erişilebilir olduğunda, aynı mekanizma oturum ayarını değiştirmek ve ajanı sandbox dışına çıkarmak için kullanılabiliyordu.

Aynı arayüz, bir oturumun tam günlük kaydını indiren isteği de servis ediyordu. VulnCheck’in yayımladığı uyarıda, arayüze ulaşabilen bir istemcinin herhangi bir anahtar olmadan saklanan tüm konuşmaları çekebileceği belirtildi. Yani risk, yalnızca dosya yazma sınırının aşılmasıyla sınırlı kalmıyordu; oturum kayıtları da erişime açılıyordu.

Etkilenen sürümler 0.1.1-rc.2 ve öncesi olarak listelendi. Kayıt, düzeltilmiş sürüm olarak 0.1.2-alpha.1’i işaret ediyor; ancak bu sürüm npm deposuna hiç yüklenmedi. DeepSeek’in kendi kurulum talimatları kullanıcıları npm’e yönlendirdiği için pratikte ilk yayımlanan düzeltmeli sürüm 0.1.2-alpha.2 oldu. Bu sürüm 30 Ağustos’ta çıktı. Mevcut npm sürümü ise 3 Eylül’de yayımlanan 0.1.2-rc.1 ve düzeltmeyi içeriyor.

9 Eylül’de depo kayıtlarını inceleyen yayın, kimlik doğrulama değişikliğini ilk taşıyan npm sürümünün 0.1.2-alpha.2 olduğunu doğruladı. Yani GitHub’a yamanın düşmesinden üç gün sonra, paket deposuna gelen ilk sürümde koruma yer alıyordu. Bu ayrım önemliydi; çünkü kullanıcıların bir kısmı GitHub’daki etiketten değil, paket yöneticisinden kurulum yapıyordu.

Kaynağa göre üçüncü taraf masaüstü paketleri de kendi kopyalarını dağıtıyor ve hangi sürümün paketleneceğine sarmalayıcıyı hazırlayan geliştiriciler karar veriyor. Bir Windows paketinin Ağustos sonlarında 0.1.1-rc.2 sürümünü sabitlediği, 6 Eylül’de ise düzeltmeyi taşıyan 0.1.3-alpha.1’e geçtiği aktarıldı. Bu nedenle ara yüzü üçüncü taraf bir masaüstü uygulamasıyla kuranların, paket içindeki Harness sürümünü ayrıca kontrol etmesi gerekiyor.

DeepSeek’in güvenlik notu da aracın kendisine dair beklentileri sınırlıyor. Proje, yazılımın henüz güvenlik denetiminden geçmediğini ve sandbox ile onay istemlerinin “izolasyonu garanti etmediğini, hasarı önlemediğini” açıkça söylüyor. Notta, aracın güvenilmeyen işler için tek güvenlik kontrolü gibi görülmemesi gerektiği de belirtiliyor. Depodaki yıldız sayısı 9 Eylül itibarıyla 216 bini aşmıştı; bu sayı kurulum sayısını değil, depoyu işaretleyen hesapları gösteriyor.

Yıl boyunca kod yazan ajanların sandbox’ı aşabildiğine dair başka örnekler de ortaya çıktı. Bazı vakalarda bir deponun kendi yapılandırması, ajanların saldırgan kodu sandbox dışında çalıştırmasına yol açtı. DeepSeek Harness etrafındaki olay, bu sınıftaki araçların neden yakından incelendiğini bir kez daha gösterdi.

DeepSeek Harness açık kaynak olarak yayımlandığı için aynı araç geliştirme iş akışlarında savunma tarafında da kullanılıyor. Güvenlik ekipleri, kendi sistemlerinde kod üreten ajanların davranışını izlemek, deneme ortamlarında güvenilmeyen dosyaları sınırlandırmak ve yerel çalıştırma senaryolarını test etmek için benzer harness yapılarından yararlanıyor. Ancak bu olayda sorun, aracın işlevinde değil, erişim ve oturum mantığındaki gevşeklikteydi.

İlgili bir başka ayrıntı da şu: 13 Ağustos’ta bir geliştirici, sandbox içindeki bir sürecin yerel arayüze ulaşıp oturumu danger-full-access moduna çevirdiğini gösteren bir rapor paylaştı. 14 Ağustos’ta başka bir kullanıcı aynı arayüzde kimlik bilgisi olmadan kabul edilen istekleri listeledi. İkinci paylaşım, projede bir güvenlik politikası dosyası bulunmadığını ve özel bir bildirim kanalının olmadığını da not etti. Projede bu dosya hâlâ yok.

OX Research, kendi zaman çizelgesine göre açığı 24 Ağustos’ta VulnCheck’e bildirdi. VulnCheck ise kaydı Nir Zadok ve Moshe Siman Tov Bustan’a atfetti. DeepSeek’in deposunda 9 Eylül’de yapılan kontrolde herhangi bir güvenlik danışmanlığı yayımlanmamıştı. Düzeltmeyi içeren sürüm notunda ise konu, eski bir aktarım yönteminin kaldırılması ve ağ erişimi için “one-time-token authentication” zorunluluğu getirilmesi şeklinde rutin değişiklikler arasında yer aldı; CVE’den söz edilmedi.

Düzeltme yerel arayüze kimlik kontrolü ekliyor. Araç artık başlangıç adresinde tek kullanımlık bir token yazdırıyor; tarayıcı bu token’ı imzalı bir çerezle değiştiriyor ve arayüzdeki her çağrı bu çerezi gerektiriyor. Bununla birlikte sandbox katmanı değişmedi. 0.1.2-rc.1 sürümünün referansında hâlâ okuma ve ağ erişiminin sınırlandırılmadığı yazıyor, ajan kabuğu da arayüz adresini almaya devam ediyor. Yeni şemada sandbox içindeki bir ajanın geçerli bir oturum elde edip edemeyeceği ise kaynaklarda netleşmiş değil.

Açık, tek başına bir geliştirici makinesinde çalışan ajanı etkiliyordu; çünkü DeepSeek Harness komutları, başlatan hesabın yetkileriyle çalıştırıyor. Bu da kod üreten ajanların yerel shell erişimi üzerinden ne kadar geniş bir etki alanı açabildiğini gösteriyor. Araştırmacılar, bu yüzden harness sınıfı araçların salt çalışma kolaylığı değil, erişim sınırları açısından da dikkatle tasarlanması gerektiğini vurguluyor.

CVE-2026-82533 kaydı için NVD sayfası: https://nvd.nist.gov/vuln/detail/CVE-2026-82533