- Shai Hulud 2.0, npm ekosistemini yeniden hedef alarak Zapier, ENS Domains, AsyncAPI, PostHog, Postman gibi büyük projelerin paketlerini enfekte etti
- Kötü amaçlı yazılım, kurulum sürecinde otomatik olarak çalışarak geliştirici sistemleri ve bulut ortamlarındaki gizli bilgileri çalıyor
- Enfekte sistemlerde TruffleHog kullanarak API anahtarları, token'lar, parolalar vb. bilgileri bulup herkese açık GitHub depolarına yüklüyor
- Bu saldırı öncekiye göre genişleyerek en fazla 100 paketi enfekte etti ve kimlik doğrulama başarısız olursa home dizinindeki dosyaları silme işlevi içeriyor
- npm ekosisteminin güven modelini tehdit eden büyük ölçekli bir tedarik zinciri saldırısı olarak, tüm geliştirme ekiplerinin gizli bilgileri denetleyip değiştirmesi gerekliliğini öne çıkarıyor
Shai-Hulud kampanyasına genel bakış
- Shai-Hulud, npm ekosisteminde kendini kopyalayan solucan tipi bir kötü amaçlı yazılım ve enfekte geliştirici ortamları üzerinden hızla yayılıyor
- Enfeksiyon sonrasında TruffleHog kullanarak API anahtarları, token'lar ve benzeri sızmış gizli bilgileri arıyor
- Toplanan bilgiler herkese açık GitHub depolarına gönderiliyor, ardından yayılmak için npm'e yeni kötü amaçlı paketler yayımlanıyor
- Saldırganlar bu saldırıyı “Second Coming” olarak adlandırdı
- Saldırı, npm'in 9 Aralık'ta eski token'ları devre dışı bırakacağını duyurduğu dönemde yeniden başladı
Saldırı zaman çizelgesi
- 27 Ağustos: S1ngularity kampanyası raporu yayımlandı
- 16 Eylül: İlk Shai-Hulud saldırısı gerçekleşti
- 18 Eylül: Teknik analiz ve payload davranışı raporlandı
- 24 Kasım: npm token iptalinden hemen önce ikinci saldırı (Second Coming) gerçekleşti
Saldırı yöntemindeki değişiklikler
- Bu saldırıda
setup_bun.jsdosyası üzerinden Bun runtime kuruluyor ve ardındanbun_environment.jsçalıştırılıyor - Çalınan verileri yüklemek için rastgele isimli GitHub depoları oluşturuluyor
- Enfekte edilen hedef paket sayısı 20'den 100'e çıktı
- GitHub veya npm kimlik doğrulaması başarısız olursa kullanıcının home dizininin tamamını silme işlevi bulunuyor
Enfekte paketler
- Toplam 492 npm paketi enfekte oldu ve aylık indirme sayısı 132 milyona ulaşıyor
- Başlıca etkilenen projeler: Zapier, ENS Domains, AsyncAPI, PostHog, Postman, Browserbase
- Örnek paketler:
@zapier/zapier-sdk,@ensdomains/ensjs,@asyncapi/cli,posthog-js,@postman/pm-bin-linux-x64vb.
Gizli bilgi sızıntısı
- Kötü amaçlı yazılım, “Sha1-Hulud: The Second Coming” açıklamasını içeren GitHub depolarına gizli bilgileri yüklüyor
- Şu ana kadar 26.300'den fazla deponun açığa çıktığı doğrulandı
Saldırganın hatası
- Bazı paketlerde yalnızca
setup_bun.jsbulunuyor vebun_environment.jseksik olduğu için solucan tam olarak çalışmıyor - Bu nedenle saldırının yayılım kapsamı sınırlı kaldı
Enfeksiyon yolu ve ilk bulaşma noktası
- İlk enfeksiyon 24 Kasım 2025 03:16:26 GMT+0 tarihinde
go-templateve AsyncAPI ile ilişkili 36 pakette başladı - Ardından PostHog(04:11:55) ve Postman(05:09:25) yönünde yayıldı
- AsyncAPI CLI deposunda kötü amaçlı dal oluşturulduktan sonra dağıtılan kod tespit edildi
Olası etki
- Kurulum sırasında otomatik olarak çalıştığı için geliştiricinin yerel ortamına, build sistemlerine ve bulut kimlik bilgilerine erişebiliyor
- Çalınan gizli bilgiler üzerinden ek hesap ihlali ve yeni kötü amaçlı paket yayımlama ihtimali bulunuyor
- npm ekosistemindeki güvene dayalı tedarik zinciri güvenliği için ciddi bir tehdit oluşturuyor
Güvenlik müdahalesi önerileri
- Zapier ve ENS ile ilgili npm bağımlılıklarının tamamını gözden geçirin
- GitHub, npm, bulut ve CI/CD gizli bilgilerini tamamen değiştirin
- GitHub'da açıklamasında “Sha1-Hulud: The Second Coming” geçen depoları arayın
- CI ortamlarında npm
postinstallscript'lerini devre dışı bırakın - Paket sürümlerini sabitleyin ve MFA'yı etkinleştirin; Safe-Chain gibi araçlarla kötü amaçlı paketleri engelleyin
Sonuç
- Shai-Hulud 2.0, npm tedarik zincirini hedef alan büyük ölçekli bir yeniden saldırı olup
yüzlerce popüler paket ile binlerce GitHub deposunu etkiledi - Tüm geliştirme ekipleri bağımlılık doğrulama, gizli bilgi değiştirme ve otomatik kurulum script'lerini engelleme adımlarını derhal atmalı
1 yorum
Hacker News görüşleri
Bubblewrap(bwrap) bahsetmeye değer. Bu araç, npm/node ortamında ortaya çıkabilecek saldırı vektörlerinin çoğunu ortadan kaldırabilir ya da en azından rastgele kod çalıştırma durumunda zararı sınırlayabilir
Mükemmel bir çözüm değil, ancak basit bir sarmalayıcı betikle birlikte kullanıldığında rootless Podman container'ından çok daha iyi olduğunu düşünüyorum
Bubblewrap GitHub bağlantısı
Python ile yazılmış bir betik paylaşılıyor. Bu betik, depolarım arasında pnpm veya npm lock dosyalarında bozulmuş paket bulunup bulunmadığını kontrol ediyor
betik bağlantısı
İlk başta tekrar (Dup) gibi görünüyordu, ama aslında farklı bir haberdi
ilgili bağlantı
Tekrarlanan tartışmanın burada sürdüğü bildiriliyor
Başlıkta yazım hatası olduğu belirtiliyor. Mevcut HN başlığı
Sha1-Hulud: The Second Comingolduğu için karışıklık çıkmış gibi görünüyorsha1-huludadıyla yayımlıyorilgili GitHub arama bağlantısı