Purescript npm yükleyicide kötü amaçlı kod bulundu

npm taslak

Bir kaç gün önce PureScript yükleyicisi ile npm paketinin bağımlılıklarında kötü amaçlı kod tespit edildi, bu purescript paketini kurmaya çalışırken ortaya çıkar.

Zararlı kod cwd'den yükleme veya npm bağımlılıkları aracılığıyla gömülü ve hız haritası bağımlılıkları. Yakın zamana kadar bu npm paketinin bakımına dahil olan, ancak paket diğer bakımcılara gönderilen, PureScript yükleyicili npm paketinin orijinal yazarının, bu bağımlılıkları içeren paketlere eşlik etmekten sorumlu olduğu unutulmamalıdır.

Problem hakkında

Sorun, paketin yeni analistlerinden biri tarafından keşfedildi, npm purescript paketinin orijinal yazarı ile birçok anlaşmazlık ve kötü tartışmalardan sonra bakım haklarının devredildiği.

Yeni bakıcılar PureScript derleyicisinden sorumludur ve NPM paketinin, yükleyicisiyle birlikte proje dışındaki bir geliştirici tarafından değil, bakımcıların kendileri tarafından onarılması gerektiğinde ısrar ettiler.

PureScript yükleyicisine sahip npm paketinin yazarı uzun süre aynı fikirde değildi, ancak daha sonra pes etti ve depoya erişim izni verdi. Ancak bazı bağımlılıklar onun kontrolünde kaldı.

Geçen hafta, PureScript 0.13.2 derleyicisinin piyasaya sürüldüğü duyuruldu ve yeni bakımcılar, yükleyiciyle birlikte npm paketinin ilgili güncellemesini hazırladılar, kötü amaçlı kodun tespit edildiği.

Kötü amaçlı kod ilk olarak "load-from-cwd-or-npm" npm paketine eklendi 3.0.2 sürümünde ve ardından 1.0.3 sürümünden oran haritası paketinde. Son günlerde her iki paketin de birkaç versiyonu yayınlandı.

PureScript yükleyicisiyle birlikte npm paketinin yazarına eşlik eden gönderiden ayrıldı, hesabının bilinmeyen saldırganlar tarafından ele geçirildiğini söyledi.

Sin ambargo, mevcut formda, kötü amaçlı kodun eylemleri yalnızca paket kurulumunu sabote ederek sınırlandırıldı, yeni geliştiricilerin ilk versiyonuydu. "Npm i -g purescript" komutuyla herhangi bir açık kötü amaçlı etkinlik gerçekleştirilmeden bir paket kurulmaya çalışıldığında kötü niyetli eylemler döngüye alındı.

İki saldırı tespit edildi

Özet olarak, kod, indirmenin tamamlanmasını önlemek için purescript npm yükleyicisini sabote ederBu, yükleyicinin "Platformunuz için önceden derlenmiş bir ikili dosyanın sağlanıp sağlanmadığını kontrol edin" adımı sırasında askıda kalmasına neden olur.

İlk açıktan yararlanma, bunu cwd veya npm paketinden yükü kırarak yaptı böylece loadFromCwdOrNpm () 'ye yapılan herhangi bir çağrı, beklenen paket (bu durumda, derleyici ikili dosyalarını indirmek için kullandığımız istek paketi) yerine bir geçiş sırası döndürecektir. Kötüye kullanımın ikinci yinelemesi, bir indirme geri aramasının başlatılmasını önlemek için bir kaynak dosyayı değiştirerek bunu yaptı.

4 gün sonra geliştiriciler kusurların kaynağını anladılar ve cwd-o-npm'den yüklemeyi bağımlılıklardan hariç tutmak için bir güncelleme yayınlamaya hazırlanıyorlardısaldırganlar, kötü amaçlı kodun kaldırıldığı başka bir cwd-veya-npm 3.0.4 güncellemesini yayınladı.

Ancak, başka bir Rate-Map 1.0.3 bağımlılığı için bir güncelleme neredeyse anında yayınlandı ve indirmeye yönelik geri arama çağrısını engelleyen bir düzeltme eklendi.

Yani, her iki durumda da, cwd'den veya npm'den yüklemenin yeni sürümlerindeki değişiklikler ve harita hızı, görünür bir sapma niteliğindeydi.

Ayrıca, kötü amaçlı kodda, yalnızca yeni bakımcıların sürümünü yüklerken başarısız eylemleri tetikleyen bir kontrol vardı ve önceki sürümleri yüklerken hiç görünmedi.

Geliştiriciler, sorunlu bağımlılıkların kaldırıldığı bir güncelleme yayınlayarak sorunu çözdüler.

PureScript'in sorunlu sürümünü yüklemeye çalıştıktan sonra, tehlikeye atılan kodun kullanıcıların sistemlerine yüklenmesini önlemek için

Nihayet geliştirici önerir sistemlerinde paketin söz konusu sürümlerine sahip olan herkese node_modules dizinlerinin ve package-lock.json dosyalarının içeriklerini kaldırın ve ardından purescript versiyon 0.13.2'yi ayarlayın.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.