Sanallaştırma

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

Bu saldırı GitHub'ın kendi güvenlik sistemlerini mi ihlal etti?

Hayır, saldırganlar GitHub'ın temel güvenlik sistemlerini aşmadı. Bunun yerine, arama ve API yolları tarafından gözden kaçırılan büyük dosya boyutlarını kullanarak üçüncü taraf depoları hedef aldı.

Saldırıda hangi tür dosyalar kullanıldı?

Saldırganlar, AI kodlama asistanları ve IDE'ler için yürütme kancaları içeren, 13.7MB'a kadar ulaşan polimorfik sarmalayıcılar ve çalışma zamanında şifresini çözen özel bir yerel eklenti kullandı.

Geliştiriciler kendilerini nasıl koruyabilir?

Tüm kimlik bilgilerini (GitHub, npm, bulut vb.) derhal iptal edip yenilemeli ve depolarını potansiyel kötü amaçlı dosyalar veya yapılandırmalar için kapsamlı bir şekilde denetlemelidirler.

Özlem Özen

Merhaba, ben Özlem Özen. İçerik üreticisi olarak dijital dünyada bilgi, deneyim ve ilham verici içerikleri insanlarla buluşturmayı hedefliyorum. Sosyal medya, yaşam, kişisel gelişim, güncel trendler ve ilgi duyduğum farklı konular üzerine içerikler üreterek takipçilerime değer katmaya çalışıyorum. İçerik üretimini yalnızca paylaşım yapmak olarak değil, insanlarla anlamlı bir bağ kurmanın bir yolu olarak görüyorum. Bu nedenle hazırladığım her içerikte samimiyet, güvenilirlik ve fayda sağlamayı ön planda tutuyorum. Sürekli öğrenmeye, kendimi geliştirmeye ve değişen dijital dünyaya uyum sağlamaya önem veriyorum. Amacım; bilgi veren, düşündüren ve ilham kaynağı olan içeriklerle daha geniş kitlelere ulaşmak ve dijital platformlarda kalıcı bir değer oluşturmak. Üretmeye, öğrenmeye ve paylaşmaya duyduğum tutkuyla içerik yolculuğuma devam ediyorum.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu