Siber saldırganlar, yaklaşık 4.800 ele geçirilmiş GitHub hesabını kullanarak on binlerce depoya zararlı kod yerleştirmeyi hedefleyen geniş çaplı kimlik bilgisi hırsızlığı kampanyası yürüttü. Wfx-loot adı verilen saldırıda GitHub Actions iş akışları üzerinden geliştiricilerin erişim anahtarları, bulut hesapları yapay zekâ servislerine ait kimlik bilgileri toplandı. Aikido araştırmacıları, saldırganların en az 1.835 hedefin gizli bilgilerini ele geçirdiğini doğrularken etkilenen projelerin sahiplerine tüm erişim anahtarlarını yenilemeleri uyarısında bulundu.

Wfx-Loot Kampanyası 61 Binden Fazla GitHub Deposunu Hedef Aldı

Uygulama güvenliği şirketi Aikido tarafından incelenen saldırı, 10 Kasım günü saat 12.45 UTC civarında başladı. Saldırganlar, ele geçirdikleri 4.837 GitHub hesabından elde ettikleri oturum bilgileriyle 61.764 depoda yazma yetkisi bulunup bulunmadığını kontrol. yöntem, saldırganların hangi projelere zararlı kod ekleyebileceğini belirlemesini sağladı.

Eklenen iş akışı adımı

Tehdit aktörleri, erişim denemelerini sıradan yazılım bakım faaliyetleri gibi göstermek için depolara “docs: dependency audit notes” pull request talepleri gönderdi. Talepler, bağımlılık denetimiyle ilgili dokümantasyon notları izlenimi oluşturacak şekilde hazırlandı. Aikido’nun bulgularına göre taleplerin yüzde 92’si açık durumda kaldı. Araştırmacılar, yüksek oranın proje sahiplerinin şüpheli faaliyetleri fark etmemiş olabileceğine işaret ettiğini belirtti.

Ele geçirilen hesapların bölümü Fortune 100 şirketleri, ABD Genel Hizmetler İdaresi (GSA), Fransa hükümeti, Nextcloud WebdriverIO gibi kuruluşlarla bağlantılıydı. Aikido ayrıca hesaplardan yaklaşık 50’sinin npm, PyPI, Go, crates Packagist gibi açık yazılım ekosistemlerinde paket yayınlama yetkisine sahip göründüğünü tespit.

Saldırganlar, depolara erişim sağladıktan sonra yaklaşık 1.500 satırlık kabuk betiğini farklı yöntemlerle sisteme yerleştirdi. Bazı saldırılarda mevcut GitHub Actions iş akışları değiştirildi, bazılarında kısa süreli dal üzerinden yeni iş akışı eklendi. örneklerde ise npm kurulum aşamasında çalışan yükleme kancası kullanıldı.

Zararlı betik, geliştirici hesaplarından bulut altyapılarına kadar geniş kimlik bilgisi yelpazesini toplamaya odaklandı. Hedef alınan bilgiler arasında GitHub Actions değişkenleri, iş akışlarının kullandığı GITHUB_TOKEN, OIDC belirteçleri çalışma zamanı erişim anahtarları yer. Azure Google Cloud hesaplarına ait kimlik bilgileri saldırının veri toplama kapsamına girdi.

Bunun yanında Git, SSH, GPG, Docker, Kubernetes, npm, PyPI, Vault Terraform gibi geliştirici araçlarıyla altyapı sistemlerinde kullanılan erişim bilgileri arandı. OpenAI, Anthropic, Gemini, Hugging Face, Cursor GitHub Copilot gibi yapay zekâ hizmetlerine ait kimlik bilgileri betiğin hedefleri arasındaydı.

Betik yalnızca açıkça tanımlanmış erişim anahtarlarını aramakla sınırlı kalmadı. Ortam değişkenleri, env dosyaları, özel anahtarlar, anahtar depoları, kabuk geçmişleri, işlem belleği, depo dosyaları, son commit kayıtları iş akışı çıktıları tarandı. Böylece geliştiricilerin yerel ortamlarında veya otomasyon süreçlerinde sakladığı hassas bilgiler saldırganların erişimine açılabildi.

