Cursor Marketplace'teki VS Code için Claude Code Eklentisinde Arka Kapı (Backdoor) Tespiti
Kaynak: Hacker News
İçindekiler 5 başlık
Özet (TL;DR)#
Phorion, Cursor Marketplace üzerindeki resmi Claude Code for VS Code eklenti paketinde macOS, Linux ve Windows sistemlerine kalıcı bir Secure Shell (SSH) arka kapısı bırakan güvenlik ihlali tespit etti. Özellikle macOS ortamındaki yapılandırma ve kalıcılık mekanizmalarına odaklanan bu analiz, geliştiricilerin kullandığı araçların güvenliğini yeniden gündeme getiriyor. Kurumların ortamlarında Claude Code for VSCode 2.1.313 sürümünün kullanılıp kullanılmadığını derhal incelemesi ve tespit edilen sistemlerde olay müdahale süreçlerini başlatması gerekiyor.
Phorion tarafından keşfedilen bu ihlal sonrasında Cursor, ilgili sürümü kendi pazar yerinden kaldırdı ve 2.1.313 sürümüne ait NPM ile VSCode paketlerini kayıt defterlerinden çekti. Zararlı yazılım her üç işletim sistemi için kurulum ve kalıcılık mantığı barındırsa da diğer platformlarda bazı uygulama hataları ve temel farklılıklar içeriyor.
Cursor Marketplace, doğrudan Cursor editörü için eklentiler sunar. Eklentiler IDE'nin ve onu çalıştıran kullanıcının yetkileriyle çalıştığı için, arka kapı içeren bir eklenti modülü yüklendiği anda yerel dosyalara, kaynak kodlara ve geliştirici araçlarına anında erişim kazanır.
Dikkat çekici bir teknik detay olarak Phorion, zararlı yazılımın macOS üzerinde SSH servisini açma yönteminde önemli bir uygulama hatası keşfetti:
- Kurulum betiği, mevcut Remote Login (Uzaktan Oturum Açma) durumunu root yetkisi olmadan kontrol edebileceğini varsayar.
- Standart bir kullanıcı olarak çalıştırıldığında
systemsetup -getremoteloginkomutuOffdöndürmek yerine yönetici erişimi hatası yazdırır ve0durum koduyla çıkar. - Betik yalnızca çıktı
Offile eşleştiğinde SSH'ı etkinleştirmeye çalıştığı için etkinleştirme adımını tamamen atlar. - Halihazırda SSH servisi açık olmayan bir Mac cihazda bu hata, SSH anahtarları ve kalıcılık dosyaları sisteme bırakılsa bile dışarıdan gelen bağlantı yolunu keser.
Saldırının temel amacı uzun vadeli etkileşimli erişim sağlamaktır. macOS üzerindeki SSH hatası etkiyi azaltsa da zararlı yazılım kalıcılık kurmaya ve sistem keşif verilerini saldırgana iletmeye devam ettiği için ciddi bir tehdit oluşturur.
Enfeksiyon Zinciri (Infection Chain)#
Cursor Marketplace Eklentisi#
Ele geçirilen extension.js dosyası, küçültülmüş (minified) eklenti paketinin en başına eklenmiş ve anında çağrılan bir fonksiyon ifadesi (IIFE) ile başlar. Paketin geri kalanı; standart Claude Code ve VS Code metinleri, normal activate ve deactivate dışa aktarımları ve kullanıcı arayüzü kodlarıyla olağan bir eklenti gibi görünür. Enjekte edilen bu ön ek; standart Node.js modüllerini (child_process, fs, os, path, http ve crypto) içeri aktarır ve eklentinin normal activate geri çağrısı dahi çalışmadan önce, Node dosyayı yükler yüklemez tetiklenir. Zararlı yükün çalışması için kullanıcının eklentiyle etkileşime girmesine gerek yoktur.
Aşama 1 - SSH Erişiminin Hazırlanması#
İlk aşamada zararlı yük, ~/.ssh dizininin var olduğundan emin olur ve saldırgan kontrolündeki bir Ed25519 açık anahtarını ~/.ssh/authorized_keys dosyasına ekler. Ardından dizin izinlerini 0700, dosya izinlerini ise 0600 olarak ayarlar. Anahtar, svc-telemetry yorumunu kullanır ve betik ekleme yapmadan önce anahtarın kendisi yerine dosyada svc-telemetry ifadesinin bulunup bulunmadığını kontrol eder.
Yazılım Geliştirme Açısından Pratik Çıkarımlar#
Edumints AI Tedarik Zinciri Güvenliği perspektifinden bakıldığında, yapay zeka destekli kodlama asistanları ve IDE eklentileri modern yazılım geliştirme süreçlerinin en kritik tedarik zinciri halkalarından biridir:
- En Az Yetki ve İzolasyon: IDE eklentileri kullanıcı yetkileriyle çalıştığından, güvenilmeyen veya doğrulanmamış eklenti sürümleri geliştirici ortamındaki tüm anahtarlara erişebilir.
- Sürüm Sabitleme ve Denetim: Otomatik güncellemeler yerine doğrulanmış eklenti sürümlerini kullanmak ve
~/.ssh/authorized_keysgibi kritik dosyaları (svc-telemetrybenzeri şüpheli girdilere karşı) düzenli denetlemek olası ihlallerin erken tespitini sağlar. - Hatalı Durum Kontrolleri: Saldırganların
systemsetupkomutunda yaptığı gibi yalnızca çıkış koduna (exit status 0) veya tek bir metin çıktısına güvenmek, yazılım geliştirmede sık yapılan bir hatadır; komut çıktıları ve yetki hataları her zaman birlikte doğrulanmalıdır.
Kaynak ve atıf
Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- phorion.io/blog/offical-claude-code-vsx-compromise