Yazılım geliştiricilerin en çok kullandığı platformlardan GitHub, son yılların en geniş kapsamlı kimlik bilgisi hırsızlığı kampanyalarından biriyle karşı karşıya. Güvenlik şirketi Aikido Security, wfx-loot adını verdiği kampanyada bir saldırganın çalınmış kimlik bilgileriyle ele geçirdiği 4.837 GitHub hesabını kullanarak, bu hesapların yazma yetkisi olan depolara gizli anahtar çalan bir betik yerleştirdiğini açıkladı.
Aikido’nun verilerine göre saldırgan 61.764 depoyu yokladı; betik ise en az 1.806 depoda çalıştı. Şirket bu sayıyı sonraki güncellemede 1.835’e çıkardı. Kampanya 10 Kasım’da UTC ile 12.45 civarında (Türkiye saatiyle 15.45) başladı.
Saldırı nasıl işliyor?
Burada bir yazılım açığı istismar edilmiyor. Saldırgan, zaten yazma yetkisi olan gerçek kullanıcı hesaplarının çalınmış erişim anahtarlarıyla hareket ediyor. Her saldırı üç adımda ilerliyor:
- Yoklama: Saldırgan önce wfx-docs adlı bir daldan “docs: dependency audit notes” başlıklı bir çekme isteği (pull request) açarak depoya yazıp yazamadığını test ediyor.
- Yükü bırakma: Yazma yetkisi doğrulanırsa üç yöntemden biri kullanılıyor: mevcut bir iş akışına yaklaşık 1.500 satır ekleyen “ci: refresh build cache” değişikliği, package.json dosyasına her npm install komutunda çalışan bir kurulum kancası ekleyen “chore: add ci helper” değişikliği ya da kısa ömürlü bir dalda yeni bir iş akışı oluşturan “chore: add dependency audit workflow” değişikliği.
- İz silme: Saldırgan değişikliği en fazla bir dakika içinde geri alıyor ve iş akışı çalıştırmasını kayıtlarıyla birlikte siliyor. Aikido’ya göre iş akışı geçmişinde eksik bir çalıştırma numarası çoğu zaman geriye kalan tek iz.
Saldırgan değişikliği hızla geri aldığı için birçok depo sahibi olanı fark etmemiş görünüyor: Aikido, yoklama amaçlı çekme isteklerinin yüzde 92’sinin hâlâ açık olduğunu belirtiyor.
Neler çalınıyor?
Yaklaşık 1.500 satırlık kabuk betiği, iş akışının erişebildiği her türlü sırrı toplamak üzere tasarlanmış. Araştırmacılara göre betiğin hedefleri arasında şunlar var:
- GitHub Actions gizli anahtarları ve değişkenleri, iş akışının GITHUB_TOKEN anahtarı, OIDC ve çalışma zamanı belirteçleri,
- AWS, Azure ve Google Cloud kimlik bilgileri; kendi sunucusunda çalışan iş akışı makinelerinde bulut meta veri servisinden alınan anahtarlar,
- Git, SSH, Docker, Kubernetes, npm, PyPI, Vault ve Terraform kimlik bilgileri,
- OpenAI, Anthropic, Gemini, Hugging Face, Cursor ve GitHub Copilot gibi yapay zekâ servislerinin ve geliştirici araçlarının anahtarları.
SafeDep araştırmacıları, çalınan verilerin HTTP üzerinden saldırganın sunucularına ya da bir Telegram sohbetine gönderildiğini tespit etti. SailPoint ise betiğin çalınan anahtarlarla yeni ve uzun ömürlü AWS erişim anahtarları oluşturarak kalıcılık sağlamaya çalıştığını aktarıyor.
Yazılım tedarik zinciri de risk altında
Aikido’ya göre saldırganın asıl hedefi tedarik zincirine yayılmak değil, CI sırlarını toplamak. Yine de zararlı yük, otomatik yayımlama tetikleyicileri üzerinden en az bir Packagist ve bir Go paketine sızdı. Ele geçirilen hesaplardan en az 50’sinin npm, Go, Packagist, PyPI veya crates ekosistemlerinde paket yayımlayan geliştiricilere ait olduğu belirtiliyor.
Etkilenip etkilenmediğinizi nasıl anlarsınız?
- 10 Kasım’dan bu yana yazma yetkiniz olan depolarda wfx-docs adlı bir dal ya da “docs: dependency audit notes” başlıklı bir çekme isteği olup olmadığını kontrol edin.
- “ci: refresh build cache”, “chore: add ci helper” veya “chore: add dependency audit workflow” başlıklı commit’leri ve chore/ ile başlayan kısa ömürlü dalları arayın.
- İş akışı geçmişinde atlanmış çalıştırma numaralarına bakın.
- Betiğin çalıştığı bir depoda, iş akışlarının erişebildiği bütün sırları ve bulut rollerini ele geçirilmiş kabul edin ve hepsini yenileyin; yapay zekâ servis anahtarları da buna dâhil.
- Yoklama isteği açılmış bir hesabın kendisi de ele geçirilmiş demektir: Parolayı ve erişim anahtarlarını yenileyin, iki aşamalı doğrulamayı etkinleştirin.
wfx-loot, yapay zekâ anahtarlarının artık saldırganlar için bulut kimlik bilgileri kadar değerli bir hedef olduğunu da gösteriyor. Bu anahtarlarla yapılan yetkisiz kullanım, kısa sürede yüksek faturalara dönüşebiliyor.
Kaynak: Aikido Security, SafeDep, The Hacker News







