GitHub, şüpheli npm paketlerinin kurulum sırasında engellenmesini sağlayan yeni bir paket güvenlik duvarını önizleme olarak sunduğunu duyurdu.
GitHub, "Güvenlik duvarı, kötü niyetli faaliyet belirtileri açısından hem meta veri isteklerini hem de paket indirmelerini denetler; kurulum anında bir politika kapısı görevi görür" dedi.
Şu anda yalnızca npm paketlerini destekleyen özellik, GitHub Enterprise Cloud müşterilerinin tamamı için herkese açık önizlemede; veri yerleşik GitHub Enterprise Cloud da dahil.
Microsoft iştirakinin açıklamasına göre güvenlik duvarı, uç noktalar veya dahili kayıt defterleri ile yukarı akış paket depoları arasına yerleştiriliyor; böylece paketler kurulurken sistemleri tehlikeye atan kötü amaçlı yazılım saldırılarının önüne geçilmesi amaçlanıyor.
Bu davranış, yapay zeka ajanları ve CI çalışanlarının açık izin olmadan görevleri tamamlamak ya da derleme yapmak için bağımlılıkları otomatik olarak kurması durumunda kullanıcıları ciddi güvenlik risklerine açabiliyor.
Fikir, kodlama ajanları ve CI/CD barındırıcıları gibi uç noktaların isteklerini doğrudan genel paket kayıt defterlerine yönlendirmek yerine güvenlik duvarını kullanması. Güvenlik duvarı ardından paket indirmelerini minimum paket yaşı ve kötü amaçlı yazılım uyarıları gibi politika kontrollerine karşı denetliyor ve bu politikalara uymayan indirmeleri engelliyor.
Güvenlik duvarını kullanmak için yöneticilerin aşağıda listelenenler gibi politika kontrollerini yapılandırması gerekiyor.
Bilinen kötü amaçlı yazılımı, aktif kötü amaçlı yazılım uyarıları için GitHub Advisory Database'e karşı kontrol yaparak engelle.
Paketleri açıkların ciddiyetine göre engelle. GitHub Advisory Database'de talep edilen paket sürümünü etkileyen kusurlar kontrol ediliyor. Kontrol varsayılan olarak kurulumu engelleyen ciddiyet seviyesi olarak "Yalnızca Kritik" olarak ayarlı; kullanıcılar "Yüksek veya üzeri", "Orta veya üzeri" ya da "Her ciddiyet" seçeneklerini tercih edebiliyor.
Attestation düşürmelerini engelle. Talep edilen paket sürümü için attestation'lar daha önceki sürümlerin attestation'larıyla karşılaştırılıyor ve talep edilen sürümün SLSA attestation'ı yoksa indirme durduruluyor.
Yeni eklenen kurulum betiklerini engelle. Paketlerin preinstall veya postinstall kancalarıyla çalışan ve hassas verileri çalmak için kötüye kullanılabilen betikleri yakın zamanda ekleyip eklemediği kontrol ediliyor.
Paketleri bir bekleme süresi üzerinden engelle. Bu süre, yapılandırılan minimum yaştan daha yeni sürümlerin kurulmasını engelliyor. Değer 1 ila 365 gün arasında seçilebiliyor. Varsayılan değer 1 gün. Kullanıcılar değeri 0 yaparak devre dışı bırakabiliyor.

Güvenlik duvarı tarafından hatalı şekilde engellenen bir pakete erişim ihtiyacı duyan kullanıcılar istisna talebi gönderebiliyor; bu talep kurumsal yöneticiler ve güvenlik yöneticileri tarafından onaylanabiliyor.
Gelişme, 12 Kasım 2026'da yayınlanması planlanan Rust 1.100'ün yapılandırılabilir minimum yayın yaşı desteğini hazırladığı bir dönemde geldi. Bu destek, güvenlik tarayıcılarının ve bakımcıların kötü amaçlı crate sürümlerini işaretleyip engellemesi için zaman kazanmasını sağlıyor.
Değer, cargo/config.toml içindeki "global-min-publish-age" seçeneğiyle tanımlanıyor ve kullanıcıların minimum yayın yaşını gün veya hafta cinsinden belirtmesine olanak tanıyor. Belirtilmezse, bu penceredeki sürümleri atlamak için varsayılan olarak yedi günlük bir bekleme süresi uygulanıyor.
Geçen yıl içinde npm, Python, Microsoft Visual Studio Code, Ruby, Bun, pnpm ve Yarn dahil olmak üzere açık kaynak ekosistemlerinde benzer bekleme süreleri uygulanmaya başlandı. Amaç, yazılım tedarik zinciri güvenliğini güçlendirmek ve yeni yayımlanmış, incelenmemiş bir sürümün hemen bir derlemeye çekilme olasılığını azaltmak.
Soğuma süreleri, kötü niyetli bir aktörün bakımcı hesabını ele geçirdikten sonra popüler bir paketin zehirli bir sürümünü yayımladığı saldırılarda sürtünme ekleyip hızı düşürüyor; böylece manuel veya otomatik kurulumlarla hızlı yayılma engelleniyor.
Socket, "Karşılığında meşru düzeltmelerin de beklemesi gerekiyor; geliştiriciler bir istisna yapmadıkça" dedi. "Kötü amaçlı kod yaşla birlikte otomatik olarak zararsız hale gelmiyor. Tespitten kaçan bir sürüm soğuma süresini aşabiliyor. Değer, bir sonraki bağımlılık güncellemesi saldırıyı daha da taşımadan önce araştırmacılara, bakımcılara ve kayıt defterlerine hareket etme süresi sağlıyor."