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
- Kanıtını gösteren web sitesi güvenlik taramasıPasif web sitesi güvenlik taraması: HTTPS ve HSTS, CSP, cookie'ler, karışık içerik, açıkta kalan anahtarlar ve eski JavaScript kütüphaneleri — kanıtıyla birlikte.
- Zafiyetli bağımlılıklar: senin yazmadığın kodUygulama kodunun çoğu üçüncü taraftır. Zafiyetli bağımlılıkların projeye nasıl girdiği (CWE-1395), neden önemli olanın lockfile olduğu ve düzelten yükseltmeyi nasıl seçersin.
- Siteler arası betik (XSS): nasıl çalışır, nasıl durdurulurYansıtılan, kalıcı ve DOM tabanlı XSS (CWE-79), zafiyetli ve düzeltilmiş kodla; ayrıca hasarı sınırlayan şablon, CSP ve cookie ayarları.
Güncellendi 2026-10-11