İçeriğe geç

Cursor Marketplace'te Kötücül Claude Code Eklentisi (2.1.313): SSH Arka Kapısı ve Yapılacaklar

Cursor Marketplace'teki kötücül Claude Code 2.1.313 eklentisi SSH arka kapısı kurmaya çalıştı. Bilinenler, kontrol yöntemi ve yapılacaklar.

29 Ekim 2026’da, Cursor kod düzenleyicisinin kendi eklenti mağazasında (Cursor Extension Marketplace) “Anthropic.claude-code” adıyla ve 2.1.313 sürüm numarasıyla bir eklenti yayımlandı. Cursor’un güvenlik bildirimine göre bu sürümü Anthropic geliştirmedi; eklenti, kullanıcının bilgisayarına kalıcı bir SSH arka kapısı kurmaya çalışıyordu. Cursor en çok 5.000 kullanıcının etkilenmiş olabileceğini söylüyor ve saldırganın sunucusunun kapatıldığını bildiriyor. Bu yazıda olayın ne olduğunu, hangi bilginin kimden geldiğini, etkilenip etkilenmediğinizi nasıl anlayacağınızı ve geliştirici bilgisayarları için alınabilecek önlemleri anlatıyoruz. Bilgiler 30 Ekim 2026 öğleden sonrasına (TSİ) kadar yayımlanmış kaynaklara dayanır; olay sürüyor ve ayrıntılar değişebilir.

Kısaca

  • Ne oldu: Cursor’un eklenti mağazasına, Anthropic’in Claude Code eklentisinin 2.1.313 sürümü gibi görünen, değiştirilmiş bir paket yüklendi. Cursor, paketin Anthropic tarafından geliştirilmediğini söylüyor.
  • Ne zaman: Cursor’a göre yaklaşık 29 Ekim 02:27 ile 13:35 arasında (ABD Pasifik saati). Bu, 09:27–20:35 UTC, yani Türkiye saatiyle 12:27–23:35 aralığına denk geliyor (saat dönüşümü bizimdir).
  • Kimler etkilenebilir: Bu pencerede Claude Code eklentisini Cursor’un mağazasından kuran ya da güncelleyen kullanıcılar. Cursor en çok 5.000 kullanıcıdan söz ediyor ve etkilenenlere doğrudan ulaşacağını söylüyor.
  • Ne yapıyordu: Bilgisayarın adı, kullanıcı adı, işletim sistemi ve git e-postası gibi bilgileri topluyor, “svc-telemetry” etiketli bir SSH anahtarını authorized_keys dosyasına eklemeye, ters SSH tüneli açmaya ve bu tüneli kalıcı hale getirmeye çalışıyordu. Cursor’a göre çoğu macOS ve Windows bilgisayarında SSH hizmetinin açılması başarısız olur; anahtar ekleme, kalıcılık ve bilgi gönderimi ise yine de gerçekleşir. Saldırganın sunucusu kapatılmıştır.
  • Kontrol: Yetkili anahtar dosyanızda “svc-telemetry” geçip geçmediğine bakın (aşağıda). Anahtarın bulunmaması her şeyin temiz olduğunu kanıtlamaz.
  • Ne bilinmiyor: Kötücül sürümün Cursor’un mağazasına nasıl girdiği, kaç kişinin gerçekten etkilendiği ve Anthropic’in bir açıklaması olup olmadığı. Aradığımız kaynaklarda Anthropic’e ait bir açıklama bulamadık.
  • Resmî dağıtım kanalları: Cursor, başka sürümlerin ya da resmî dağıtımın etkilendiğine dair kanıtı olmadığını söylüyor. Kendi kontrolümüzde npm, Open VSX ve GitHub sürüm kayıtlarında 2.1.313 yok.

Ne oldu?

Aşağıdaki saatler UTC’dir; Türkiye saati UTC+3’tür.

