Yazılım tedarik zinciri saldırıları artık yalnızca paket yöneticisini değil, o paketin kurulduğu makinedeki yapay zekâ kodlama ajanlarını da hedef alıyor. Socket tehdit araştırma ekibi (Kush Pandya), 6 Kasım 2026’da yayımladığı analizde RubyGems’teki strutil-core 1.0.1 sürümünün kurulum anında yaklaşık 5,48 MB’lık bir kimlik hırsızı solucanı çalıştırdığını duyurdu. Paket kendini “hafif dizge yardımcıları” diye tanıtıyor; gerçek yük ise kimlik çalmak, kendini yaymak ve ajan yapılandırmalarını zehirlemek üzerine kurulu.
Zaman çizelgesi kısa ve net. RubyGems hesabı jamnajiea, 1 Kasım’da temiz görünen 1.0.0’ı yayımlamış; iki saatten az sonra zararlı 1.0.1’i göndermiş. Socket’in tarayıcısı zararlı sürümü yayımlanmasından 70 saniye sonra işaretlemiş. RubyGems her iki sürümü de yaklaşık beş saat içinde kaldırmış. Socket, doğrulanmış bir kurban ve bu paketten enfekte olmuş başka bir paket bildirmiyor. Kamuya açık indirme sayacı 1.0.0 için 89, 1.0.1 için 0 göstermiş; bu rakamlar ayna ve otomatik tarayıcılardan gelmiş olabilir, kurban sayısı değildir.
Kurulum neden yeterli?
Zararlı sürüm, bir yerel uzantı kurulum betiği üzerinden çalışıyor. Linux veya macOS’ta bu betik resmi bir JavaScript çalışma zamanı indirip paketin içindeki büyük yükü çalıştırıyor. Uygulamanın paketi kodunda çağırması gerekmiyor; gem install veya ilgili sürüme çözülen bir bundle install yeterli. Kurulum görünürde hatasız bitiyor.
Socket, yükü kamuya açılmış Shai-Hulud araç setinden türeyen Miasma ailesinin, daha önce testmetest olarak izlenen solucanın yeni bir derlemesi olarak değerlendiriyor. Ortak bileşenler var; ancak aynı kodun aynı operatörü kanıtlamadığı da açıkça belirtiliyor. strutil-core, araştırmacıların bu aileyle ilişkilendirdiği ilk RubyGems paketi olarak anılıyor. 31 Ekim’de PyPI’de görülen pystr-codec 0.1.0–0.1.2 sürümleri ise aynı sızdırma uç noktasını kullanan ayrı bir derleme.
Ne çalıyor, nereye yazıyor?
Toplayıcılar bulut, sürekli entegrasyon, paket deposu, Git barındırıcıları, SSH, Docker, Kubernetes, kasa yazılımları, cüzdanlar ve yapay zekâ kodlama araçlarının kimlik dosyalarını arıyor. Birincil sızdırma adresi paleasbest[.]top; bu yol başarısız olursa GitHub veya GitLab yedekleri devreye girebiliyor. Yalıtılmış gözlemde onlarca kimlik deposuna okuma denendiği aktarılıyor; bunlar arasında bulut kimlik dosyaları ve bazı ajanların yerel kimlik kayıtları da var.
Yapay zekâ tarafı bu haberi “sıradan bir kötü paket” olmaktan çıkarıyor. Yük, ev dizininde yazılabilir yapılandırma dosyaları arayıp workspace-tools adlı bir MCP sunucusu ve oturum başlangıç kancaları ekleyebiliyor. Çalıntı Git kimliği varsa aynı mantık depolara da işleniyor: ajan talimat dosyaları, MCP ayarları ve klasör açılınca çalışan düzenleyici görevleri. Üretilen talimat metni, kodlama ajanına ilk komuttan önce bir kurulum betiği çalıştırmasını söyleyebiliyor. Etkilenen bir depoyu güven ayarına bağlı olarak açmak, solucanın yeniden koşmasına yol açabilir.
Kalıcılık ve jeton iptalinin tehlikesi
Paket dizinine yazmakla yetinilmiyor. Linux’ta pkg-runtime adlı bir kullanıcı servisi, macOS’ta ise karşılık gelen bir arka plan birimi, imzalı GitHub commit mesajlarından komut alabilen bir arka kapı kurabiliyor. Ayrıca çalıntı bir GitHub jetonu kabul edildiyse net-health-checker adlı bir izleyici devreye girebiliyor. Bu izleyici jetonun 401 veya 403 döndüğünü görünce ev dizinini silme komutunu çalıştırabiliyor. Yani olağan olay müdahalesinin ilk adımı — jetonu iptal etmek — silmeyi tetikleyebiliyor.
Socket’in sırası bu yüzden alışılmışın tersi: Önce makineyi yalıtın. net-health-checker ve pkg-runtime birimlerini durdurup kaldırın. Ancak ondan sonra ilgili GitHub jetonunu iptal edin. Ardından kimlikleri temiz bir cihazdan döndürün ve makineyi yeniden inşa edin. Paketi kaldırmak enfeksiyonu geri almaz; çünkü yazılar paket dizininin dışında.
Geliştirici ve güvenlik ekipleri ne arasın?
- Ruby bağımlılık kilit dosyaları, sürekli entegrasyon önbellekleri ve konteyner imajlarında strutil-core,
- Tanınmayan workspace-tools MCP girdileri ve oturum başlangıç kancaları,
- Beklenmeyen AGENTS.md, CLAUDE.md veya klasör açılışında betik çalıştıran düzenleyici görevleri,
- Yeni yayımlanmış ve açıklaması project-utils olan herkese açık depolar, olağandışı sürekli entegrasyon dalları.
Pencere kısaydı ve doğrulanmış kurban yok. Yine de yükün hedefi açık: Geliştiricinin paket yöneticisi bir kez kandırılırsa, aynı makinedeki ajan ve düzenleyici yapılandırması solucanı meşru bir “araç” gibi yeniden çağırabiliyor. Yapay zekâ kodlama araçlarını varsayılan yürütücü haline getiren ekipler için tedarik zinciri artık ajan yapılandırma dosyalarını da kapsıyor.
Kaynak: Socket tehdit araştırması ve siber güvenlik basın duyuruları






