- NPM kayıt defterinde 1.000’den fazla bileşen, birkaç saat içinde aynı yöntemle enfekte edildi ve kötü amaçlı kod içeren yeni sürümler yayımlandı
- Kötü amaçlı paketler, Bun runtime kurulum betiği gibi davranarak
setup_bun.js ve obfuscate edilmiş bun_environment.js dosyasını ekledi; çalıştırıldığında TruffleHog kullanarak yerel kimlik bilgilerini çaldı
- Toplanan AWS/GCP/Azure·GitHub·NPM token’ları gibi hassas bilgiler,
SHA1HULUD adlı bir GitHub Action runner üzerinden dışarı aktarıldı
- Kötü amaçlı betik,
npm publish komutunu otomatik çalıştırarak solucan benzeri kendi kendini çoğaltma gerçekleştirdi; sonuç olarak 27.000’den fazla GitHub deposu enfekte oldu
- Bu olay, açık kaynak ekosisteminin geneline yayılan tedarik zinciri güvenliği tehdidini yeniden gündeme getiren bir örnek olarak değerlendiriliyor
Saldırıya genel bakış
- 24 Kasım 2025’te HelixGuard, NPM kayıt defterinde 1.000’den fazla paketin birkaç saat içinde aynı yöntemle enfekte edildiğini tespit etti
- Yeni sürümler, Bun runtime ekliyormuş gibi davranıyor ve
preinstall: node setup_bun.js betiğini içeriyordu
- Birlikte dağıtılan
bun_environment.js dosyası obfuscate edilmiş kötü amaçlı koddu; çalıştırıldığında TruffleHog’u indirip yürütüyordu
- TruffleHog, yerel ortamda NPM token’ları, AWS/GCP/Azure kimlik bilgileri, ortam değişkenleri gibi verileri tarayarak çaldı
- Çalınan bilgiler,
SHA1HULUD adlı GitHub Action runner’ı oluşturup Sha1-Hulud: The Second Coming. açıklamasına sahip bir GitHub deposu üzerinden dışarı sızdırıldı
- HelixGuard, bu saldırının Eylül 2025’te yaşanan “Shai-Hulud” olayıyla aynı saldırgan tarafından gerçekleştirilmiş olabileceğine işaret ediyor
Kötü amaçlı kodun çalışma analizi
- Örnek olarak
@asyncapi/specs paketi incelendiğinde, NPM’de yayımlanan sürümün enfekte olduğu ancak GitHub’daki kaynak deponun güvenli olduğu görüldü
- Saldırgan,
package.json dosyasını değiştirerek setup_bun.js ekledi ve bu betiğin bun_environment.js dosyasını çağırmasını sağladı
bun_environment.js, 10 MB’tan büyük yüksek derecede obfuscate edilmiş bir JavaScript dosyası ve başlıca işlevleri şunlar:
- Ortam değişkenlerinden bulut kimlik bilgileri ve token toplama
- TruffleHog kullanarak gizli anahtar taraması yapma
- GitHub Actions üzerinden veri sızdırma
- Ayrıca
package.json dosyasını değiştirip enfeksiyon kodunu ekliyor ve npm publish komutunu otomatik çalıştırarak solucan benzeri yayılma gerçekleştiriyordu
GitHub enfeksiyonu ve veri sızdırma
- Kötü amaçlı betik,
.github/workflows/formatter_123456789.yml dosyasını oluşturup SHA1HULUD runner’ını kaydediyor
- Bu workflow, deponun gizli anahtarlarını çift Base64 kodlamasıyla
actionsSecrets.json dosyası halinde paketliyor
- Ardından
Sha1-Hulud: The Second Coming. açıklamasına sahip rastgele adlı bir GitHub deposu oluşturup verileri yüklüyor
- HelixGuard, 27.000’den fazla GitHub deposunun enfekte olduğunu doğruladı
- Çalınan gizli bilgiler arasında
AWS_ACCESS_KEY_ID, SLACK_WEBHOOK_URL, CODECOV_TOKEN, WEBFLOW_TOKEN gibi çeşitli hizmet kimlik bilgileri bulunuyor
Enfekte paketlerin listesi
- HelixGuard, yüzlerce NPM paketinin enfekte olduğunu bildirdi
- Bunlar arasında
@asyncapi, @ensdomains, @posthog, @zapier, @postman, @voiceflow gibi önemli kuruluşların paketleri de yer alıyor
- Her paket içinde birden fazla sürümün enfekte olduğu görüldü (ör.
@asyncapi/specs@6.8.2, @postman/csv-parse@4.0.5)
- Enfekte paketlerin çoğu meşru açık kaynak projeleri gibi görünüyordu ve otomatik dağıtım sürecine kötü amaçlı kod enjekte edilmişti
Güvenlik açısından çıkarımlar
- Bu saldırı, tedarik zinciri güvenliğindeki zayıflıkları istismar ederek büyük ölçekli açık kaynak ekosistemini enfekte eden bir vaka
- NPM·GitHub·bulut kimlik bilgileri dahil geliştirme altyapısının genelinde güvenlik yönetiminin güçlendirilmesi gerekliliğini ortaya koyuyor
- HelixGuard, enfekte paketlerin kurulumunun derhal durdurulmasını ve ilgili token’lar ile kimlik bilgilerinin hemen iptal edilmesini tavsiye ediyor
Henüz yorum yok.