Zaman Olay
29 Ekim, 09:27 UTC (Cursor: ≈ 02:27 PT) Kötücül 2.1.313 sürümü Cursor’un eklenti mağazasında kullanıma açılıyor.
29 Ekim, 20:35 UTC (Cursor: ≈ 13:35 PT) Cursor’un verdiği pencerenin sonu: sürüm bu saate kadar mağazada bulunabiliyordu. Cursor kaldırma saatini ayrıca vermiyor.
29 Ekim Cursor sürümü kaldırdığını, mağazayı tamamen kapattığını, anahtarlarını döndürüp mağazayı yeniden kurduğunu ve saldırgan sunucusunu barındıran bulut sağlayıcıyla çalışarak sunucuyu kapattırdığını bildiriyor. Cursor yazısının tarihi 29 Ekim; adımların sırası ve saatleri bildirimde belirtilmiyor.
30 Ekim OpenSourceMalware’in ilk yazısı, Socket’e göre, kötücül sürümün Open VSX’te olduğunu söylüyordu. Cursor’un bilgilendirmesinin ardından OpenSourceMalware yazısını güncelledi (sayfa zaman damgası 09:42 UTC).
30 Ekim Güvenlik şirketi Socket, Open VSX ve npm kayıtlarında 2.1.313 için herhangi bir yayın kaydı bulunmadığını açıklıyor.

Kötücül eklenti ne yapıyordu?

Aşağıdaki teknik ayrıntılar Cursor’un bildirimine ve OpenSourceMalware’in kodu statik olarak incelediği analize dayanır. Biz kötücül paketi indirmedik ve incelemedik.

  • Çalışma biçimi. OpenSourceMalware’e göre eklentinin ana JavaScript dosyasının (extension.js) başına 66 satırlık bir yükleyici eklenmiş; geri kalanı olağan eklentiyle aynı. Kötücül kod eklenti yüklendiğinde çalışıyor; kullanıcının Claude ile konuşma başlatması gerekmiyor. Paket kurulum sırasında çalışan bir betik (install, postinstall) tanımlamıyor; kod eklentinin çalışma zamanında yükleniyor. OpenSourceMalware’in incelediği dizinin kaynağı kendi analizinde belirlenmemişti; ancak yayımladığı IP adresi, SSH anahtarı parmak izi ve dosya adları Cursor’un göstergeleriyle örtüşüyor.
  • Bilgi toplama. Ana makine adı, kullanıcı adı, işletim sistemi ve mimari, ev ve çalışma dizinleri, genel IP adresi ve global git e-posta adresi toplanıyor. OpenSourceMalware ayrıca adında KEY, TOKEN, SECRET, PASS, AWS ya da GCP geçen ortam değişkenlerinin (en çok 40) yalnızca adlarının toplandığını yazıyor; değerleri ilk bilgi paketinde yok. Ancak adlar bile hangi bulut ve kimlik bilgilerinin kullanıldığını gösterebilir.
  • Anahtar ekleme. Saldırganın SSH anahtarı, “svc-telemetry” etiketiyle kullanıcının ~/.ssh/authorized_keys dosyasına ekleniyor. Bu anahtarla, SSH hizmeti açık ve ulaşılabilir bir makineye parolasız bağlanılabilir.
  • SSH hizmetini açma ve ters tünel. Kod, bilgisayardaki SSH hizmetini açmaya ve saldırganın sunucusuna ters bir SSH tüneli kurmaya çalışıyor. Ters tünelde kurban makine saldırganın sunucusuna kendisi bağlanır, böylece dışarıdan gelen bağlantıya kapalı olan bilgisayara da sunucu üzerinden ulaşılabilir. Tünel, kurbanın yerel SSH hizmetine (22 numaralı bağlantı noktası) iletir; hizmet açık değilse tünelden içeri girilemez. Cursor’a göre SSH hizmetini açmak yönetici yetkisi gerektirir; çoğu macOS ve Windows bilgisayarında kötücül kod bu yetkiye sahip olmadığı ve koddaki hatalar nedeniyle bu adım başarısız olur. Buna rağmen Cursor, anahtarın eklendiğini, kalıcılığın kurulduğunu ve ana makine bilgisinin gönderildiğini belirtiyor.
  • Kalıcılık. macOS’ta bir LaunchAgent (com.apple.sysmond, Apple bileşeni değil), Windows’ta “SysMon” adlı zamanlanmış görev ve yedek olarak Başlangıç klasörü betiği. Arka plan betikleri tüneli yaklaşık 60 saniyede bir yeniden denemeye çalışıyor. Bu yüzden eklentiyi kaldırmak tek başına yetmeyebilir.
  • Bildirim. Toplanan bilgi, 134[.]209[.]82[.]225 adresine HTTP ile (şifresiz) gönderiliyor. OpenSourceMalware, enjekte edilen aşamanın ek bir kötücül yazılım indirmediğini, ancak SSH üzerinden erişim sağlanırsa sonraki komutların bu analizde görünmeyeceğini belirtiyor.
  • Platformlar. Cursor, değiştirilmiş paket olarak yalnızca macOS (darwin-arm64) ve Windows (win32-x64) derlemelerini listeliyor. OpenSourceMalware’in incelediği kodda ayrıca Linux için bir dal da var; Linux derlemesinin mağazada yayımlanıp yayımlanmadığını bildirimlerden anlayamadık.

