deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Vercel blog

Vercel artık kötü niyetli npm paket sürümlerini derleme öncesinde ve sırasında engelliyor

Vercel artık lockfile'ları, build-cache geri yüklemelerini ve npm indirmelerini bir kötü yazılım kara listesine karşı denetliyor ve bilinen bir kötü niyetli paket sürümünü çeken tüm dağıtımları başarısız kılıyor. Bu koruma tüm planlarda varsayılan olarak açık.

Vercel artık kötü niyetli npm paket sürümlerini derleme öncesinde ve sırasında engelliyor

Vercel artık build pipeline'ında bağımlılık kurulumundan önce ve kurulum sırasında, bilinen kötü niyetli npm paket sürümlerini engelliyor; böylece kötü niyetli install script'leri çalışma şansı bile bulamıyor.

Vercel blog'una göre sistem, kötü yazılım içeren veya güvenlik açığı taşıdığı için seçilmiş belirli paket sürümlerini adlandıran bir kara listeden besleniyor. Bir kural eklendiğinde genellikle dakikalar içinde yeni derlemelere ulaşıyor. Korumalar, hiçbir yapılandırma gerektirmeden tüm planlardaki yeni derlemelere otomatik olarak uygulanıyor.

Engellemeler nasıl çalışıyor

Denetimler, derleme sürecinde iki noktada devreye giriyor.

Kurulum başlamadan önce Vercel, desteklenen herhangi bir lockfile'da kara listede yer alan sabitlenmiş bağımlılık sürümlerini arıyor. Bu inceleme, bağımlılıkların registry'den yeniden çözümlenmek yerine build cache'ten geri geldiği yolu da kapsıyor — aksi halde bu yol ağ bağlantısını tamamen atlayacaktı.

Kurulum sırasında Vercel, etkilenen paketlerin genel npm registry'sinden indirilmesini engelliyor; böylece listeye alınmış bir sürüm, lockfile aşamasını atlatabilse bile indirilemiyor.

Bunlar, Vercel'in önceki güvenlik önlemlerinin yerine geçen değil, onları tamamlayan eklemeler. Şirket, daha önce yaptığı gibi kurulu bağımlılıkları ve fonksiyon çıktılarını dağıtımdan önce incelemeye devam edeceğini belirtiyor.

Bir bağımlılık engellendiğinde ne olur

Engellenmiş bir sürüm tespit edildiğinde dağıtım doğrudan başarısız oluyor. Derleme hatası, sorumlu paketi ve sürümü adıyla belirtiyor ve Vercel, aynı bağımlılığın bir sonraki derlemede sessizce geri yüklenmemesi için etkilenen build cache'i geçersiz kılmaya çalışıyor.

Vercel'in önerdiği çözüm basit: bağımlılığı güvenli bir sürüme taşıyın, lockfile'ı buna göre güncelleyin ve yeniden dağıtın.

Neden önemli

Install script'leri, zamanlamanın burada kritik olmasının nedeni. npm paketleri, paket kurulduğunda otomatik olarak çalışan lifecycle script'leri içerebiliyor; bu yüzden bir paketin ele geçirilmiş ya da kasıtlı olarak kötü niyetli bir sürümü çok etkili bir saldırı vektörü oluşturuyor. Kurulumdan sonra çalışan bir tarama — ne kadar hızlı olursa olsun — yalnızca kötü bir şeyin derleme makinesinde zaten çalıştığını söyleyebilir. Kurulum başlamadan önce lockfile'ı değerlendirerek ve kurulum sırasında registry indirmesini engelleyerek Vercel'in denetimleri, kötü niyetli kodu derleme ortamından tamamen uzak tutmayı hedefliyor.

Cache denetimi ince bir boşluğu kapatıyor. Bağımlılıkları cache'ten geri yüklemek, tam da ağı atladığı için daha hızlı; dolayısıyla yalnızca registry trafiğini izleyen bir filtre, daha önce cache'lenmiş kötü bir sürümü kaçırırdı. Cache geri yüklemesini bir denetim noktası olarak ele almak, daha önce cache'lenmiş kötü niyetli sürümlerin de yakalanmasını sağlıyor.

Ekipler için pratik etki, tedarik zinciri savunmasının bir kısmının platforma kayması: katılınacak bir şey yok, yazılacak bir politika yok. Her kara listede olduğu gibi buradaki ödün, yalnızca bilinen kötü sürümlerin kapsanması. Henüz tespit edilip kurallara eklenmemiş yeni yayınlanmış kötü yazılım yine sızabilir; bu yüzden kurulum sonrası taramalar ve bağımlılıklara karşı genel dikkat hâlâ gerekli.

Ayrıca dikkat çekmeye değer operasyonel bir detay var. Belirli bir paketi ve sürümü adıyla veren bir hatayla aniden başarısız olan bir derleme artık sıradan bir kırılma değil, bilinen bir kötü niyetli bağımlılığın sinyali olabilir — ve doğru yanıt yeniden denemek değil, sürüm yükseltmesi ve lockfile güncellemesi yapmak.

  • #npm
  • #security
  • #vercel
  • #supply-chain

İlgili yazılar