Kötü Amaçlı npm Paketi

Baileys Fork'ta Kötü Amaçlı npm Paketi (Skyzopedia Vakası)

TL; DR

MKS Xygeni Güvenlik Araştırma Ekibi bir tanımladı kötü amaçlı npm paketi, @dappaoffc/baileys-modYaygın olarak kullanılan WhatsApp Web API kütüphanesinin bir çatalı olarak yayınlandı. @whiskeysockets/baileys.

8.0.1 sürümünden itibaren, bu zararlı npm paketi, çalışma zamanı kod enjeksiyonu içeren bir yazılım barındırmaktadır. lib/Socket/newsletter.jsEnjekte edilen mantık, geliştiricinin kimliği doğrulanmış WhatsApp bot oturumunu, saldırganın kontrolündeki haber bülteni kanallarına sessizce abone eder.

Bu zararlı yazılım, modül yüklendikten 80 saniye sonra etkinleşir ve hedef listesini GitHub'dan dinamik olarak alır; bu da davranışın kendi kendini güncellemesini ve kurulum zamanı analiziyle tespit edilmesini zorlaştırır.

Teknik Genel Bakış

Xygeni Güvenlik Araştırma Ekibi, yeni yayınlanan bağımlılıkların rutin izlenmesi sırasında anormal davranışlar tespit etti. @dappaoffc/baileys-mod, daha sonra bir kötü amaçlı npm paketi WhatsApp bot ekosistemini hedefliyor.

Kimlik bilgilerini çalan solucanlar veya fidye yazılımı yükleyicilerinin aksine, bu kötü amaçlı npm paketi, bir geliştirici ile yaygın olarak çatallanan açık kaynaklı bir kütüphane arasındaki güven ilişkisini kötüye kullanır.

Bu paket, değiştirilmiş bir sürüm olarak kendini sunmaktadır. BaileysWhatsApp Web API'nin otomasyon botları oluşturmak için yaygın olarak kullanılan popüler bir uygulamasıdır. Bu ekosistem içinde, çatallanmış sürümlerin kurulumu yaygın bir uygulamadır. Sonuç olarak, saldırgan bir güvenlik açığından yararlanmak yerine gerçekçi bir dağıtım modelini kullandı.

Önemli olan:

  • MKS Ön yükleme betiği yalnızca Node.js sürümünü doğrular.
  • Kurulum sırasında kimlik bilgilerinin sızdırılması söz konusu değildir.
  • Kurulum sonrası şüpheli bir etkinlik görünmüyor.
  • Enjeksiyon işlemi kesinlikle çalışma zamanında gerçekleşir.

Bu tasarım nedeniyle, kurulum sırasında çalışan tarayıcılar kötü amaçlı davranışları tespit edemezdi.

Kötü Amaçlı npm Paketinin İçindeki Çalışma Zamanı Enjeksiyon Mekanizması

Bu zararlı npm paketinin içindeki kötü amaçlı mantık şurada yer alıyor: lib/Socket/newsletter.jsModülün yürütme bağlamına doğrudan yerleştirilmiştir.

Saldırgan, enjekte edilen bloğu, modül yüklendiği anda yürütülmesini garanti eden bir Anında Çağrılan Fonksiyon İfadesi (IIFE) içine sardı.

Ancak, anında tetiklenmek yerine, zararlı yazılım gecikmeli bir yürütme mekanizması devreye sokar:

Gecikme süresi sona erdikten sonra, veri paketi kontrollü bir dizi işlem gerçekleştirir:

  • Bir şey getirir JSON GitHub ham içerik URL'sinden alınan dosya.
  • WhatsApp haber bülteni kimliklerinin listesini ayrıştırır.
  • Listeyi tek tek dolaşır.
  • aramalar newsletterWMexQuery(id, QueryIds.FOLLOW) her giriş için.
  • Hız sınırlaması tespitini azaltmak için istekler arasında beş saniyelik boşluklar bulunur.
  • Çalışma sırasında oluşan tüm hataları sessizce bastırır.

Kod, harici komut dosyaları yerine dahili kütüphane fonksiyonlarını çağırdığı için, ortaya çıkan trafik, meşru kullanıcı tarafından başlatılan eylemlerden ayırt edilemez görünmektedir. WhatsApp adlı Protokol açısından bakıldığında, bot bu kanallara gönüllü olarak abone oldu.

Teknik Karşılaştırma: Meşru Davranış vs. Enjeksiyonla Oluşturulan Davranış

Bileşen Meşru Davranış Kötü Amaçlı Enjeksiyon
Kurulum Aşaması Yalnızca Node.js sürümünü doğrular. Kurulum sırasında herhangi bir kötü amaçlı davranış tespit edilmedi.
Modül Başlatma WhatsApp soket fabrikası ihracatı IIFE, modül yüklendiğinde otomatik olarak yürütülür.
Yürütme Zamanlaması Gecikmeli davranış yok 80 saniyelik gecikmeli aktivasyon
Ağ İletişimi Yalnızca WhatsApp WebSocket protokolü üzerinden iletişim kurar. GitHub'a giden ham içerik alma işlemi (dinamik kontrol kanalı)
Bülten İşlemleri Kullanıcı tarafından başlatılan abonelik talepleri Dahili kütüphane API'si aracılığıyla otomatik FOLLOW istekleri
Hata işleme Operasyonel hataları yayar Tüm istisnaları sessizce bastırır.

GitHub üzerinden Dinamik Kontrol Kanalı

Haber bülteni kimlik listesi şu adreste barındırılmaktadır:

Bu tasarım, çeşitli operasyonel avantajlar sağlamaktadır:

  • Yeni bir npm sürümü yayınlamadan dinamik veri yükü güncellemeleri
  • Normal geliştirici trafiğine karışan güvenilir TLS uç noktası.
  • Saldırgan tarafından yönetilen herhangi bir altyapıya gerek yok.
  • Hali hazırda devreye alınmış botlarda süreklilik

Enjeksiyon, fabrika kapsamı içinde yürütüldüğü için, aşağıdaki gibi dahili kapatmaları yeniden kullanır: newsletterWMexQuery hem de delay Harici modüller içe aktarılmadan. Bu, kapladığı alanı en aza indirir ve gizliliği artırır.

Özetle, GitHub hafif bir komut dağıtım kanalı görevi görüyor.

Bağımlılık Takma Adı ve Atıf Sinyalleri

Paket meta verileri aşağıdaki bağımlılık takma adını içerir:

Bu, kritik bir kriptografik bağımlılığı saldırganın kontrolündeki bir npm kapsamına yönlendirir.

Ek olarak, meta veriler, orijinal yazar ve depoyu referans göstererek yukarı akış projesini taklit eder. Bu, algılanan meşruiyeti artırır ve sıradan inceleme sırasında denetimi azaltır.

Bu sinyaller, kasıtlı ekosistem harmanlamasına işaret etmektedir. fırsatçı müdahale.

Bu Kötü Amaçlı npm Paketine İlişkin Güvenlik İhlali Göstergeleri

Bu zararlı npm paketini araştıran güvenlik ekipleri aşağıdaki sinyalleri değerlendirmelidir:

Ağ Sinyalleri

  • Giden GET isteklerine raw.githubusercontent.com WhatsApp bot süreçlerinden
  • Uygulama mantığı tarafından tetiklenmeden gerçekleşen bülten takip etme eylemleri

Paket Sinyalleri

  • @dappaoffc/baileys-mod versiyon 8.0.1 (ve potansiyel olarak 8.0.0)
  • Bağımlılık takma adı yönlendirmesi libsignal
  • Çalışma zamanı IIFE enjeksiyonu içeride newsletter.js

Davranışsal Sinyaller

  • Beş saniyelik aralıklarla gönderilen TAKİP istekleri
  • Bülten aboneliklerinden önce herhangi bir kullanıcı etkileşimi gerekmez.
  • Çekirdek kütüphane kodunda sessiz hata bastırma

Geleneksel kötü amaçlı yazılımların aksine, bu saldırı kimlik bilgilerinin sızdırılmasını gerektirmez. Saldırı tamamen zaten kimliği doğrulanmış bir oturum bağlamında gerçekleşir.

Xygeni ile Tespit ve Önleme