Cursor, saldırganın sunucusunun artık çalışmadığını söylüyor. Bu yüzden ters tünel ve bilgi gönderimi şu an işlevsiz görünüyor; ancak anahtar dosyada ve kalıcılık betikleri makinede durmaya devam eder.

Dağıtım kanalı konusunda kaynaklar neden farklı?

İlk haberlerde kötücül sürümün Open VSX kayıt defterinde olduğu söyleniyordu. Socket bunu OpenSourceMalware’in ilk yazısına bağlıyor; OpenSourceMalware kurucu ortağının ilk LinkedIn paylaşımının ise npm ve Microsoft’un VS Code mağazasını etkilenen kanal olarak andığını yazıyor. Kaynaklar sonra ayrıştı:

  • OpenSourceMalware, ilk yazısında Open VSX demişti; Cursor kendisiyle iletişime geçtikten sonra yazısını güncelledi ve kaynağın Cursor mağazası olduğunu, Open VSX’in, npm paketinin ve Microsoft’un VS Code eklentisinin kötücül olmadığını yazdı. Aynı yazı, incelenen dizinin kaynağının kendi analizinde belirlenmediğini de söylüyor.
  • Socket, Open VSX’in herkese açık değişiklik akışında 2.1.313 için yayın ya da kaldırma kaydı bulmadığını, npm kayıtlarında da bu sürümün olmadığını yazıyor. Socket, kötücül dosyanın kendisini edinmediğini ve incelemediğini de belirtiyor ve OpenSourceMalware’in ilk paylaştığı ekran görüntüsünün güvenilirliği konusunda şüphe dile getiriyor.
  • Cursor, kötücül sürümün kendi mağazasında bulunduğunu doğruladı.
  • Bizim kontrolümüz (30 Ekim öğleden sonra): npm kayıt defterinde @anthropic-ai/claude-code için 2.1.312’den sonra doğrudan 2.1.314 var (27 Ekim 18:36 UTC ve 30 Ekim 00:12 UTC). Open VSX’teki Anthropic eklentisinin güncel sürümü 2.1.314 ve sürüm listesinde 2.1.313 yok. Anthropic’in GitHub sürümleri de 2.1.313’ü atlıyor (v2.1.312, 27 Ekim; v2.1.314, 30 Ekim 01:06 UTC). Sürüm numarasının atlanması tek başına bir şey kanıtlamaz; Socket 2.1.260 ile 2.1.314 arasında başka eksik numaralar da olduğunu belirtiyor.

Bunlardan şunu çıkarıyoruz: şu an elimizdeki kanıtlar sorunun Cursor’un mağazasında yoğunlaştığına işaret ediyor; diğer kanalların etkilendiğine dair bir kanıt yok. Yokluk kesin bir güvence değildir: Cursor’un mağazasının kayıtlarına biz erişemiyoruz ve Microsoft’un mağazasının sürüm geçmişini incelemedik; bu yüzden yalnızca Cursor, OpenSourceMalware ve Socket’in söylediklerine ve kendi kayıt kontrolümüze dayanıyoruz.

Etkilenip etkilenmediğinizi nasıl anlarsınız?

Kontrol yalnızca Claude Code eklentisini 29 Ekim’de belirtilen aralıkta Cursor’un mağazasından kuran ya da güncelleyen kullanıcılar için gerekli. Cursor, authorized_keys dosyasında “svc-telemetry” ifadesini aramayı öneriyor. macOS için Cursor’un verdiği komut:

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

Windows için Cursor, ~\.ssh\authorized_keys ve C:\ProgramData\ssh\administrators_authorized_keys dosyalarını denetleyen bir PowerShell komutu veriyor; bunu doğrudan Cursor’un bildirimindeki metinden alın. Bu kontrol Cursor’un önerdiği yöntemdir; Cursor anahtar bulunursa makinenin etkilendiğini söylüyor. Anahtarın bulunmaması ise bizim değerlendirmemize göre başka kalıntıların (örneğin LaunchAgent ya da zamanlanmış görev) olmadığını garanti etmez; OpenSourceMalware da gözlenen dosyaların tüm tabloyu yansıtmayabileceğini belirtiyor. Bu yüzden büyük bir kurumda uç nokta tespit ve müdahale (EDR) araçlarında ve ağ kayıtlarında aşağıdaki göstergeleri de aramak mantıklı olur:

  • Ağ: 134[.]209[.]82[.]225 adresine 22 ve 8099 numaralı bağlantı noktalarında giden trafik.
  • SSH anahtarı: svc-telemetry etiketi; anahtarın parmak izi SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk.
  • macOS dosyaları: ~/.config/.smt, ~/.config/.smtk, ~/Library/LaunchAgents/com.apple.sysmond.plist.
  • Windows: “SysMon” adlı zamanlanmış görev, %USERPROFILE%\.config\smt.cmd.
  • Süreç: -N -R '*:0:localhost:22' bağımsız değişkenli ssh ya da autossh süreçleri.

Paket karmaları (SHA-256) ve ayrıntılı gösterge listesi Cursor’un bildirimindedir.

Etkilenmiş olabilirseniz ne yapmalısınız?

Aşağıdakilerin ilk dördü ve günlük incelemesi Cursor ve/veya OpenSourceMalware’in önerilerine dayanır; sıralama ve ayrıntı bizdendir.

  1. Makineyi izole edin. OpenSourceMalware sistemi ağdan ayırmayı ve 134[.]209[.]82[.]225 adresini 22 ve 8099 numaralı bağlantı noktalarında engellemeyi öneriyor; Cursor belirti görülen makinelerin izole edilmesini söylüyor.
  2. Kanıtı korumayı düşünün. OpenSourceMalware, eklentiyi ve kalıcılık dosyalarını kanıt toplandıktan sonra kaldırmayı öneriyor. Cursor ayrıca kaldırma betikleri sunuyor; kanıt toplama konusunda bir şey söylemiyor. Aradaki tercihi, bizim değerlendirmemize göre, olayın sizin için ciddiyetine ve adli inceleme ihtiyacınıza göre güvenlik ekibiniz yapmalı.
  3. Temizleyin ya da yeniden kurun. Cursor, anahtarı, kalıcılık betiklerini ve tünel süreçlerini kaldıran macOS ve Windows betikleri yayımlamış. Biz bu betikleri indirmedik ve incelemedik; bir betiği çalıştırmadan önce kaynağını okumanızı öneririz. Cursor’un kendisi de makinenin yeniden kurulmasının değerlendirilmesini öneriyor; OpenSourceMalware yeniden kurulumu, bilinen kalıntıları silmeye güvenmekten daha güvenli buluyor.
  4. Kimlik bilgilerini temiz bir bilgisayardan değiştirin. Etkilenen makinede bulunan ya da o makineden erişilebilen parolalar, API anahtarları, bulut kimlik bilgileri, SSH anahtarları ve oturum belirteçleri. Cursor, toplanan ortam değişkeni bilgisinin sınırlı olmasının, sonradan kimlik bilgisine erişimi dışlamadığını belirtiyor.
  5. Günlüklere bakın. OpenSourceMalware SSH, kabuk, süreç, VS Code, kimlik doğrulama ve ağ kayıtlarında sonraki etkinliği aramayı öneriyor. Makineden bağlanılabilecek sistemlerin kayıtlarına da bakmak bizim eklememizdir. Tünel açıldıysa saldırganın ne yaptığını bu olayın kaynaklarından öğrenemiyoruz.

Eklentiyi başka bir yoldan (Microsoft’un VS Code mağazası, Open VSX ya da npm) kurduysanız: Cursor genel olarak resmî dağıtımın etkilendiğine dair kanıtı olmadığını söylüyor; OpenSourceMalware bu üç kanalın kötücül olmadığını bildiriyor; Socket ise Open VSX ve npm kayıtlarında 2.1.313’ü bulamadığını yazıyor. Yine de kurulu eklentinizin sürümünün 2.1.313 olmadığını kontrol edebilirsiniz.

Bu olaydan kurumlar ne çıkarmalı?

Aşağıdakiler bizim önerilerimizdir. Kötücül sürümün mağazaya nasıl girdiği bilinmediği için her kurum bunları kendi riskine göre uyarlamalıdır.

  1. Düzenleyici eklentilerini yazılım envanterinize alın. IDE eklentileri geliştiricinin yetkileriyle çalışır: SSH anahtarlarına, git kimliğine, bulut kimlik bilgilerine ve ortam değişkenlerine erişebilir. Hangi eklentinin hangi sürümünün kimin bilgisayarında kurulu olduğunu bilmek, bu tür bir bildirim geldiğinde “etkilendik mi?” sorusuna dakikalar içinde yanıt vermenizi sağlar.
  2. Eklenti kaynaklarını sınırlayın. Mümkünse izin verilen eklentiler listesi (allowlist) kullanın; yeni sürümleri yayımlandığı anda değil, kısa bir bekleme ve inceleme sonrasında yaygınlaştırın. Cursor’un verdiği pencereye göre kötücül sürüm mağazada yaklaşık 11 saat bulunabildi; bekleme süresi uygulayan kurumlar bu pencerenin dışında kalmış olabilirdi.
  3. Geliştirici bilgisayarlarına gelen SSH’i kapalı tutun. SSH hizmetini ve uzaktan oturumu (macOS’ta Uzaktan Giriş) yalnızca gerçekten gerekliyse açın; authorized_keys dosyalarındaki değişiklikleri izleyin ve bilinmeyen anahtar eklenmesini uyarıya bağlayın.
  4. Çıkış trafiğini sınırlayın. Geliştirici bilgisayarlarından rastgele dış adreslere giden SSH (22) trafiğini ve olağandışı portlara giden HTTP trafiğini sınırlamak ya da izlemek, ters tünel gibi arka kapıların bağlanmasını zorlaştırır ya da görünür kılar.
  5. Yönetici yetkisini ve gizli bilgilerin yerini gözden geçirin. Cursor’a göre SSH hizmetinin açılması yönetici yetkisi gerektirir ve çoğu makinede bu adım başarısız olur. Gündelik çalışmayı yönetici yetkisi olmayan hesapla yapmak yalnızca bu adımı engeller; anahtar ekleme, kalıcılık ve bilgi gönderimi yetkisiz hesapta da çalışabilir. Uzun ömürlü anahtarları ve belirteçleri ortam değişkenlerinde tutmak yerine kısa ömürlü kimlik bilgileri ve gizli bilgi yöneticisi kullanın.
  6. Olay müdahale hazırlığı yapın. Eklenti tedarik zinciri olaylarında kurumun yanıtlaması gereken sorular önceden belli: eklenti hangi bilgisayarlarda, hangi sürümüyle ve hangi saatlerde kuruldu? Bu bilgisayarlar hangi kimlik bilgilerine erişebiliyordu?

