Open VSX’te 77 sahte eklenti kaldırıldı: geliştirici verileri dışarı sızdırıldı

Anasayfa » Open VSX’te 77 sahte eklenti kaldırıldı: geliştirici verileri dışarı sızdırıldı
Open VSX’te 77 sahte eklenti kaldırıldı: geliştirici verileri dışarı sızdırıldı

Open VSX deposunda yayımlanan 77 kötü amaçlı eklenti, geliştiricilerin çalışma alanı, sistem bilgileri ve bazı CI ortam verilerini dışarı aktardığı gerekçesiyle kaldırıldı. Manifold Security’ye göre “evil twin” uzantılar 26 Temmuz ile 1 Ağustos 2026 arasında depoya yüklendi, 3 Ağustos 2026 itibarıyla da Open VSX’ten temizlendi.

Araştırmacılar Ax Sharma ve Cody Nash, paketlerin çoğunun makinenin hostname bilgisinden fazlasını göndermediğini, 19 tanesinde ise daha ayrıntılı bir veri kümesinin aktarıldığını söyledi. Bu 19 eklenti, makinenin ayrıntılı tanımını, editörde açık olan depoyu ve editörün içinde çalıştığı CI sistemini de dışarı aktarıyordu.

İncelemede 58 eklentinin hafif araçlar olarak tanımlandığı, bunların hostname bilgisinin yanında bazı durumlarda workspace klasör adını ya da editör sürümünü sızdırmak üzere tasarlandığı aktarıldı. Geri kalanlar ise keşif amaçlı yüklerdi ve yerel hostname, işletim sistemi kullanıcı adı, editör adı, sürüm, host türü, makine kimliği, platform, mimari, yerel ayar, saat dilimi ile açık çalışma alanının klasör adı ve tam dosya yolunu topluyordu.

Gerçek eklenti adları kopyalandı, içerik değiştirildi

Sharma ve Nash, kampanyanın gerçek Open VSX eklentilerinin adlarını, namespace’lerini ve açıklamalarını yeniden kullandığını, ancak bunları ilgisiz hesaplar üzerinden yayımladığını belirtti. Paketlerin çoğuna 0.0.1 gibi düşük sürüm numaraları verilmişti.

Araştırmacılara göre ana değişiklik, paketlerin içindeki bundled extension.js dosyasının veri yakalama ve gönderme yeteneği eklenmiş bir sürümle değiştirilmesiydi. Toplama faaliyeti ise “anonymous usage metrics” ifadesiyle sunuluyordu.

Listelerde görünen işlevlerin hiçbiri gerçekten sunulmadı. Eklentiler önce durum çubuğunda etkin olduklarını söyleyen bir öğe ve mesaj gösterdi, ardından veri dışarı aktarma adımını çalıştırdı.

77 eklentinin tamamında veri, 15 Temmuz 2026’da kaydedilen mangorbit[.]com alan adına gönderildi. Bu tarih, ilk paketlerin yayımlanmasından 11 gün öncesine denk geliyor.

Açığa çıkan 19 uzantının adları arasında amd.gaia-vscode, artsy.artsy-studio-extension-pack, configcat.configcat-feature-flags, iotaledger.iota-move, marketplace.visualstudio, obyte.oscript-vscode-plugin, openeuphoria.vscode-euphoria, oss.sfmc-devtools-vscode, rumbledb.jsoniq-vscode, ssagov.uef-snippets, taskfile.vscode-task, doi.fileheadercomment, mengsiCode.vscode-django-boilerplate, move.move-analyzer, uavcan.dsdl, vs-publisher-988541.apexsql-power-tools, casualjim.gotemplate, jcamp.dotnet-test-provider-view ve superposition.supertoml-analyzer yer aldı.

Kötü amaçlı paketlerin ikinci kümesi, çalışma alanındaki .git dizinini inceleyerek Git uzak hostlarını ve organizasyonlarını, geliştiricinin yapılandırılmış e-posta etki alanını, mevcut branch’i ve HEAD commit SHA karmasını çıkarmak için de kullanıldı. Ayrıca ortam değişkenlerinden proxy hostname’i alıyor, kurulu uzantı kimliklerini 60’a kadar sayıyor ve CI işaretlerinin adlarını topluyordu.

Bu küme, GITHUB_REPOSITORY, CI_PROJECT_PATH, Azure DevOps collection URI, Buildkite organization slug, CircleCI project username, Codespace adı ve Gitpod workspace context URL’si gibi CI ortamı değerlerini de ayrı ayrı çekti. Editörün kendi telemetry opt-out ayarını okuyup bunun etkin olup olmadığını da raporladı.

Analiz, kötü amaçlı kodun birincil alan adı engellenir ya da devre dışı kalırsa alternatif dışarı aktarma adresini bir DNS TXT kaydından çekmek için yedek bir plan taşıdığını ortaya koydu. Keşif sürümünde ise tekrar deneme mekanizması bulundu; bu yapı, faaliyetin tek seferlik bir deneyden daha fazlasını hedeflediğini gösteriyordu.

Sharma ve Nash, keşif varyantındaki denemelerin yaklaşık 15 dakika, 50 dakika ve üç buçuk saat arayla başladığını, ardından her yedi ya da sekiz saatte bir sürdüğünü aktardı. Denemeler her editör yeniden başlatmasında yeniden devreye giriyor ve yalnızca yedi gün sonra duruyordu.

Araştırmacılar, çevrimdışı olan, firewall arkasında bulunan ya da ilk isteği düşüren bir proxy’nin arkasındaki makinenin bir hafta boyunca yeniden denendiğini söyledi. Keşif varyantı ayrıca açık çalışma alanının kendi devcontainer.json ya da .vscode/extensions.json dosyalarının eklenti kimliğine referans verip vermediğini kontrol ediyor ve sonucu tek bir bayrak olarak iletiyordu.

Bu kontrol, kurulumun bir depo yapılandırması tarafından mı yoksa kullanıcının seçimiyle mi yapıldığını ayırıyordu. Ekip, bunun “how am I being pulled in, and by what” sorusu için gerekli alan olduğunu belirtti.

Açıklama, 450 benzersiz npm paketinin toplam 2.244 artefaktla birlikte yeni bir yazılım tedarik zinciri saldırısında ele geçirilmesiyle aynı döneme denk geldi. ChainDrop kod adlı kampanyada saldırganlar, çalınan npm tokenını kullanarak aynı zararlı yazılımı içeren trojanize sürümler yayımladı.

Microsoft, kötü amaçlı sürümlerin büyük ve yoğun biçimde gizlenmiş Bun tabanlı bir JavaScript yüküyle teslim edilen kendi kendini çoğaltan bir kimlik bilgisi hırsızı Mini Shai-Hulud varyantı içerdiğini bildirdi. Şirkete göre zararlı yazılım, paket kurulumu tamamlanmadan önce genellikle npm preinstall yaşam döngüsü kancası üzerinden otomatik olarak çalışıyor.

Microsoft ayrıca zararlı yazılımın çalınan GitHub kimlik bilgileriyle depolara Claude ve Visual Studio Code yapılandırma dosyaları ekleyebildiğini, bunun da kalıcılık sağladığını ve geliştiriciden geliştiriciye ek bir bulaşma yolu oluşturduğunu aktardı.

Socket, örnek kodun önceki Shai-Hulud npm worm faaliyetlerinde görülen taktiklere benzediğini, ancak mevcut aşamada saldırının atfedilemediğini yazdı. Aynı kaynak, örneğin bağımsız bir Bun runtime indirerek paketlenmiş ikinci aşamayı çalıştırdığını, ayrı GitHub ve alan adı tabanlı teslimat kanallarına sahip modüler bir dağıtıcı kullandığını ve kaynak kodu klonlayan geliştiricilere ile AI kodlama ajanlarına ulaşmak için .claude ile .vscode içinde otomatik başlatma kancaları bıraktığını belirtti.

OX Security, npm’i hedef alan devam eden tedarik zinciri saldırılarının, kurulum komut dosyalarını engellemenin ve bakımcı hesapları için iki faktörlü kimlik doğrulama istemenin ötesine geçen bir güvenlik katmanı gerektirdiğini vurguladı. Güvenlik araştırmacısı Moshe Siman Tov Bustan, paketlerin AWS anahtarlarını ve GitHub kimlik bilgilerini tek bir komutla dışarı aktarmadan önce izin istemesi gerektiğini söyledi.