Canlı bir sitede zafiyetli JavaScript kütüphanelerini bul

Bir sitenin gönderdiği kütüphaneler her ziyaretçinin tarayıcısında çalışır. RepoVerse hangilerinin, hangi sürümde olduğunu doğrudan canlı siteden — küçültülmüş paketlerin içinden bile — bulur ve her birini bilinen zafiyetlere karşı kontrol eder.

Sürümler nereden gelir

Sürüm bir çıkarımdır; bu yüzden rapor her zaman nasıl okunduğunu söyler.

  • CDN yolları ve dosya adları: cdnjs, unpkg, jsDelivr, code.jquery.com, WordPress ?ver= tarzı adlar
  • Dosyanın herhangi bir yerindeki lisans başlıkları; esbuild'in dosya sonu yorumları ve webpack'in .LICENSE.txt dosyası dahil
  • Küçültmeden sağ çıkan, yalnızca o kütüphanede olan kodun yanındaki sürüm yazıları
  • Sayfa HTML'indeki Angular ng-version damgası
  • pnpm kurulum yolları ve orijinal kütüphane dosyaları dahil yayımlanmış source map'ler

Tanıdığı kütüphaneler

Küçültülmüş paketlerin içinde: jQuery, lodash, moment, Handlebars, DOMPurify, Vue 2, Bootstrap, axios (0.22'den itibaren), react-dom, Next.js ve AngularJS. Lisans başlıklarından, dosya adlarından ve sayfadan: jQuery UI, underscore, Popper, Vue 3, Angular ve dahası; ayrıca URL'sinde sürümüyle unpkg veya jsDelivr'den yüklenen herhangi bir npm paketi. Her biri OSV'ye karşı kontrol edilir ve rapor tüm zafiyetlerini düzelten sürümü verir.

Gerçek build'lerde test edildi

Bilinen zafiyetleri olan dokuz kütüphane sürümü, tam bir production build'inde olduğu gibi Vite ve webpack ile paketlendi ve paketler bir site olarak sunuldu. Bu tespit yokken inceleme bunlardan birini buluyordu; şimdi her iki build'de sekizini buluyor. Dokuzuncusu axios 0.21, kodunda sürüm yazısı taşımıyor; bunu hiçbir pasif kontrol source map olmadan okuyamaz.

Neleri kontrol eder

  • YüksekBilinen zafiyetleri olan front-end kütüphanesi

    Sayfa, yayımlanmış zafiyetleri olan bir kütüphane sürümü gönderiyor; zafiyetli kod her ziyaretçinin tarayıcısında çalışıyor.

    web sitesi · CWE-1104

  • DüşükÜçüncü taraf script bütünlük kontrolü olmadan yükleniyor

    CDN veya diğer site ele geçirilirse sunduğu script sayfalarında tam yetkiyle çalışır — birçok kart bilgisi çalma saldırısının arkasındaki tedarik zinciri yolu.

    web sitesi · CWE-353

  • DüşükSource map dosyaları herkese açık

    Herkes orijinal, küçültülmemiş kaynağı indirebilir — yorumlar, iç API route'ları, feature flag'ler ve yayımlamayı düşünmediğin kod yolları — bu da bir sonraki saldırıyı planlamayı kolaylaştırır.

    web sitesi · CWE-540

Sorular

Bu bir retire.js alternatifi mi?
Aynı soruyu — bir sitenin hangi bilinen zafiyetli JavaScript'i gönderdiğini — hiçbir şey kurmadan canlı siteden cevaplar ve aynı raporda web sitesi güvenlik incelemesinin diğer kontrollerini ekler.
Taramanın bulduğu zafiyetli bir kütüphaneyi nasıl düzeltirim?
Raporun adını verdiği düzeltilmiş sürüme yükselt ve yeniden deploy et. Kütüphane bir CDN'den geliyorsa script URL'sindeki sürümü değiştir ve bir Subresource Integrity hash'i ekle. Artık kullanan yoksa kaldır.
Neden sürümün çıkarım olduğunu söylüyor?
Çünkü paketin kendisinden değil, bir dosya adından, bir başlıktan veya bir kod örüntüsünden okundu. Bunlar pratikte güvenilirdir; etiketlemek bir gerçekle güçlü bir çıkarım arasındaki farkı görünür tutar.

İlgili

Güncellendi 2026-10-11