24 npm paketi unpkg aynalarını sahte Cloudflare CAPTCHA sayfası barındırmak için kullandı
2 dk okuma.md
OX Security araştırmacıları Moshe Siman Tov Bustan ve Vitalii Chepurko, alışılmadık bir npm kampanyası ortaya çıkardı. 24 paket, içinde JavaScript kütüphanesi değil, yalnızca basit bir HTML dosyası taşıyor. Paketler kimseye kurulsun diye yayınlanmamış; amaç, unpkg gibi npm aynalarının her paketi otomatik olarak unpkg.com/<paket>@<sürüm>/index.html adresinde yayınlamasından faydalanmak.
Sonuç: saldırganın tamamen kontrol ettiği bir oltalama sayfası, herkesin güvendiği bir alan adı altında, geçerli TLS sertifikasıyla açılıyor.
Sayfa ne yapıyor?
Ziyaretçi sahte bir Cloudflare "İnsan olduğunuzu doğrulayın" ekranı görüyor. Tıkladığında saldırgan altyapısına yönlendiriliyor. İlk sürümler Microsoft giriş sayfasını taklit eden typosquat alan adlarına gidiyordu. Chrome Safe Browsing bu adresleri engelleyince saldırganlar taktik değiştirdi: yönlendirme adresini KeyVal adlı ücretsiz bir anahtar-değer servisinden dinamik olarak çekmeye başladılar. Böylece paketi güncellemeden, tek bir API çağrısıyla hedefi değiştirebiliyorlar. Araştırma sırasında sayfalar ChatGPT'ye yönlendiriyordu; ancak aynı mekanizma her an ClickFix ya da kimlik hırsızlığı sayfasına çevrilebilir.
Paket adları rastgele harf yığınlarından oluşuyor (ndmxchdjxn2, mn4xcouzvhus gibi) ve aralarında @worrisome/reutil gibi kapsamlı bir paket de var.
Neden dikkat çekici?
Bu kampanya "tedarik zinciri saldırısı" başlığıyla anılsa da geliştiricilere bulaşmıyor. Asıl mesaj, güvenilir altyapının barındırma alanı olarak kötüye kullanılması. GitHub Pages, Google Drive, SharePoint derken listeye unpkg de eklendi. URL filtrelemeye "bilinen iyi alan adı" mantığıyla yaklaşan kurumlar bu tür sayfaları göremez.
Alınabilecek önlemler
- Alan adı itibarına değil, sayfa davranışına bakan web filtreleme ya da tarayıcı izolasyonu çözümlerini değerlendirin.
- Kurumsal ağdan
unpkg.com,cdn.jsdelivr.netgibi CDN'lere yapılan doğrudan tarayıcı ziyaretlerini (script yüklemesi değil, sayfa açma) loglayıp anomali olarak işaretleyin. Normal bir kullanıcının bu adreslere gitmesi için sebep yoktur. - Kullanıcılara sahte CAPTCHA farkındalığı: Gerçek Cloudflare doğrulaması sizden hiçbir şey kopyalayıp yapıştırmanızı ya da başka bir siteye gitmenizi istemez.
- Geliştirme ekipleri için:
package.jsonbağımlılıklarınınpm auditve Socket, Snyk gibi araçlarla düzenli tarayın; listelenen 24 paketin projelerde bulunmadığını doğrulayın.
Kaynak: The Hacker News — 24 npm Packages Abuse unpkg Mirrors to Host Fake Cloudflare CAPTCHA Pages. Bu yazı kaynağın birebir çevirisi değil, Türkçe özet ve yorumudur.