GitHub Deposunda Görünmez Tehdit: Büyük Dosyalarla Siber Saldırı

Teknoloji dünyası, geliştiricilerin en temel platformlarından biri olan GitHub’daki yeni nesil bir saldırı türüyle sarsıldı. Geleneksel güvenlik protokollerinin ötesine geçen bu karmaşık operasyon, saldırganların 42 farklı üçüncü taraf depoyu ele geçirmesine olanak tanıdı. Özellikle GitHub güvenlik açığı olarak da yorumlanabilecek bu durum, boyutları nedeniyle arama ve API yolları tarafından gözden kaçırılan devasa yük dosyaları kullanılarak gerçekleştirildi. Bu saldırı, otonom kodlama ajanları ve entegre geliştirme ortamları (IDE) üzerindeki güvenlik katmanlarının ne kadar kırılgan olabileceğini bir kez daha gözler önüne seriyor.
Gözden Kaçan Yüklerle Sızma Mekanizması
Bu saldırının en dikkat çekici özelliği, GitHub’ın kendi arama ve API yollarının bile tespit edemediği, alışılmadık derecede büyük boyutlu “yük blobları” kullanmasıydı. Güvenlik araştırmacıları, bu blobların 13.7MB’a kadar çıkabildiğini ve bu sayede normalde bu tür uzlaşmaları bulmak için kullanılan otomatik sistemleri atlattığını ortaya koydu. Saldırganlar, bu yöntemle 42 ayrı depoya sızmayı başardı ve buralara kötü niyetli içerikler yerleştirdi.
Ele geçirilen depolar, yapay zeka destekli kodlama asistanları ve IDE’ler için yürütme kancaları içeriyordu. Bu kancalar, 13.7MB’a varan polimorfik sarmalayıcılarla gizlenmişti ve hepsi aynı gizli CI-yayıncı yüküne çözülüyordu. Bu, saldırının yalnızca kod tabanına değil, aynı zamanda geliştiricilerin kullandığı araçlara ve otomatik süreçlere de derinlemesine nüfuz etme kabiliyetine sahip olduğunu gösteriyor. Kampanyanın saldırganlara ait deposu, anlık görüntü zarflarını alan aktif bir şifreli veri havuzu olarak da işlev gördü.
Kamuflaj ve Npm Zincirinin Rolü
Saldırı, yeni bir kamuflaj tekniği kullanılarak daha da karmaşık hale getirildi: Kendi başına herhangi bir yük içermeyen, derlenmiş yerel bir eklenti. Bu eklenti, gerçek yükü ortaya çıkarmak için çalışma zamanında .napi_cache adlı bir dosyayı şifresini çözüyordu. Bu yöntem, kötü niyetli aktivitenin doğrudan tespiti yerine dolaylı yollarla gizlenmesini sağlıyordu. Ayrıca, yapılan incelemeler hesap ele geçirmeleri, sahte commit zaman çizelgeleri, kısa ömürlü yayın dalları ve npm kimlik bilgilerinin ifşa edildiğini de ortaya çıkardı.
Ele geçirilen aynı sahip kümesindeki Shellpanel kalıntıları, bu GitHub mağdur altyapısını daha önce bildirilen, internete açık cPanel sistemlerinin GitHub Actions üzerinden istismarına bağlıyor. Saldırıların npm ekosistemindeki “shai-hulud” paketleri aracılığıyla tespit edildiği 21 Ekim tarihi, bu olayın başlangıç noktası olarak belirlendi. Daha sonra “testmetest” adı verilen paketlerin, başlangıçta bir test sanılırken, aslında mevcut depoların kötü amaçlı içeriklerle ele geçirilmesine hizmet ettiği anlaşıldı. Malign testmetest sürümleri, geleneksel bir yükleme komut dosyası bildirmemelerine rağmen, kurulum sırasında index.js dosyasını yürütmek için binding.gyp komut genişletmesini kullandı. Yükleyici, her derlemede karakter kodu dizisine özel bir Caesar dönüşümü uygulayarak bir AES-128-GCM aşamasını çözdü ve Bun 1.2.18’i indirdi veya konumlandırdı. Derlemeye bağlı olarak, şifresi çözülen yük bun run – komutuna yönlendirildi veya geçici bir .b-* dizinine yazılıp yürütmeden sonra silindi.
Geliştirme Ortamlarına Sızan Solucan Etkisi
Bu karmaşık saldırının arkasındaki tam npm yükü, kimlik bilgilerini topladı, depoları ve sürekli entegrasyon (CI) yapılandırmasını zehirledi ve paket kayıt defterleri aracılığıyla yayıldı. Saldırganlar tarafından kontrol edilen depolar, eşleşen npm paketleri için kılıf projeleri olarak hizmet verdi. Kötü amaçlı sürümler, üçüncü taraf depolara erişim sağlayabilecek GitHub ve npm kimlik bilgilerini çalan bir npm solucanı yaydı.
Ele geçirilen depolarda, saldırı kampanyası ya smoke-test yer tutucuları ya da silahlandırılmış yükler bıraktı. Silahlandırılmış ci.js dosyalarının şifre çözümü, GitHub Actions aracılığıyla çalışacak ve npm jetonlarını veya güvenilir yayıncılığı kullanarak daha fazla kötü amaçlı testmetest sürümü üretmeyi amaçlayan yayıncıları ortaya çıkardı. Bu, paket dağıtımını tekrar depo ele geçirme döngüsüne geri besleyerek sürekli bir tehdit zinciri oluşturdu. Bu mekanizma, bir yandan mevcut projeleri zehirlerken, diğer yandan da sürekli olarak yeni kötü amaçlı paketler üreterek saldırının etki alanını genişletti.
Savunma Mekanizmaları ve Acil Önlemler
Bu tür gelişmiş saldırılara karşı savunma, çok katmanlı ve proaktif bir yaklaşım gerektiriyor. Güvenlik uzmanları, tam solucan sürümünün yüklenmesini bir sunucu ele geçirmesi olarak değerlendirmek gerektiğini vurguluyor. Bu, saldırının basit bir veri sızdırmanın ötesinde, sistemin kontrolünün ele geçirilmesi anlamına geldiğini gösterir. Bu nedenle, olası bir enfeksiyon durumunda tüm sistemlerin detaylıca incelenmesi ve temizlenmesi hayati önem taşıyor.
En kritik önlemlerden biri, etkilenen tüm kimlik bilgilerinin (GitHub, GitLab, npm, PyPI, RubyGems, bulut, SSH, Vault, Kubernetes ve yapay zeka sağlayıcıları) derhal iptal edilmesi ve yenilenmesidir. Ayrıca, etkilenen kimliklerin erişebildiği tüm depoların kapsamlı bir şekilde denetlenmesi gerekiyor. Bu denetim sırasında özellikle .github/init.js, .claude/settings.json, .gemini/settings.json, .cursor/mcp.json, .cursor/rules/setup.mdc, .vscode/tasks.json, beklenmedik composer.json veya Makefile yürütme kancaları ve skip-checks:true commit’leri gibi potansiyel kötü niyetli dosyalar veya yapılandırmalar aranmalıdır. Bu adımlar, saldırının yayılmasını durdurmak ve gelecekteki riskleri minimize etmek için elzemdir.
Dijital Geliştirme Ortamlarının Geleceği
Bu saldırı, modern yazılım geliştirme ekosistemlerinin karşı karşıya olduğu karmaşık ve sürekli evrilen tehditlerin bir yansımasıdır. GitHub gibi merkezi platformlar, milyonlarca geliştiricinin iş birliği yaptığı kritik altyapılar olduğundan, bu platformlardaki herhangi bir zafiyetin domino etkisi yaratma potansiyeli yüksektir. Gözden kaçan dosya boyutları ve kamuflaj teknikleri kullanılarak yapılan bu tür saldırılar, güvenlik çözümlerinin yalnızca bilinen tehditlere değil, aynı zamanda yaratıcı gizlenme stratejilerine de odaklanması gerektiğini gösteriyor.
Geliştirme süreçlerine otonom kodlama asistanlarının ve yapay zeka araçlarının entegrasyonu arttıkça, bu araçların güvenlik zafiyetleri için yeni vektörler oluşturduğu da ortaya çıkıyor. Bu durum, yalnızca platform sağlayıcılarının değil, aynı zamanda geliştiricilerin ve CISO’ların da güvenlik farkındalığını artırmasını gerektiriyor. Sürekli entegrasyon/sürekli dağıtım (CI/CD) boru hatlarının, paket yöneticilerinin ve bulut tabanlı geliştirme araçlarının her bir bileşeninin potansiyel bir saldırı yüzeyi olduğu kabul edilmeli ve buna göre sağlam güvenlik politikaları ve izleme mekanizmaları geliştirilmelidir. Dijital geliştirme ortamları daha da karmaşıklaştıkça, siber güvenlik stratejileri de aynı hızda evrilmek zorunda kalacaktır.
Sık Sorulan Sorular
İlgili Makaleler
- ›AI Ajan Ölçeklendirme: Protokoller Tek Başına Neden Yetersiz?
- ›Yapay Zeka Arka Kapı Tehdidi: Birkaç Nöronla LLM Manipülasyonu
- ›Microsoft AI'ı, Rust'ın Standart Kütüphanesinde On Yıllık Açığı Buldu
- ›Yapay Zeka Devleri Yazılım İş Akışını Nasıl Ele Geçiriyor?
- ›PuppyGraph: AI Şema ve MCP ile Kurumsal Veri Sorgulama Dönüşüyor
