GitHub Actions Güvenlik Açığı ve CI/CD Güvenliği Üzerindeki Etkisi
CVE -2025-30066 güvenlik açığı, 23.000'den fazla deponun etkilendiği, yaygın olarak kullanılan GitHub Action'ı hedef alan kritik bir tedarik zinciri saldırısını temsil eder . Bu olay, açık kaynaklı ekosistemlerde ve CI/CD hatlarında artan riskleri vurgular. Aşağıda güvenlik açığının, etkisinin ve azaltma stratejilerinin ayrıntılı bir analizi yer almaktadır. tj-actions/changed-files
Güvenlik Açığı Genel Bakışı
CVE-2025-30066tj-actions/changed-files (CVSS 8.6) , çekme isteklerinde dosya değişikliklerini izlemek için kullanılan GitHub Eylemine kötü amaçlı kod enjeksiyonunu içerir . Saldırganlar 0e58ed8, 12-14 Mart 2025'te kötü amaçlı bir işleme ( ) başvurmak için sürüm etiketlerini (v1 ila v45.0.7) geriye dönük olarak değiştirdi . Tehlikeye atılan kod, AWS anahtarları, GitHub Kişisel Erişim Belirteçleri (PAT'ler) ve npm belirteçleri gibi CI/CD sırlarını derleme günlüklerine döktü ve günlükler herkese açıksa ifşa olma riskini göze aldı .
Teknik Analiz
Saldırı Mekanizması
- Kod Enjeksiyonu : Base64 kodlu yükleri olan bir Node.js fonksiyonu eyleme eklendi. Çalıştırıldığında, GitHub Runner'ın belleğini kimlik bilgileri için taramak üzere bir Python betiğini kodladı ve çalıştırdı .
Sızdırma Yöntemleri :
- Günlük Açığa Çıkarılması : Sırlar, iş akışı günlüklerine çift kodlanmış base64 dizeleri olarak yazdırıldı .
- Özet Sızdırma : Flank projesinde gözlemlenen bir varyantta, çalınan veriler GitHub Gist'lerine POST istekleri aracılığıyla gönderildi .
Etkilenen Bileşenler
- Sürümler : Tüm etiketler v45.0.7'ye kadar .
- Uzlaşma Penceresi : 12-15 Mart 2025 .
Etki Değerlendirmesi
Doğrudan Sonuçlar
- Gizli Sızıntı : Ortam değişkenlerinde saklanan veya iş akışları sırasında erişilen kimlik bilgileri açığa çıkabilir .
- Tedarik Zinciri Riski : Eylemin aylık 1 milyondan fazla indirilmesi, saldırının etkisini artırdı .
- İşletimsel Kesinti : Depo geçici olarak kullanılamıyor ve meşru kullanım durduruluyor .
İkincil Riskler
- Kamu Kayıtlarının Açığa Çıkması : Kayıtlar kısıtlanmadığında kamuya açık depolar daha yüksek riskle karşı karşıya kalır .
- Önbellek Kalıcılığı : Kötü amaçlı sürümler GitHub Actions'ın bağımlılık önbelleklerinde kalıcı olabilir .
Azaltma Stratejileri
Acil Eylemler
- Eylemi Güncelle : Önceki sürümler tehlikeye girdiğinden v46 veya sonraki sürüme yükseltin .
- Gizli Bilgileri Döndür : Tehlike penceresi sırasında açığa çıkan tüm kimlik bilgilerini yeniden oluştur .
Denetim İş Akışları :
- İş akışı YAML dosyalarında arama yapın .
tj-actions/changed-files- 12-15 Mart tarihleri arasında base64 dizeleri veya olağandışı etkinlikler açısından günlükleri inceleyin .
Uzun Vadeli Savunmalar
İşlemleri İşleme Sabitle : Değiştirilebilir etiketler kullanmaktan kaçının; değiştirilemez işleme karma değerlerine başvurun .
- Günlük Görünürlüğünü Sınırla : Özellikle genel depolar için CI/CD günlüklerine erişimi sınırlayın .
- Çalışma Zamanı Güvenliğini Uygulayın : Sweet Security gibi araçlar, gerçek zamanlı olarak bellek dökümünü veya anormal ağ trafiğini tespit edebilir .
Örnek Saldırı Senaryosu
Vaka Çalışması: Tehlikeye Atılan Kamu Deposu
İlk Uzlaşma : Bir geliştirici,
tj-actions/changed-filesherkese açık bir depoda v45.0.0 sürümüne güncelleme yapar.Kötü Amaçlı Yürütme : Bir sonraki çekme isteği sırasında, eylem enjekte edilen kodu çalıştırır ve AWS anahtarlarını iş akışı günlüğüne yazdırır.
İstismar : Bir saldırgan genel günlükleri tarar, anahtarları çıkarır ve bulut kaynaklarına yetkisiz erişim elde eder.
Algılama : Ekip, AWS'de anormal bir etkinlik fark eder ve bunu sızdırılan kimlik bilgilerine kadar izler.
Daha Geniş Etkiler
Bu olay, yazılım tedarik zincirlerindeki sistemsel güvenlik açıklarını ortaya çıkarıyor:
- Bağımlılık Riskleri : Güvenilir açık kaynaklı araçlar bile saldırı vektörü haline gelebilir.
- CI/CD Güvenlik Açıkları : Geleneksel "sola kaydırma" uygulamaları bellek kazıma gibi çalışma zamanı tehditlerini tespit etmede başarısız oluyor .
- Sıfır Güvene İhtiyaç : Kuruluşlar, bağımlılıkların tehlikeye girdiğini varsaymalı ve ayrıntılı erişim kontrollerini uygulamalıdır .
Geliştiriciler için, bağımlılıkları denetleme, CI sırlarını kapsamlandırma ve olay yanıt tatbikatları yürütme gibi proaktif önlemler, gelecekteki saldırıları azaltmak için kritik öneme sahiptir
Gerçek Dünya Etkisi ve Örnekler
CVE-2025-30066'nın gerçek dünyadaki belirli örnekleri arama sonuçlarında ayrıntılı olarak açıklanmasa da, bu güvenlik açığının etkisi, CI/CD boru hatlarında yaygın kullanımı nedeniyle önemlidir. Gerçek dünya senaryolarını nasıl etkileyebileceğine dair bazı içgörüler şunlardır:
Gerçek Dünya Etkisi ve Örnekler
Etkilenen Depolar
tj-actions/changed-files: 23.000'den fazla GitHub deposu, tehlikeye atılmış eylemi kullandıkları için bu güvenlik açığından potansiyel olarak etkilendi . Bu, potansiyel maruziyetin ölçeğini vurgular.Gizli Sızıntı : Eyleme enjekte edilen kötü amaçlı kod, AWS erişim anahtarları, GitHub Kişisel Erişim Belirteçleri (PAT'ler) ve npm belirteçleri gibi hassas sırları çıkarmak ve kaydetmek için tasarlanmıştır. Bu günlükler herkese açıksa, saldırganlar bulut kaynaklarına, depolarına veya paket kayıtlarına yetkisiz erişim elde etmek için bunları kullanabilir .
CI/CD Boru Hattı Tehlikesi : Sırların ifşa edilmesi, CI/CD boru hatlarının tehlikeye atılmasına yol açabilir ve saldırganların kötü amaçlı kod enjekte etmesine, veri çalmasına veya hizmetleri aksatmasına olanak tanıyabilir .
Genel Günlük Açığa Çıkarılması : Genel iş akışı günlüklerine sahip açık kaynaklı projeler için, gizli bilgilerin açığa çıkma riski özellikle yüksektir. Saldırganlar, verileri dışarıdan sızdırmaya gerek kalmadan bu günlükleri kodlanmış sırlar açısından tarayabilir .
Önceki Güvenlik Açıkları :
tj-actions/changed-filesEylemin, komut enjeksiyonuna izin veren CVE-2023-51664 gibi önceki güvenlik sorunları vardı. Bu geçmiş, yaygın olarak kullanılan CI/CD araçlarıyla ilişkili devam eden riskleri vurgular