Disrupting supply chain attacks on npm and GitHub Actions

npm ve GitHub Actions tarafındaki güncellemeler, tedarik zinciri saldırılarının ilk erişim, kimlik bilgisi sızdırma ve yayılma aşamalarını hedef alıyor. Böylece CI/CD’de güvenlik katmanları güçleniyor.

Son bir yıldır paket depoları ve CI/CD sistemlerindeki zayıflıkları hedef alan tedarik zinciri saldırıları, açık kaynak projelerine hızla zararlı yazılım bulaştırmak için tekrar eden bir örüntü izliyor. Saldırıların ortak amacı kimlik bilgilerini sızdırmak; böylece hem saldırı daha geniş kitleye yayılıyor hem de sonraki istismarlara zemin hazırlanıyor. GitHub bu zincirin en kritik halkalarını kırmak için npm ve GitHub Actions tarafında bir dizi değişiklik hayata geçirdi. Aşağıda bu değişikliklerin saldırının hangi aşamasına dokunduğunu ve kullanıcıya nasıl bir güvenlik katmanı sunduğunu özetliyorum.

Tedarik zinciri saldırılarının anatomisi

Bu saldırılar tek bir zaafiyet üzerinden değil, birbirine bağlanan birçok zayıflık üzerinden ilerliyor. Tek bir güvenlik özelliğinin çözüm sunması bu yüzden mümkün değil; en etkili yaklaşım, zincirin kritik halkalarını hedefleyen bütünsel bir savunma. Saldırılar yayılma biçimlerinde farklılaşsa da genel olarak üç aşamayı izliyor: bir projeye ilk erişimi elde etmek, yetkileri yükseltmek ve saldırıyı kullanıcılarla yazılımlar arasında yaymak. npm ve GitHub Actions üzerindeki iyileştirmeler tam da bu aşamaları hedef alıyor.

İlk erişimi zorlaştıran değişiklikler

Saldırılar çoğunlukla bir bakım sorumlusunun (maintainer) hesabının ele geçirilmesiyle ya da projenin Actions iş akışlarının hedef alınmasıyla başlıyor. Bu aşamayı kırmak için şu adımlar devreye alındı:

  • Yüksek etkili npm hesapları için önleyici koruma (Haziran 2026): Kimlik avı kampanyaları bakım sorumlularını hedef aldığında saldırganın ilk adımı hesabı ele geçirmek oluyor. Bu değişiklikle, yüksek etkili npm hesapları e-posta değişikliği yaptığında veya 2FA kurtarma kodu kullandığında 72 saatliğine salt okunur moda alınıyor. Bu gecikme, saldırı başlatılmadan önce hesap sahibine müdahale fırsatı veriyor.
  • Actions checkout için daha güvenli pull_request_target varsayılanları (Haziran 2026): Fork’lardan gelen pull request’lerde güvenilmez kodun çalıştırılmasına yol açan “pwn request” kalıbı en yaygın CI/CD zaafiyetlerinden biri. actions/checkout‘un varsayılan davranışı değiştirilerek, sık istismar edilen tetikleyicilerde fork’tan güvenilmez kodun otomatik olarak checkout edilmemesi sağlandı; risk kabul ediliyorsa açıkça devre dışı bırakmak gerekiyor. Değişiklik eski sürümlere de geri taşındı.
  • Workflow tetikleyicileri üzerinde denetim (Haziran 2026): Riskli tetikleyicileri tamamen devre dışı bırakmak veya sadece belirli kişilerin tetiklemesine izin vermek isteyenler için işletme, organizasyon ya da depo düzeyinde politika tanımlanabiliyor. CI/CD altyapısına en az ayrıcalık ilkesini uygulayan, yönetilebilir bir katman ekliyor.
  • Güvenilmez tetikleyiciler için salt okunur Actions cache (Haziran 2026): Bir Actions iş akışında kod çalıştırmayı başaran saldırganların bir sonraki hedefi, workflow’lar arasında paylaşılan cache girdilerini zehirleyerek daha ayrıcalıklı iş akışlarına ve kimlik bilgilerine ulaşmak. Yeni davranışla düşük güvenli iş akışlarının başkalarıyla paylaşılan cache’i değiştirmesi kısıtlanıyor; böylece sınırlı etkili bir zaafiyet, yayın ve publish iş akışlarındaki kritik kimlik bilgilerini tehlikeye atamıyor.

Kimlik bilgisi sızdırmayı engellemek

Saldırgan bir pakete erişim sağladıktan sonra odak, ekosistemler arasında kullanılabilecek kimlik bilgilerini tespit edip dışarı sızdırmaya kayıyor. Bu aşamayı kırmak için iki önemli hamle var:

  • npm trusted publishing için CircleCI desteği (Nisan 2026): Bu saldırıları en etkili biçimde kırmanın yolu, CI/CD hattından uzun ömürlü kimlik bilgilerini tamamen çıkarmak. Trusted publishing, paket deposuna yayın yetkisini uzun ömürlü bir anahtar olmadan vermeyi sağlıyor. CircleCI’ın da desteklenen sağlayıcılar arasına eklenmesiyle bu kabiliyet daha geniş bir kitleye açıldı.
  • Actions ağ güvenlik duvarı (teknik önizleme): Bu önizleme, Actions iş akışlarındaki tüm çıkış ağ trafiğini kayıt altına alıyor; zararlı kod indirme veya bilinmeyen bir alan adına kimlik bilgisi gönderme gibi olağan dışı davranışlar bu sayede tespit edilebiliyor. İleride ağ çıkışını politika bazlı engelleme yeteneklerinin de ekleneceği belirtiliyor.

