npm 12 Güncellemesi: Güvenlik İçin Kurulum Scriptleri Varsayılan Kapalı

npm 12 iddiası ne anlatıyor? InfoQ Ana Sayfası Haberler npm 12 Yayınlandı: Kayıt Defteri Açık Güvene Geçtiğinden Komut Dosyalarını Yükleme Varsayılan Olarak Kapalı Web Geliştirme npm 12 Yayınlandı: Kayıt Defteri Açık Güvene Geçtiğinden Komut Dosyalarını Varsayılan…

11
Paylaş
npm 12 Güncellemesi: Güvenlik İçin Kurulum Scriptleri Varsayılan Kapalı

npm 12 iddiası ne anlatıyor?

InfoQ Ana Sayfası Haberler npm 12 Yayınlandı: Kayıt Defteri Açık Güvene Geçtiğinden Komut Dosyalarını Yükleme Varsayılan Olarak Kapalı Web Geliştirme npm 12 Yayınlandı: Kayıt Defteri Açık Güvene Geçtiğinden Komut Dosyalarını Varsayılan Olarak Kapalı Yükle 3 dk okuma Bizi takip edin Bu makaleyi dinleyin – 0:00 Ses oynatılmaya hazır Tarayıcınız ses öğesini desteklemiyor.

0:00 0:00 GitHub tarafından sağlanan ve Node.js ile birlikte gönderilen paket yöneticisi olan okuma listesi npm, iki faktörlü kimlik doğrulamayı atlayan ayrıntılı erişim belirteçlerinin kullanımdan kaldırılmasının yanı sıra npm kurulumunda güvenlikle ilgili bir dizi varsayılan değişiklikle birlikte gönderilen npm 12’yi yayınladı.

npm 12, daha önce otomatik olarak çalıştırılan üç yükleme davranışını geliştiricilerin açıkça tercih ettiği davranışlara dönüştürüyor. Değişiklikler ilk olarak Haziran ayında duyurulmuştu ve npm 11.16.0’dan bu yana uyarıların ardından mevcuttu, böylece takımlar yükseltme öncesinde hazırlanabildi. Başlık değişikliği, AllowScripts’in artık varsayılan olarak kapalı olmasıdır.

Tasarım ve teknik ayrıntılar

Bağımlılık önkurulum, kurulum ve kurulum sonrası komut dosyaları, bir projede açıkça izin verilmediği sürece artık çalıştırılmaz ve bu, hiçbir yükleme komut dosyasının bildirilmediği durumlarda bile, bir bağlama.gyp dosyası içeren herhangi bir paket için örtülü node-gyp derlemelerini içerir. git’ten script hazırlayın, dosya ve link bağımlılıkları aynı şekilde engellenir.

Geliştiriciler beklemede olanı inceler, neye güvendiklerini onaylar ve elde edilen izin verilenler listesini package.json dosyasında işler. Diğer iki varsayılan, olmayanları hedefler kayıt defteri kaynakları.

npm 12 Güncellemesi

–allow-git artık varsayılan olarak yok olarak ayarlanıyor ve Git bağımlılığının kendi .npmrc dosyasının –ignore-scripts ayarlanmış olsa bile Git yürütülebilir dosyasını geçersiz kılabileceği bir kod yürütme yolunu kapatıyor ve –allow-remote varsayılan olarak hiçbiri olarak ayarlanarak https tarball bağımlılıklarını engelliyor. İlgili –allow-file ve –allow-directory bayrakları değişmedi.

Bugünden bakınca ne kadar güvenilir?

GitHub’ın geçiş tartışması, önce ağaçta bulunanlara izin verilmesini, ardından sıkılaştırılmasını ve Cypress, Playwright, Puppeteer, Electron ve Husky gibi yerel modüller için tariflerin belgelenmesini önerir. Genel kurulumlar ve npx, onaylama komut dosyalarını kullanamaz ve bunun yerine yapılandırmaya ihtiyaç duyar; örneğin, npm config set izin-scripts=canvas,sharp –location=user.

Tüm ayrıntılar, npm onaylama komut dosyaları, npm reddetme komut dosyaları ve izin verme komut dosyaları yapılandırmasına ilişkin belgelerde bulunmaktadır.

Konu başlığındaki yorumcular, mevcut bir görmezden-scripts=true’un öncelikli olduğunu ve sessizce izin verilenler listesini yendiğini ve npm onaylama-scripts’in node_modules’tan okuma yapması ve paket henüz kurulmamışsa ENOMATCH ile ilgili hatalar vermesi nedeniyle yeni yüklenen paketlerin bir tavuk ve yumurta sorunu yarattığını işaretledi. Toplumun tepkisi geniş ölçüde destekleyici oldu.