Bu örnek, yalnızca kurulum sırasında yapılan taramanın neden yetersiz olduğunu göstermektedir. Kötü amaçlı davranış, modül yüklendikten sonra çalışır ve meşru iş mantığının içine gizlenir.

Xygeni'nin Kötü Amaçlı Yazılım Erken Uyarı Sistemi (MEW) Bu paket, tek bir imzaya güvenmek yerine birden fazla sinyali ilişkilendirerek tespit edildi.

Tam Kaynaklı Statik Analiz

MEW, yalnızca yaşam döngüsü komut dosyalarını değil, paketlerin tüm kaynak ağaçlarını inceler.

Bu durumda, tespit edilen sinyaller şunları içeriyordu:

  • Beklenmedik bir fetch() WhatsApp çekirdek modülü içindeki çağrı
  • GitHub'a giden iletişim, ham içerik
  • Çalışma zamanı mantığına gömülü gecikmeli yürütme kalıpları
  • İç içe sessiz hata işleme

Tek tek bakıldığında, bu desenler zararsız görünebilir. Bununla birlikte, birleşik analiz, meşru bir Baileys çatalıyla tutarsız anormal davranışları ortaya koymaktadır.

Bağımlılık Riski Korelasyonu

MKS libsignal Bu takma ad, hassas bir bağımlılığı doğrulanmamış bir kapsama yönlendirdiği için ek incelemeye tabi tutuldu.

Xygeni ile ilişkili olanlar:

  • Yayıncı itibar sinyalleri
  • Kapsam sahipliği tutarsızlıkları
  • Kriptografik kütüphanelere bağımlılık yönlendirmesi
  • Meta veri taklit göstergeleri

Bu katmanlı analiz, güvenin kötüye kullanılmasını tespit ederken yanlış pozitifleri azaltır.

Çalışma Zamanına Duyarlı Tedarik Zinciri Kontrolleri

Bu zararlı npm paketi çalışma zamanında yürütüldüğü için, etkili savunma davranışa duyarlı analiz gerektirir.

Xygeni şu değerlendirmeleri yapıyor:

  • Gecikmeli yürütme mekanizmaları
  • Dahili API'nin kötüye kullanımı
  • Bağımlılık kodu içindeki giden ağ çağrıları
  • Üçüncü taraf kütüphaneler içindeki anormal kontrol akışı

Buna ek olarak, Guardrails politikalar CI/CD Yapabilmek:

  • Derleme işlemleri sırasında beklenmeyen giden aramaları engelleyin.
  • Şüpheli bağımlılık grafiği değişikliklerini tespit et
  • Kapsam yönlendirmesine ilişkin kısıtlamaları uygulayın.
  • Dinamik yük alma kalıplarını işaretle

Dolayısıyla, engelleme yalnızca kayıt defterinden dosyaların kaldırılmasına bağlı değildir.

Bu Zararlı npm Paketi Tedarik Zinciri Güvenliği Açısından Neden Önemli?

Bu kötü amaçlı npm paketi, tedarik zinciri suistimalinde yapısal bir değişimi yansıtıyor:

  • Kurulum zamanı yükleri yerine çalışma zamanı yürütme
  • Güvenilir platformlarda barındırılan dinamik kontrol kanalları
  • Meşru dahili API'lerin kötüye kullanımı
  • Yukarı akış geliştiricilerini taklit etmek için meta veri sahtekarlığı.

Saldırgan bir yazılım güvenlik açığından yararlanmadı. Bunun yerine, saldırgan çatallanmalara ve bağımlılık güncellemelerine duyulan güveni istismar etti.

Sonuç olarak, tespit yalnızca komut dosyası taramasıyla değil, tam kaynak kod incelemesi, bağımlılık riski korelasyonu ve çalışma zamanı odaklı analizle de mümkün olmaktadır.

sca-tools-software-composition-analysis-tools
Yazılım risklerinizi önceliklendirin, giderin ve güvence altına alın.
Ücretsiz hesabınızı alın.
Hiçbir kredi kartı gerekmektedir.

Yazılım Geliştirme ve Teslimatınızı Güvence Altına Alın

Xygeni Ürün Paketi ile