GitHub, npm ve Actions üzerindeki tedarik zinciri saldırılarına karşı yeni savunma mekanizmalarını duyurdu. Etkilenenler ve alınması gereken önlemler burada.
Ne oldu?
GitHub, son birkaç ayda npm paketleri ve GitHub Actions üzerinde gerçekleştirilen tedarik zinciri saldırılarını engellemek ve etkilerini sınırlandırmak için önemli güncellemeler yayınladı. Bu güncellemeler, kötü niyetli paketlerin yayılmasını önleyen otomatik tarama sistemlerini, davranışsal analizleri ve belirli API uç noktalarına ek doğrulama katmanlarını içeriyor. Ayrıca, GitHub Actions iş akışlarında kullanılan üçüncü taraf eylemlerin güvenilirliğini artırmak için imza doğrulama ve izin kısıtlamaları getirildi.
Neden önemli?
Tedarik zinciri saldırıları, yazılım ekosistemlerinde en kritik güvenlik tehditlerinden biri haline geldi. npm, JavaScript dünyasının en büyük paket yöneticisi olduğundan, kötü niyetli bir paket binlerce projeye sızabilir. GitHub Actions ise CI/CD süreçlerinin merkezinde yer aldığı için, buradaki bir açık, geliştiricilerin kaynak kodlarına ve dağıtım ortamlarına doğrudan erişim sağlayabilir. Bu güncellemeler, saldırganların yaygın olarak kullandığı teknikleri (örneğin, paket adı karıştırma, typosquatting, bağımlılık karıştırma) etkisiz hale getirmeyi amaçlıyor.
Kim veya ne etkileniyor?
Öncelikle npm paketlerini yayınlayan ve tüketen tüm JavaScript/Node.js geliştiricileri etkileniyor. Ayrıca GitHub Actions kullanan tüm yazılım ekipleri, özellikle açık kaynak projeler ve kurumsal CI/CD boru hatları bu güncellemelerden doğrudan etkileniyor. Son kullanıcılar dolaylı olarak etkilenir; çünkü güvenliği ihlal edilmiş bir bağımlılık, uygulamaların veri sızıntısına veya uzaktan kod çalıştırmaya maruz kalmasına neden olabilir.
Ne yapılmalı?
Geliştiriciler, npm paketlerini yayınlamadan önce iki faktörlü kimlik doğrulamayı (2FA) zorunlu tutmalı ve paket imzalarını doğrulamalıdır. GitHub Actions kullanırken, eylemleri yalnızca güvenilir kaynaklardan (örneğin, resmi GitHub Marketplace) seçmeli ve her eylemin sürümünü sabitlemelisiniz (pin). Ayrıca, iş akışlarında minimum izin ilkesini uygulayın; yalnızca gerekli olan API erişimlerine izin verin. Düzenli olarak bağımlılık taraması yapın ve npm audit gibi araçları kullanın. Son olarak, GitHub'un yeni güvenlik özelliklerini (örneğin, gizli tarama, bağımlılık gözden geçirme) projelerinize entegre edin.
Kaynaklar
-
GitHub Blog - Disrupting supply chain attacks on npm and GitHub Actions-
npm Documentation - Security-
GitHub Docs - Security hardening for GitHub Actions