Okuyucu için pratik anlamı

Hacker News başlığı 484 puan aldı ve 200’den fazla yorum aldı; Atraac şunu yazdı: kurulum sonrası komut dosyaları uzun zaman önce kaldırılmalıydı, bu NPM paketlerinin kanseridir. Bir şeyi çektiğinizde rastgele çalışan, derinlemesine iç içe geçmiş, kontrolsüz postinstall’lar var Bu çılgınca, bilmiyorum bir noktada birisi bunun iyi bir fikir olduğunu düşündü. Diğerleri ise daha az ikna olmuştu.

Gear54rus, yama paketi gibi meşru kullanım durumlarına işaret ederken, cookiengineer izin verilenler listesinin “kapsamı olmadığını” ve “bağımlılık bağımlılıklarınızdan herhangi birinin bir komut dosyasına ihtiyaç duyması durumunda öngörülemez” olduğunu savundu. Güvenlik araştırmacıları onay yorgunluğunun daha büyük bir risk olduğunu belirtiyor.

OpenSourceMalware üzerine yazan bir analist, esbuild, keskin, core-js, puppeteer ve bcrypt’in hepsinin yaşam döngüsü komut dosyalarına dayandığını belirtti ve tekrarlanan bozuk yapıların, saldırgan etkinliğini daha az görünürlüğe sahip yüzeylere iterken, varsayılan olarak reddetmeyi ‘tıklama istemine’ dönüştüreceği konusunda uyardı.

JFrog, üç vektörün geçtiğimiz yıl gözlemlenen kötü niyetli npm saldırılarının yaklaşık %53’üne karıştığını bildirdi. npm aynı zamanda bu kontrolleri benimseyen son büyük paket yöneticisidir.

pnpm yıllardır yükleme komut dosyası izin verilenler listesine ekleme olanağı sundu ve bekleme sürelerinde pnpm 10.16’da minimumReleaseAge’i gönderdi, iplik 4.10.0’da npmMinimalAgeGate’i ekledi ve npm’nin 11.10.0’daki kendi minimum sürüm yaşının önünde bun 1.3’te onu takip etti. npm, Node.js’nin varsayılan paket yöneticisidir ve GitHub tarafından korunur.

Dünyanın en büyük yazılım kayıt defterine ev sahipliği yaparak geliştiricilere yeniden kullanılabilir JavaScript ve TypeScript paketlerini yüklemeleri, paylaşmaları ve yayınlamaları için bir komut satırı istemcisi ve kayıt defteri sağlar.

Daha geniş Node.js’nin temel bir parçası olarak ekosisteminde npm, bağımlılıkları yönetmek, komut dosyalarını çalıştırmak ve açık kaynak kodunu geniş ölçekte dağıtmak için ön uç ve arka uç projelerinde kullanılır.

Daha fazlasını gösterDaha az konu göster İlgili Sponsorlar Netflix, Şirket İçi Çözümü Değiştirmek İçin Bulut Yerel İş Sıralama Sistemi Kueue’yu Benimsiyor MCP Durumsuz Kalıyor ve Geliştiriciler Bunun Sadece Bir API Olup Olmadığını Soruyor Stripe, Veritabanı İyileştirme Projesini Otomatikleştirmek için Grafik Arama ve Durum Makinelerini Kullanıyor Valhalla’nın İlk Önizlemesi: JEP 401 Java Nesneleri için == Yeniden Tanımlıyor Pinterest, Merkezi Terraform Boru Hattı ile Geniş Ölçekte AWS Altyapısını Nasıl Koruyor?

Bulut ve DevOps InfoQ Trendler Raporu 2026: Yapay Zeka, Dayanıklılık, Platformlar, FinOps ve Egemenlik InfoQ’da geçen haftanın içeriğinin özeti her Salı günü gönderilir. 250.000’den fazla kıdemli geliştiriciden oluşan topluluğa katılın. Bir örneği görüntüle

Ek okuma: MDN Web Docs

Editörün Notu

npm 12 ile gelen güvenlik önlemleri, paket yükleme süreçlerinizde beklenmedik komut dosyalarının çalışmasını engelleyerek projelerinizin güvenliğini artırır; güncellemeleri dikkatle takip ederek riskleri minimize etmek önemlidir.

Emre Demir
Yazar

Yazılım Editörü

Yazılım editörü ve full-stack geliştirici. Uygulama incelemeleri, kodlama rehberleri ve verimlilik araçları üzerine yazıyor. Açık kaynak projelere katkıda bulunuyor; karmaşık konuları yeni başlayanların anlayacağı şekilde anlatmaya özen gösteriyor.

Tüm yazıları gör →