GitHub, npm paket yöneticisinin yeni sürümü v12'yi duyurarak yazılım tedarik zinciri saldırılarını önlemeyi hedefliyor. 9 Haziran'da yayınlanan blog yazısında, Microsoft bünyesindeki GitHub'ın npm geliştirici ekibi, paket yöneticisini örtülü güven modelinden açık izin modeline geçirecek üç güvenlik odaklı kırıcı değişiklik duyurdu. Temmuz 2026'dan itibaren kullanıma sunulacak bu değişiklikler, ekosistemin bağımlılıkları ele alma biçiminde temel bir değişimi temsil ediyor.
npm v12'de üç tarihsel olarak izin verici varsayılan tersine çevriliyor: Kurulum betikleri bloke edilecek (npm install, preinstall, install, postinstall gibi arka plan betiklerini veya node-gyp rebuild gibi yerel C/C++ derlemelerini otomatik olarak çalıştırmayacak), Git bağımlılıkları bloke edilecek (özel Git URL'lerinden bağımlılık çözümleme varsayılan olarak engellenecek) ve uzak URL'ler bloke edilecek (resmi kayıt defterleri dışındaki harici URL'lerden veya HTTPS tarball'larından paket sağlama varsayılan olarak yasaklanacak). Geliştiriciler geçişe hazırlanmak için npm sürüm 11.16.0 veya daha yenisine yükselterek isteğe bağlı uyarılar alabilir ve yeni npm approve-scripts komutunu kullanarak bağımlılıklarını denetleyebilir.
Güvenlik uzmanları bu değişiklikleri desteklerken uyarılarda da bulunuyor. Semgrep'in kurucusu Isaac Evans, yazılım tedarik zinciri saldırılarının ekonomik gerçeklerinin, her geliştiricinin her tehdidi tek başına yakalamasına güvenmek yerine yapısal savunmalar gerektirdiğini belirtti. Ancak Evans, genel paket yöneticileri bu kapıları kapatırken saldırganların Artifactory ve Nexus gibi özel kurumsal depolara yöneleceği uyarısında yaptı. Güvenlik araştırmacısı Paul McCarty (6mile) ise güncellemelerin uzun süredir devam eden kusurları giderirken, geliştirici sürtüşmesine yol açarsa güvenlik tiyatrosuna dönüşebileceğini söyledi. McCarty, birçok geliştiricinin derleme tamamlama odaklı olarak uyarıları körü körüne onaylayacağını ve iyi niyetli paket bakımcılarının da şüpheli geçici çözümlere başvurabileceğini belirtti.
Uzmanların Görüşleri
Sonuç olarak, GitHub'ın npm v12 ile yaptığı bu değişiklikler yazılım tedarik zinciri güvenliğinde önemli bir adım olsa da, geliştiricilerin bilinçli olması ve güvenlik politikalarını dikkatlice uygulaması gerekiyor. Uzmanlar, yeni varsayılanların kötü niyetli yazılımların yayılmasını zorlaştıracağını ancak saldırganların yeni yöntemler geliştireceğini vurguluyor. Geliştiricilerin npm approve-scripts gibi araçları kullanarak bağımlılıklarını denetlemesi ve yalnızca güvenilir kaynaklara izin vermesi öneriliyor.