Siber güvenlik

Microsoft'tan ChainDrop Saldırısı Analizi: 400'den Fazla npm Paketini Etkileyen Kendi Kendine Yayılan Solucan

Microsoft Threat Intelligence, farklı taraflarca yayımlanan 400'den fazla paketin içine gizlenen kimlik bilgisi hırsızı bir solucanın yer aldığı geniş çaplı bir npm tedarik zinciri saldırısını analiz etti. Kötü amaçlı yazılım geliştiricilerin ve CI/CD ortamlarının sırlarını topluyor, ardından npm ve GitHub belirteçlerini kullanarak kötü amaçlı sürümleri yeniden yayımlıyor ve ek yayılma yolları açıyor.

2026-08-04
5 dk okuma
8 görüntülenme
فريق تحرير certi.news
Microsoft'tan ChainDrop Saldırısı Analizi: 400'den Fazla npm Paketini Etkileyen Kendi Kendine Yayılan Solucan

Microsoft Threat Intelligence, görünüşte bağlantısız yayıncılara bağlı 400'den fazla paketi etkileyen geniş çaplı bir npm tedarik zinciri saldırısının ayrıntılarını açıkladı. Bu paketler arasında keyv, flat-cache ve cache-manager gibi kurumsal yazılım ekosistemlerindeki paketler de bulunuyor. Kötü amaçlı sürümler, yüksek düzeyde gizlenmiş, Bun üzerine kurulu bir JavaScript yükü olan Mini Shai-Hulud solucanının bir sürümünü içeriyordu. Bu yük, kimlik bilgilerini çalmak ve kötü amaçlı güncellemeleri yeniden yayımlayarak otomatik olarak yayılmak üzere tasarlanmıştı.

Bu saldırıyı özellikle önemli kılan, çalışma biçimidir. Yazılım yalnızca bir geliştiricinin cihazından veya derleme ortamından belirteçleri çalmakla kalmıyor; aynı zamanda bu belirteçleri npm, GitHub, Amazon Web Services, Kubernetes ve HashiCorp Vault'a erişmek, çalınan kimliklerin izin verdiği kaynakları ve sırları taramak için kullanıyor. Microsoft'un 4 Ağustos 2026'da yayımladığı analize göre, etkilenen bir paketi npm yaşam döngüsü betikleri etkin durumdayken içe aktaran herhangi bir iş istasyonu veya derleme çalışanı, güvenliği ihlal edilmiş kabul edilmelidir.

Geliştirme ortamlarında erken çalıştırma

Etkilenen sürümlere genellikle paket kurulumu tamamlanmadan önce setup.mjs adlı bir dosyayı çalıştıran preinstall betiği eklendi. Dosya, büyük ve gizlenmiş bir Bun paketini başlatıyor. Böylece yük, uygulama testleri başlamadan veya bazı geleneksel güvenlik kontrolleri bu aşamaya ulaşmadan önce geliştiricilerin cihazlarında ve derleme düğümlerinde çalıştırılabiliyor.

Solucan önce, geliştirici iş istasyonunda mı yoksa bir CI/CD görevi içinde mi çalıştığını belirlemek için ortamı inceliyor. Geliştirici cihazlarında kurulum tamamlandıktan sonra arka planda çalışmaya devam etmek üzere kendisini ayırırken, CI/CD ortamlarında iş akışının sırlarından, çalışanın kimlik bilgilerinden ve OpenID Connect üzerinden dağıtım izinlerinden yararlanmak için göreve bağlı kalıyor. Ayrıca başka bir sürümün çalışıp çalışmadığını kontrol ediyor ve Microsoft'un gözlemlediğine göre Rusça diline sahip sistemlerde duruyor.

Kimlik bilgilerini çalmayı yayılmaya dönüştürme

Yük, yerel olarak kullanılabilir kimlik bilgisi dosyalarını, ortam değişkenlerini, komut geçmişini, SSH anahtarlarını ve bulut araçlarını; ayrıca GitHub Actions çalışanlarının belleğindeki verileri toplayarak işe başlıyor. Diğer şeylerin yanı sıra GitHub CLI belirtecini elde etmeye çalışıyor. Ardından çıkarılan kimlik bilgilerini npm, GitHub, AWS, Kubernetes ve HashiCorp Vault hizmetlerinin API'lerini çağırmak, izinleri doğrulamak ve ek sırları toplamak için kullanıyor.

Sonuçlar, AES-256-GCM kullanılarak sıkıştırılmış JSON biçiminde şifreleniyor; AES anahtarı ise RSA-OAEP-SHA256 ile şifreleniyor. Ardından veriler, saldırganın kontrol ettiği bir HTTPS uç noktasına gönderiliyor. Temel kanal kullanılamadığında veri sızdırmak için GitHub alternatif bir kanal olarak kullanılıyor. Microsoft, analiz sırasında etkin olan altyapının npm-cache[.]com alan adını döndürdüğünü; önceki adaylar arasında ise pypi-get[.]com ve js-mirror[.]com alan adlarının yer aldığını belirtti.

