Mini Shai-Hulud solucanı, şimdiye kadarki en büyük tek kayıt dalgalarından birinde yeniden ortaya çıktı ve AntV veri görselleştirme ekosistemine bağlı yüzlerce npm paketini koordineli bir saldırıyla hedef aldı. Socket Tehdit Araştırma Ekibi'nin yeni analizine göre, saldırı 19 Mayıs'ta 01:56 UTC civarında başladı ve yaklaşık bir saat sonra durmadan önce 323 benzersiz paket üzerinde 639 kötü amaçlı sürüm yayınladı. Microsoft, daha önce Mini Shai-Hulud kampanyası için Defender koruma kılavuzu yayınlamıştı ve 19 Mayıs Salı günü X üzerinden kendi soruşturmasından güncellemeler sağladı. Etkilenen paketler arasında echarts-for-react, size-sensor, @antv/scale ve timeago.js gibi yüksek indirme sayısına sahip npm bağımlılıkları bulunuyor. Tehlikeye atılan npm bakıcı hesabı 'atool', 500'den fazla pakete yayınlama yetkisine sahipti.
Her kötü amaçlı sürüm, package.json'a bir preinstall kancası ekleyerek 498 KB'lık gizlenmiş bir Bun paketi çalıştırıyor. Bu paket, bulut kimlik bilgilerini, CI/CD token'larını, SSH anahtarlarını, Kubernetes servis hesabı token'larını ve yerel parola yöneticisi kasalarını topluyor. Yük, çalınan verileri, çalınan token'lar kullanılarak oluşturulan ve Dune evreni terminolojisiyle adlandırılan, açıklamalarında 'Shai-Hulud: Here We Go Again' yazan ters çevrilmiş bir işaretleyici içeren genel GitHub depoları aracılığıyla sızdırıyor. Upwind'den güvenlik araştırma lideri Avital Harel, operasyonun olgun ve savunma bilincine sahip göründüğünü, saldırganların kötü amaçlı yazılımı tespit etmek ve analiz etmek için kullanılan araçları öngördüğünü söyledi. 'Kampanya sadece yayılmak için değil, aynı zamanda analizi yavaşlatmak için de inşa edilmişti' dedi.
Socket, kullanılan taktikleri 'koordineli kötü amaçlı yayınlar içeren yüksek hacimli npm güvenlik açığı modeli' ile tutarlı olarak tanımladı. Şirket, tüm dalgalar boyunca npm, PyPI ve Composer'ı kapsayan 502 benzersiz pakette 1055 güvenliği ihlal edilmiş sürüm izledi. 2500'den fazla GitHub deposunda kampanya işaretçileri kaydeden StepSecurity, daha geniş etkinliği TeamPCP olarak bilinen finansal motivasyonlu bir kümeye atfetti. AntV dalgası, önceki dalgalarda kullanılan bir yük dağıtım tekniğini genişletti. Kötü amaçlı sürümlerin büyük çoğunluğu, ilgisiz bir güvenilir depoda (antvis/G2) yetim commit'lere işaret eden optionalDependencies girişleri enjekte ediyor. Bu commit'ler, projenin gerçek bir bakıcısına ait sahte yazarlıkla oluşturulmuş ve daha yakından incelemeyi caydırmak için tasarlanmış.
Nasıl Önlem Alınmalı?
GitHub, commit'leri bir deponun fork ağı boyunca paylaşılan bir nesne havuzunda saklar ve npm'in github: çözümleyicisi, bir commit'in hangi fork'ta olduğunu kontrol etmeden commit karmasına göre getirir. Bu, bir saldırganın antvis/G2'nin kendi fork'una bir commit göndermesine ve ana deponun URL'sinden sunulmasına olanak tanır. Semgrep'in kurucusu ve CEO'su Isaac Evans, bu kademeli etkinin bağımlılıkların nasıl güvenildiğine dair yapısal bir sorunu yansıttığını söyledi. 'Yıllardır güvendiğiniz bir paket aniden bir dağıtım mekanizması haline gelebilir' diye uyardı.
Snyk, etkilenen kuruluşlara kurulum sırasında erişilebilen herhangi bir sırrın (organizasyon kapsamlı GitHub Actions sırları ve OIDC token'ları dahil) güvenliğinin ihlal edildiğini varsaymalarını tavsiye etti. Önerilen adımlar arasında bağımlılıkları 19 Mayıs'tan önce yayınlanan sürümlere sabitlemek, etkilenen derleme ortamlarına maruz kalan tüm kimlik bilgilerini döndürmek ve GitHub hesaplarını kampanyanın Dune temalı adlandırma deseni ve ters çevrilmiş dize işaretleyicisiyle eşleşen yetkisiz depo oluşturma açısından denetlemek yer alıyor.
Sonuç ve Değerlendirme
Bu saldırı, yazılım tedarik zinciri güvenliğindeki zayıflıkları bir kez daha gözler önüne seriyor. Geliştiricilerin, güvendikleri paketlerin bile aniden kötü amaçlı hale gelebileceğini unutmamaları ve bağımlılıklarını sürekli izlemeleri gerekiyor. npm ekosisteminde bu tür saldırıların artması, paket yöneticilerinin ve kayıt defterlerinin daha sıkı güvenlik önlemleri almasını zorunlu kılıyor.
Kaynak: infosecurity-magazine.com