Giriş
Son dönemde yazılım tedarik zincirine gerçekleştirilen bir saldırıda, popüler GitHub Actions iş akışı olan actions-cool/issues-helper ‘ın kötü niyetli kodlarla ele geçirildiği tespit edildi. Bu durum, saldırganların hassas kimlik bilgilerini toplayıp kendi kontrolündeki bir sunucuya aktarmasını sağladı.
Saldırı Nasıl Çalışıyor?
Saldırganlar, hedef repository’deki her mevcut etiketi , normal commit geçmişinde görünmeyen sahte bir commit’e yönlendirdi. Bu sahte commit, CI/CD işlemlerinden kimlik bilgilerini çalmak için kullanılan kötü niyetli kodu içeriyor. StepSecurity araştırmacısı Varun Sharma , bu yöntemle kötü niyetli kodun, yalnızca saldırganın kontrol ettiği bir fork’tan referans alarak projeye enjekte edildiğini açıkladı. Böylece standart Pull Request (PR) incelemeleri bypass edilebiliyor ve rasgele kod çalıştırma yeteneği elde ediliyor.
Sahte commit’in çalıştırılması durumunda şu adımlar gerçekleştirilmektedir:
- Bun JavaScript çalışma zamanını runner’a indirir.
- Runner.Worker sürecinin belleğini okuyarak kimlik bilgilerini çıkarır.
- Çalınan verileri iletmek için saldırgan kontrollü bir alan olan “t.m-kosche[.]com” adresine outbound HTTPS çağrısı yapar.
Ayrıca, actions-cool/maintain-one-comment isimli başka bir GitHub eylemine ait 15 etiketin de aynı işlevsellik ile tehlike altında olduğu bildirilmiştir.
Etkilenen Sistemler
Bu saldırı, GitHub’daki mevcut iş akışlarını etkileyerek, her etiketin artık kötü niyetli commit’lere yönlendirilmesine yol açmıştır. Dolayısıyla, bu iş akışını versiyon numarasıyla referans alan herhangi bir işlem, bir sonraki çalışmasında kötü niyetli kodu çekmektedir. Ancak, yalnızca bilinen bir iyi commit SHA ile sabitlenmiş iş akışları etkilenmemiştir.
Çözüm ve Korunma
GitHub, saldırı nedeniyle repository erişimini “GitHub’ın hizmet şartlarının ihlali” gerekçesiyle devre dışı bırakmıştır. Saldırının Microsoft’a ait olan bu platformu nasıl etkilediği henüz belirlenememiştir. Ayrıca, t.m-kosche[.]com alanının son dönemde, @antv ekosistemine yönelik npm paketlerini hedef alan Mini Sha-Hulud kampanyasında gözlemlendiği belirtilmiştir. Bu, iki aktivite kümesinin ilişkili olabileceğini göstermektedir.
Sonuç
Okuyucuların, etkilenen iş akışlarını ve repository’leri güncel tutmaları son derece önemlidir. Eğer actions-cool/issues-helper veya benzeri iş akışları kullanıyorsanız, kesinlikle bu tür kodların referans alınıp alınmadığını kontrol edin. Ayrıca, mümkünse ilgili portları kapatın ve yalnızca güvenilir ve bilinen kodları kullanın.


