npm 12 ile Varsayılan Olarak Devre Dışı Bırakılan Yükleme Scriptleri Sayesinde Tedarik Zinciri Güvenliği Artıyor Siber Güvenlik

npm 12 ile Varsayılan Olarak Devre Dışı Bırakılan Yükleme Scriptleri Sayesinde Tedarik Zinciri Güvenliği Artıyor

GitHub, npm 12 ile yükleme scriptlerini varsayılan olarak devre dışı bırakarak tedarik zinciri saldırılarına karşı önemli bir adım attı.

GitHub, popüler paket yöneticisi npm'in 12. sürümünü yayınladı. Bu sürümle birlikte, yükleme scriptleri varsayılan olarak devre dışı bırakılıyor. Ayrıca, iki faktörlü kimlik doğrulamayı (2FA) atlamak için kullanılan granular erişim tokenleri (GAT'ler) de kullanımdan kaldırılıyor. Bu değişiklikler, yazılım tedarik zinciri saldırılarına karşı önemli bir savunma hattı oluşturmayı hedefliyor.

Daha önce otomatik olarak çalışan bazı npm yükleme davranışları artık açıkça izin verilmesi gereken seçenekler haline getirildi. allowScripts varsayılan olarak kapalı; yani bağımlılık yaşam döngüsü scriptleri (preinstall, install, postinstall) ve örtülü node-gyp derlemeleri artık açıkça izin verilmediği sürece çalışmıyor. --allow-git varsayılan olarak none değerini alıyor; Git bağımlılıkları (doğrudan veya geçişli) artık açıkça izin verilmedikçe çözülmüyor. Benzer şekilde, --allow-remote de varsayılan olarak none; uzak URL'lerden gelen bağımlılıklar (https tarball'lar gibi) artık izin verilmedikçe çözülmüyor.

Güvenilir scriptleri incelemek ve onaylamak için kullanıcıların 'npm approve-scripts --allow-scripts-pending' komutunu çalıştırması ve ardından ortaya çıkan izin listesini package.json dosyasına eklemesi gerekiyor. Bu süreç, geliştiricilere hangi scriptlerin çalıştırılacağı konusunda tam kontrol sağlıyor. GitHub, bu değişiklikleri geçen ay ön izlemeye sunmuş ve geliştiricilere npm 11.16.0 veya daha yenisine yükseltmelerini, normal yükleme komutunu çalıştırmalarını ve görüntülenen uyarıları incelemelerini önermişti.

Nasıl Önlem Alınmalı?

npm 12 ile gelen bir diğer önemli değişiklik ise 2FA'yı atlamak için yapılandırılan GAT'lerin artık hassas hesap, paket ve organizasyon yönetimi işlemlerini gerçekleştirememesi. Bu işlemler arasında token oluşturma veya silme, kurtarma kodları oluşturma, npm hesap şifresi, e-posta, profil veya 2FA yapılandırmasını değiştirme, paket erişimi, bakımcılar veya güvenilir yayınlama yapılandırmasını değiştirme, organizasyon ve ekip üyeliği ile paket izinlerini yönetme yer alıyor. Ayrıca, GAT'ler doğrudan yayınlama yeteneğini kaybedecek; yalnızca özel paketleri okuma ve bir yayınlama aşamasına geçirme (staging) yapabilecek. Bu aşamada paket, bir insanın 2FA onayı ile halka açık hale gelecek.

İlk değişikliğin Ağustos 2026'nın başında yürürlüğe girmesi bekleniyor. Bu süre zarfında, yukarıda belirtilen işlemler için 2FA atlama tokenlerini kullanmayı bırakmanız ve bu işlemleri etkileşimli olarak 2FA ile gerçekleştirmeniz öneriliyor. İkinci değişiklik ise Ocak 2027'de planlanıyor. GitHub, 'Hazırlanmak için, otomatik yayınlamayı güvenilir yayınlama (OIDC) veya insan onay adımı içeren aşamalı yayınlamaya taşımayı planlayın' diyor.

Gelecekte Ne Bekleniyor?

Bu gelişmeler, pnpm 11.10'un tek yapılandırılmış, URL anahtarlı bir değer olarak kayıt defteri kimlik doğrulamasını yapılandırmak için yeni bir '_auth' ayarı getirmesiyle aynı döneme denk geliyor. Socket'e göre, 'Güvenlik avantajı, kimlik bilgisi ve ait olduğu sunucunun birlikte hareket etmesi ve pnpm'in _auth'ı yalnızca ortam veya global yapılandırmadan okuması, asla proje dosyalarından okumamasıdır. Bu, kötü niyetli veya güvenliği ihlal edilmiş bir pnpm-workspace.yaml veya .npmrc dosyasının geçerli bir tokeni farklı bir sunucuya yönlendiremeyeceği anlamına gelir. Değiştirilmiş bir proje dosyası, saldırganların sıklıkla kullandığı bir yöntemdir ve kayıt defteri tokenini yönlendirmek, onu çalmanın doğrudan bir yoludur, bu yolu kapatmak maruziyeti ortadan kaldırır.'

npm 12 ile gelen bu değişiklikler, yazılım geliştirme topluluğu için önemli bir güvenlik adımı. Özellikle tedarik zinciri saldırılarına karşı daha korunaklı bir ekosistem yaratmayı hedefliyor. Geliştiricilerin, bu yeni güvenlik önlemlerine uyum sağlamak için projelerindeki yapılandırmaları güncellemeleri ve güvenilir scriptleri belirlemeleri gerekiyor. Ayrıca, 2FA atlama tokenlerinin kullanımdan kaldırılması, hesap güvenliğini artırarak yetkisiz erişim riskini azaltıyor.

Kaynak: thehackernews.com

Paylaş: