GitHub, yazılım tedarik zinciri saldırılarında kullanılan yaygın yöntemleri devre dışı bırakmak ve etkilerini sınırlamak amacıyla son aylarda npm ve GitHub Actions'ta uyguladığı güvenlik değişikliklerini gözden geçirdi. Önlemler arasında yüksek etkili npm hesaplarının korunması, Actions iş akışlarının varsayılan davranışının sıkılaştırılması, kimlik bilgilerinin çalınması riskinin azaltılması ve olaylara daha hızlı müdahale edilmesini sağlayan araçların kullanıma sunulması yer alıyor.
Bu adımlar, paket depolarındaki ve sürekli entegrasyon ve dağıtım sistemlerindeki zayıflıklardan yararlanarak yüzlerce açık kaynak projeye kötü amaçlı yazılım yaymayı amaçlayan saldırıların artmasının ardından geldi. Greg Ose ve Zachary Steindler'a göre bu saldırılar genellikle bir projeye ilk erişimle başlayan, ardından ayrıcalık yükseltme ve kimlik bilgilerinin çalınmasıyla devam eden ve son olarak diğer proje ve kullanıcılara yayılan bir dizi aşamayı izliyor.
İlk ihlal fırsatlarını azaltma
npm, Haziran 2026'da yüksek etkili hesapları, e-posta adresi değiştirildiğinde veya iki faktörlü kimlik doğrulamayı kurtarmak için bir belirteç kullanıldığında 72 saat boyunca yalnızca okuma moduna aldı. Bu süre, hesap yöneticilerine kimlik avı girişimlerini tespit edip bunlara yanıt vermeleri ve hesabın bir saldırı başlatmak için kullanılmasını önlemeleri için zaman tanıyor.
Aynı ay GitHub, yaygın olarak kötüye kullanılan tetikleyicilerde çatallanan depolardan gelen çekme isteklerinden güvenilmeyen kodların alınmasını engellemek için actions/checkout eyleminin varsayılan davranışını değiştirdi. Riskler incelendikten sonra bu engel kaldırılabiliyor. Değişiklik, eylemin daha eski sürümlerini de kapsadı.
GitHub ayrıca kuruluş, organizasyon veya depo düzeyinde iş akışlarını çalıştırmasına izin verilen tarafları ve kabul edilen tetikleyici türlerini kontrol etmeye yönelik politikaları kullanıma sundu. Buna ek olarak, daha az güvenilir iş akışlarının diğer iş akışlarıyla paylaşılan önbelleği değiştirme yeteneği kısıtlandı. Böylece sınırlı ayrıcalıklara sahip kod yürütmeden yüksek ayrıcalıklı kimlik bilgilerinin çalınmasına geçişte kullanılan bir yol kesildi.
Kimlik bilgilerinin çalınmasını ve kötü amaçlı yazılımların yayılmasını sınırlama
npm, Nisan 2026'da güvenilir dağıtım özelliğine CircleCI desteği ekledi. Bu sayede projeler, saldırganların sürekli entegrasyon ortamlarından çıkarabileceği uzun süreli kimlik bilgilerini kullanmak yerine güvenilir bir taraf aracılığıyla dağıtım yapabiliyor.
GitHub ayrıca teknik önizleme aşamasında bir ağ güvenlik duvarını test ediyor. Bu güvenlik duvarı, GitHub Actions çalıştırmalarından çıkan trafiği kaydediyor. Böylece kötü amaçlı talimatların indirilmesi veya kimlik bilgilerinin yeni alan adlarına gönderilmesi gibi davranışların tespit edilmesine yardımcı oluyor. GitHub daha sonra bu faaliyetleri engellemek amacıyla dışarı yönlü ağ trafiğine yönelik kısıtlamalar ve politikalar eklemeyi planlıyor.
npm'nin Mayıs 2026'da kullanıma sunduğu aşamalı dağıtım özelliğiyle yeni bir sürümü doğrudan yayımlamak için kimlik bilgileri tek başına yeterli olmuyor; sürüm, npm arayüzü veya npmjs.com sitesi üzerinden onay verilip iki faktörlü kimlik doğrulama tamamlanana kadar bekleme aşamasında kalıyor.
npm v12 ayrıca yükleme sırasında çalıştırma betiklerini varsayılan olarak devre dışı bırakarak önceki davranışı değiştirecek bir değişikliğe hazırlanıyor; onaylandıktan sonra belirli betiklerin yeniden etkinleştirilmesine izin verilecek. Yükleme sırasında kod yürütme yollarını sınırlamak amacıyla Git depolarına veya uzak URL'lere dayanan bağımlılıklar da varsayılan olarak devre dışı bırakılacak.
Güvenlikle ilgili olmayan güncellemeleri geciktirme ve müdahaleyi iyileştirme
Dependabot üzerinden yapılan sürüm güncellemeleri, Temmuz 2026'da paket yayımlandıktan sonra çekme isteği açılmadan önce en az üç gün beklemeye başladı. Böylece bir sürümün projelere ulaşmasından önce tespit sinyallerinin ortaya çıkması için zaman tanınıyor. Bu sırada güvenlik güncellemeleri, kritik düzeltmelerin gecikmemesi için hemen açılmaya devam ediyor.
Müdahale alanında GitHub, Haziran ayında bir kuruluş içindeki belirli bir kullanıcının tüm kimlik bilgilerini iptal etmeye yönelik self servis araçlar ekledi. Ayrıca Mart ayında kimlik bilgilerini iptal etmeye yönelik API desteğini GitHub OAuth belirteçlerini ve uygulama belirteçlerini kapsayacak şekilde genişletti. Daha önce, Nisan 2025'te kişisel erişim belirteçleri için destek sunulmuştu. GitHub, bu özelliklerin sızdırılmış bilgilerin hızla geçersiz kılınmasına ve kötüye kullanılabilecekleri sürenin kısaltılmasına yardımcı olduğunu belirtiyor.
GitHub, bu değişikliklerin npm ve GitHub Actions'ı varsayılan olarak daha güvenli hâle getirmeye yönelik devam eden çalışmaların bir parçası olduğunu ve değişiklik günlüğü ile blog gönderileri üzerinden izlenebilecek başka iyileştirmelerin de sunulmaya devam edeceğini doğruladı.