Temel yayılma mekanizması, npm belirteçlerini tarayarak bunların paketlere yazma veya iki faktörlü kimlik doğrulamayı atlama yetkisi sağlayıp sağlamadığını kontrol ediyor. Ardından, ele geçirilen kimliğin erişebildiği her paket için en son tarball dosyasını indiriyor. Solucan kendisini arşive kopyalıyor, kurulum yükleyicisini ve yaşam döngüsü betiğini ekliyor, ardından yeniden yayımlamadan önce düzeltme sürüm numarasını artırıyor. Bu durum, kaynak deposunda eşleşen bir commit, birleştirme isteği veya sürüm etiketi olmadan, normal patch güncellemeleri gibi görünen kötü amaçlı sürümlerin ortaya çıkmasını açıklıyor.

GitHub üzerinden ek yollar

Yük, GitHub belirteçlerinin kapsamlarını kontrol ediyor, yazılabilir depoları sayıyor ve iş akışlarının başka sırları açığa çıkarabileceği depoları arıyor. Ayrıca GitHub Actions üzerinden yayımlanan npm paketlerini güvenilir yayıncılar olarak hedefleyen bir yol içeriyor. Bu durum, yayımlama işlemi meşru bir iş akışı kimliğinden geldiği için yayımlanan sürümlerin geçerli bir provenance bilgisine sahip olmasını sağlayabilir.

Solucan ayrıca depo dallarına yapılandırma dosyaları enjekte edebiliyor. Bunlar arasında .claude/settings.json, .claude/setup.mjs, .vscode/tasks.json ve .vscode/setup.mjs gibi Claude ve Visual Studio Code ile ilişkili yollar bulunuyor. Bu değişiklikler, özgün paket kurulumu tamamlandıktan sonra bile Claude veya Visual Studio Code kullanılırken yükü yeniden çalıştırabilecek ikincil bir bulaşma yolu sağlıyor. Microsoft, yedek GitHub yollarından birinin belirteçleri izlemek üzere bir bileşen yüklemeye de çalıştığını ve izlenen belirteç iptal edildiğinde koşullu bir bozucu işleyici içerdiğini belirtti.

Microsoft ne öneriyor?

Microsoft, npm CLI'ın 12. sürüme güncellenmesini ve min-release-age özelliğinin kullanılmasını öneriyor. Ayrıca dolaylı başvurular da dahil olmak üzere, beş etkilenen sürümü bulmak için bağımlılık ağaçlarının, kilit dosyalarının, yapıt depolarının ve CI önbelleklerinin incelenmesi gerekiyor. Bilinen güvenli sürümler sabitlenmeli ve özellikle ele geçirilmiş arşivler paylaşılan bir CI önbelleğine girdiyse, geliştirici cihazlarındaki ve derleme ana bilgisayarlarındaki npm ve yarn önbellekleri temizlenmelidir.

Bir derleme sistemi veya iş istasyonu etkilenen bir sürümü içe aktardıysa, kimlik bilgileri ve sırlar temiz bir cihazdan döndürülmelidir; çünkü ikinci aşamadaki çalıştırma belirteçleri açığa çıkarabilir ve derleme sürecinin bütünlüğünü etkileyebilir. Öneriler arasında Microsoft Defender Antivirus için bulut tabanlı korumanın, Microsoft Defender for Endpoint ölçümlerinin, Microsoft Defender for Containers'ın ve geliştirme ile CI varlıkları genelinde Microsoft Defender XDR'daki soruşturma iş akışının etkinleştirilmesi de bulunuyor.

Yanıt, cihazları taramakla sınırlı değil. Yazılım yapıtları üreten kuruluşlar; sürüm sürecinin sağlamlaştırılmasını, belirteç kapsamlarını, iş akışı onaylarını, korumalı ortamları, sürüm kaynağının kanıtını ve olağandışı otomatik yayımlamaları tespit etme mekanizmalarını gözden geçirmelidir. Bunun nedeni, olayın GitHub Actions OIDC izinleri aracılığıyla CI/CD hatlarının kötüye kullanılmasıyla örtüşmesidir. Müdahalenin ardından projeler güvenilir bir temel üzerinden yeniden oluşturulmalı, ele geçirilmiş izlerin önbelleklerde ve yapıt depolarında bulunmadığı doğrulanmalı, ölçümler incelenerek Math_Symbol.js, Math_init.js veya math_<guid>.js benzeri adlara sahip dosyalar gibi Node.js kalıntıları aranmalı ve temel görüntüler ile standartlaştırılmış derleme çalışanları yeniden oluşturulmalıdır.

Haber kaynağı
Microsoft Security Blog
Özgün kaynağı aç ↗
ف
Yazar

فريق تحرير certi.news

Aynı kategoride

Bunlar da ilginizi çekebilir

Tüm haberleri gör