· kaynak dev.to (home feed)
opencode, 1.18.33 sürümünde onaysız MCP OAuth RCE açığını kapattı ve hiçbir CVE yayınlanmadı
opencode'un OAuth tarayıcı başlatma akışındaki bir PowerShell enjeksiyonu, uzak MCP sunucularının Windows'ta onay olmadan kod çalıştırmasını sağlıyordu. Düzeltme CVE olmadan yayımlandı; dolayısıyla tarayıcılar ve bağımlılık uyarıları sessiz kalıyor.

Hata neydi
Anomaly'nin açık kaynak kodlama ajanı opencode, 28 Eylül'de bir uzak MCP sunucusunun kullanıcı makinesinde PowerShell komutları çalıştırabilmesini sağlayan bir güvenlik açığı için düzeltme yayımladı; bu işlem ek bir etkileşim ve onay istemi gerektirmiyordu. Pillar Security'nin analizine göre 1.0.137'den 1.18.32'ye kadar olan sürümler yalnızca Windows ve WSL'de etkileniyordu; macOS ve Linux etkilenmedi.
Tetikleyici, uzak bir MCP sunucusu eklemekti. Yapılandırma yapıldığı anda OAuth oturum açma akışı kendiliğinden başlıyor ve kod çalıştırma tam da orada gerçekleşiyordu. Kötü amaçlı bir paket kurulmuyor ve hiçbir prompt enjekte edilmiyordu.
Saldırı zinciri
Pillar Security yolu dört adımda anlatıyor. OAuth keşfi sırasında uzak MCP sunucusu authorization_endpoint dizgesini denetiminde tutuyor. opencode bu URL'yi tarayıcı başlatmak için open npm paketinin 10.1.2 sürümüne aktarıyor. Windows'ta open, hedefi PowerShell'e iletiyor; PowerShell ise çift tırnaklı dizeler içindeki $(...) ifadelerini genişletiyor. URL boşluksuz, düzgün bir https adresi olduğu için scheme denetimi de durdurmuyor — tarayıcı başlatma başarısız oluyor ama enjekte edilmiş ifade çoktan çalışmış oluyor.
Pillar Security 9.8'lik bir CVSS puanı önerdi; ancak bu, araştırmacının öne sürdüğü bir sayı, resmi bir puan değil, çünkü ona bağlanacak bir CVE yok. Pillar ayrıca sunucunun yapılandırıldığı sırada kötü niyetli olması gerekmediğine dikkat çekiyor; sonradan düşmanca davranmaya başlayan bir sunucu da aynı yolu izleyebiliyor.
Düzeltmenin refactor gibi görünmesi
Düzeltme, "refactor(core): share a browser opener across opencode and tui" başlıklı bir pull request ile 1.18.33 sürümünde geldi. Bu yalnızca bir yeniden adlandırma değildi: open paketi 11.0.4'e yükseltildi, tüm tarayıcı başlatmaları yalnızca http ve https URL'lerini kabul eden tek bir helper üzerinden yönlendirildi ve OAuth URL'sinin aktarıldığı yere bir scheme denetimi eklendi.
Sürüm notları değişikliği "MCP tarayıcı başlatma hataları artık launcher hemen çıktığında bildiriliyor" diye tanımlıyor — Gabriel Anhaia'nın dev.to analizinin de belirttiği gibi doğru bir ifade, ama bir güvenlik ekibinin arayacağı türden bir ifade değil. Pillar'ın zaman çizelgesine göre rapor 29 Ağustos'ta özel olarak iletildi. Anomaly, danışma zinciri dışından bir hatırlatmanın ardından 25 Eylül'de yanıt vererek bağımlılığı güncellediğini ama kötü niyetli bir MCP sunucusuyla başa çıkmanın genel olarak tehdit modelinin dışında kaldığını söyledi. Düzeltme aynı gün merge edildi ve üç gün sonra yayımlandı. Benzer bir hata sınıfı mcp-remote projesinde Temmuz 2025'te 9.6 puanlı CVE-2025-6514'i almıştı — o proje CVE aldı, opencode refactor aldı.
Tarayıcıların neden sessiz kaldığı
dev.to yazısının da işaret ettiği gibi Dependabot yalnızca GitHub Advisory Database'e danışma olarak kaydedilmiş güvenlik bültenlerinde tetikleniyor; danışma yoksa uyarı da yok. İkinci bir boşluk daha var: Dependabot bir deponun varsayılan dalını tararken, bir dizüstü bilgisayara curl, Homebrew veya npm -g ile kurulan agent CLI'ları genellikle hiçbir deponun bağımlılık grafiğinin tamamen dışında duruyor.
opencode da tek istisna değil. Adversa AI'nın 23 Eylül'de yayımladığı, Claude Code'u içeren on belgelenmiş saldırıyı kataloglayan listesinde yalnızca ikisi CVE üretmişti. Adversa'nın özetine göre bir güvenlik açığı tarayıcısı on çalışan saldırıdan ikisini görüyor, bir SBOM hiçbirini görmüyor — ve Adversa, bunun hiçbirinin satıcıların kötü niyetini yansıtmadığını özenle belirtiyor.
Agent CLI'larına tarayıcı gibi davranın
dev.to yazarının daha geniş argümanı şu: kodlama ajanları tüm gün güvenilmeyen içerik işliyor — web sayfaları, issue'lar, README'ler, MCP sunucuları, başkalarının depoları — tıpkı tarayıcılar gibi; dolayısıyla onlar da tarayıcılar gibi güncellenmeli: otomatik olarak, bir CVE'yi beklemeden.
Mevcut davranış tutarsız. Claude Code'un yerel kurulumları arka planda güncelleniyor ama Homebrew, WinGet, apt, dnf ve apk ile yapılan kurulumlar varsayılan olarak güncellenmiyor. opencode yeni sürümleri denetliyor ve bir bildirim gösteriyor ama asla otomatik kurmuyor; kullanıcıların TUI içinde /update çalıştırması ya da opencode upgrade kullanması gerekiyor.
Önerilen modelin üç parçası var: kararlı bir kanal üzerinden varsayılan olarak açık güncellemeler, zorunlu bir sürüm tabanı — Claude Code'un requiredMinimumVersion yönetilen ayarı daha eski bir sürümde başlamayı reddedebiliyor — ve ekibin kendisinin tuttuğu kurulu agent envanteri; çünkü Pillar'ın açık opencode kurulumlarını bulma önerisi net: doğrudan envanter çıkarın.
Neden önemli
Ekiplerin güvendiği güvenlik araçlarının çoğu, güvenlik açıklarının CVE aldığını ve bir deponun bağımlılık grafiği içinde yaşadığını varsayıyor. Agent CLI'ları her iki varsayımı da bozuyor: düzeltmeler danışma olmadan yayımlanıyor ve binary'ler herhangi bir depo taramasının dışında, geliştirici makinelerinde duruyor. Araçlar yetişene kadar tamamen savunmasız bir opencode 1.18.32 kurulumu temiz görünecek ve tek güvenilir savunmalar zorunlu sürüm tabanları ile ekibinizin gerçekte hangi agent'ları çalıştırdığının elle tutulan envanteri olacak.
- #security
- #opencode
- #mcp
- #ai-agents
- #supply-chain
İlgili yazılar
- Uber, üretim ortamındaki AI agent'larını güvence altına alan katmanlı bir framework olan Secure AI'ı yayımladı
- Sahte Sentry hataları Claude Code, Cursor ve Codex agent'larını saldırgan komutlarını çalıştırmaya ikna etti
- 42.163 MCP sunucusunun sayımı, para taşıyabilen binlerce aracın açıkta olduğunu ortaya koydu