Saldırının yayılmasını kesmek

Kimlik bilgilerini toplayan saldırganın son hedefi, bu bilgileri kullanarak zararlı yazılımı olabildiğince fazla projeye ve bakım sorumlusuna hızla dağıtmak. Bu aşamayı yavaşlatan ve kıran değişiklikler şöyle:

  • npm için aşamalı yayın (Mayıs 2026): Aşamalı yayınla birlikte npm üzerinde yeni paket sürümü yayımlamak için artık kimlik bilgisine sahip olmak yetmiyor; paketler ek onay ve npm cli veya npmjs.com üzerinden 2FA doğrulaması yapılana kadar staging alanında bekletiliyor. Opsiyonel olan bu kontrol, CI/CD otomasyonunda kullanılan kimlik bilgileri ile paket deposuna yayın yapabilecek kimlik bilgilerini birbirinden ayırıyor ve saldırı zincirini kesiyor.
  • npm v12 ile gelen kırıcı değişiklikler (Haziran 2026): Saldırganlar zararlı yazılımı olabildiğince hızlı yaymak için, paketin çalışma zamanında kodun çalışmasını beklemek yerine npm kurulum betiklerini (install scripts) tercih ediyor. npm v12 ile bu install script’ler varsayılan olarak devre dışı bırakılıyor. Çeşitli popüler paketlerin bu mekanizmaya meşru şekilde ihtiyaç duyabildiği göz önünde bulundurularak, belirli script’lerin onaylanıp yeniden etkinleştirilmesi mümkün. Git veya uzak URL üzerinden bağımlılık tanımlama gibi ek kod çalıştırma vektörleri de varsayılan olarak kapatıldı.
  • Dependabot için varsayılan paket soğuma süresi (Temmuz 2026): Saldırganların en büyük avantajı hız; zararlı bir sürümün fark edilmeden mümkün olduğunca çok projeye çekilmesini umuyorlar. Dependabot ile yapılan sürüm güncellemeleri artık pull request açmadan önce bir sürümün en az üç gün yayında olmasını bekliyor. Tespit sinyalleri böylece yüzeye çıkacak zaman buluyor. Soğuma süresi varsayılan olarak açık; güvenlik güncellemeleri ise hemen açılmaya devam ettiği için kritik düzeltmeler gecikmiyor.

Olay müdahalesi: tespit ve tepki araçları

Tedarik zinciri saldırılarının etkisini sınırlamanın yanında, etkilenen kullanıcıların hızlı müdahalesi için de yeni araçlar geliştirildi:

  • Olay müdahalesi için self-servis kimlik bilgisi iptali (Haziran 2026): GitHub kimlik bilgileri saldırıların sürekli hedefi. Bu özellik, bir işletmedeki belirli bir kullanıcıya ait tüm kimlik bilgilerinin anlık olarak iptal edilmesini sağlıyor. İşletme yöneticileri ve üyeler, bir tedarik zinciri saldırısında kimlik bilgileri tehlikeye düştüğünde hızla müdahale edebiliyor.
  • Genişletilmiş kimlik bilgisi iptal API’si (Mart 2026): Son dönemdeki saldırılar, çalınan kimlik bilgilerinin herkese açık içeriklerde ifşa edilmesini de içeriyor. Daha önce kişisel erişim token’ları için tanıtılan iptal API’si, GitHub OAuth ve App token’larını da kapsayacak biçimde genişletildi. Sızdırılan kimlik bilgileri artık nerede tespit edilirse edilsin hızla iptal edilebiliyor; kötüye kullanılabilecekleri süre de bu ölçüde kısalıyor.

Değerlendirme

Yukarıdaki değişikliklerin ortak noktası, tedarik zinciri saldırılarını tek bir noktadan durdurmaya çalışmak yerine zincirin farklı halkalarını hedef alması. İlk erişimi zorlaştıran varsayılanlar, kimlik bilgilerinin çıkışını kısıtlayan yaklaşımlar (özellikle trusted publishing) ve yayılmayı geciktiren staged publishing ile Dependabot cooldown bir arada değerlendirildiğinde, saldırganın işini birden çok noktada zorlaştıran bir mimari ortaya çıkıyor. Bu iyileştirmelerin bir kısmı varsayılan olarak açık, bir kısmı opt-in; ekiplerin bu özelliklerden azami faydayı sağlaması için mevcut Actions ve npm yapılandırmalarını gözden geçirmesi anlamlı olacaktır.

Kaynaklar ve İleri Okuma

Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

2 Yorum

  1. Özellikle CI/CD pipeline’larında supply chain saldırıları son dönemde gerçekten ciddi bir sorun haline geldi. npm tarafındaki önlemler ne kadar kapsamlı peki, sadece bilinen zararlı paketleri mi engelliyor yoksa davranışsal analiz de var mı?

Yoruma kapalı.

✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Kategoriler
Ara
Paylaş
WhatsApp
İçindekiler
← VS Code Temmuz 2026: Copilot A...
Gateway API v1.6: TCPRoute ve ... →
📩

Gitmeden önce!

Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

📬 Haftalık bülten: Teknoloji + AI haberleri
Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.