Wfx-loot kampanyasının tehlikeli yönlerinden biri, çalınan kimlik bilgilerinin bulut altyapılarında daha geniş erişim elde etmek için kullanılabilmesiydi. Zararlı betik, GitHub OIDC belirteçlerini AWS, Azure Google Cloud üzerinde geçici oturumlara dönüştürerek bulut kaynaklarına erişim sağlamayı hedefledi.

AWS tarafında saldırganlar, depolarda tanımlanmış ek IAM rollerine geçiş yaparak uzun süre kullanılabilen kullanıcı kimlik bilgileri oluşturmayı deneyebildi. Google Cloud ortamında ise ele geçirilen hizmet hesabı bilgileri, farklı kimlikleri taklit etmek için kullanılabildi. Yetkilerin elverdiği durumlarda bulut kimlik güven politikalarının değiştirilmesi kalıcı erişim oluşturma seçenekleri arasında yer.

Toplanan veriler sıkıştırılmış arşiv dosyalarına dönüştürüldü saldırganların kontrolündeki iki farklı sunucuya HTTP POST istekleriyle gönderildi. Veri aktarımının ardından saldırganlar, depolara yaptıkları değişiklikleri hızla geri. İş akışı çalıştırma kayıtları günlükler silindi. Aikido, temizlik işlemlerinin dakikadan kısa sürede tamamlandığını bildirdi.

Kampanyanın otomatik paket yayınlama yetenekleri, ele geçirilen hesapların etkisini GitHub depolarının dışına taşıdı. Saldırganların kullandığı süreç sonucunda Packagist üzerinde digitalelvis/neuronai-studio paketinin 3.14.3 sürümü yayınlandı. Go modülü github./onuragtas/docker-env için 1.0.278 1.0.280 sürümleri dağıtıldı.

Araştırmacılar, paket yayınlarının kampanyanın temel hedefinden ziyade otomatik yayınlama mekanizmasının sonucu olduğunu değerlendiriyor. Aikido’ya göre saldırganların öncelikli amacı, sürekli entegrasyon dağıtım (CI/CD) süreçlerinde saklanan gizli bilgilere ulaşmaktı. Araştırmacılar ayrıca wfx-loot kampanyasıyla 2025 yılında ortaya çıkan GhostAction saldırısı arasında bazı benzerlikler tespit.

Aikido, proje sahiplerinin depolarında belirli izleri aramasını öneriyor. Özellikle wfx-docs adlı dalın, saldırganların kullandığı şüpheli pull request taleplerinin iş akışı çalıştırma numaralarındaki beklenmedik boşlukların incelenmesi gerekiyor.

  • Depolarda wfx-docs adlı dal bulunup bulunmadığı kontrol edilmeli.
  • “docs: dependency audit notes” pull request talepleri incelenmeli.
  • GitHub Actions çalışma numaralarındaki açıklanamayan boşluklar araştırılmalı.
  • Şüpheli iş akışları, depo değişiklikleri paket yayınlama kayıtları gözden geçirilmeli.
  • Zararlı yükün çalıştığı doğrulanan ortamlarda erişime açık tüm gizli bilgiler yenilenmeli.

Araştırmacılar, zararlı kodun çalıştığı doğrulanan depolar için yalnızca GitHub erişim anahtarlarının değiştirilmesini yeterli görmüyor. İlgili iş akışlarının erişebildiği tüm bulut rolleri, hizmet hesabı bilgileri gizli veriler ele geçirilmiş kabul edilmeli. Kurumların kimlik bilgilerini derhal yenilemesi, bulut erişim izinlerini gözden geçirmesi şüpheli oturumları sonlandırması gerekiyor.

Wfx-loot kampanyası, yazılım geliştirme süreçlerinde kullanılan otomasyon hesaplarının ele geçirilmesinin tek depoyla sınırlı kalmayan sonuçlar doğurabileceğini ortaya koyuyor. Özellikle CI/CD sistemlerinde saklanan erişim anahtarlarının kapsamı daraltılmadığında, GitHub hesabının ihlali kurumsal bulut altyapısına farklı yazılım ekosistemlerine uzanan daha geniş güvenlik sorununa dönüşebiliyor.