Zafiyet taraması ve sızma testi bu tür bir olayda ne işe yarar?

Önce sınırı koyalım: bu olay, bir yazılımdaki bilinen bir güvenlik açığı (CVE) değil, güvenilen bir dağıtım kanalının kötüye kullanılmasıdır. CVE tabanlı zafiyet taramaları bu tür bir paketi önceden bulmak için tasarlanmamıştır ve hiçbir test böyle bir olayın yaşanmayacağını garanti etmez. Buna karşın olayın gösterdiği zincir, kurumların kendi ortamlarında sınayabileceği bir zincirdir:

  1. Ele geçirilmiş bir geliştirici bilgisayarından nereye varılır? İç ağ sızma testi, kurum içindeki bir saldırganın ya da ele geçirilmiş bir cihazın neler yapabileceğini (yetki yükseltme, yatay hareket) sınar. Kırmızı takım testi ise dış yüzeyi, çalışanları ve iç ağı birlikte ele alarak bir saldırganın kurumda ne kadar ilerleyebileceğini ve güvenlik ekibinin bunu fark edip durdurup durduramadığını gösterir. Sorulacak soru şudur: bir geliştiricinin bilgisayarı ele geçirilirse üretim sırlarına, kaynak kod depolarına ve bulut hesaplarına kaç adımda ulaşılır, bunu kim fark eder?
  2. Bulut kimlik bilgileri ve yetkiler. Bulut yapılandırma değerlendirmesi, AWS, Azure ve Google Cloud hesaplarında kimlik ve erişim yönetimini inceler; geliştirici bilgisayarlarından erişilebilen kimlik bilgilerinin gereğinden geniş yetkili olup olmadığı bu incelemede görünür olabilir.
  3. Yeniden test. Düzeltmeler uygulandıktan sonra yapılan yeniden test, test kapsamında görünen durumun düzeldiğini gösterir. Eklenti izin listesi ve çıkış trafiği kuralları gibi ayarların sistem tarafında ayrıca doğrulanması gerekir.

Seemarter Security ile

Kurumunuzda ele geçirilmiş bir geliştirici bilgisayarından hangi sistemlere ulaşılabildiğini görmek için iç ağ sızma testi ve kırmızı takım testi hizmetlerimizi inceleyebilir ya da bizimle iletişime geçebilirsiniz. Tüm çalışmalar, sistem sahibinin yazılı yetkisiyle ve önceden belirlenen kapsamda yapılır.

Kaynaklar

Bu yazı 30 Ekim 2026 öğleden sonrasına (TSİ) kadar yayımlanmış kaynaklara dayanır; olay sürdüğü için gelişmelere göre güncellenir. Anthropic ya da Cursor’un yeni açıklamaları, kötücül sürümün mağazaya nasıl girdiği ve etkilenen kullanıcı sayısı yazıya eklenecektir.

Bir sonraki adım

Kapsamı Birlikte Belirleyelim.

İlk görüşmede varlıklarınızı, zaman pencerelerini ve çalışma kurallarını birlikte netleştiriyoruz. Hiçbir tarama ya da test, yazılı onayınız olmadan başlamaz.