Bağımlılık olarak GitHub'daki eski havuz adlarını kullanan uygulamalar, aslında kullanıcıları kötü amaçlı yazılımlara yönlendiriyor olabilir. İşte bilmeniz gerekenler.
GitHub repojacking'in geliştiriciler için meşru bir risk oluşturduğu giderek daha açık hale geliyor. Bilgisayar korsanları, eski depoyu ele geçirerek kullanıcıların ve şirketlerin GitHub adlarını değiştirmesinden yararlanabilir adlar, ekledikleri kötü amaçlı dosyaların, kodu bir araç olarak kullanan uygulamalar tarafından getirilebileceği umuduyla bağımlılık.
Bu nedenle, yakın zamanda kullanıcı adınızı değiştirdiyseniz veya bağımlılık olarak diğer depolara başvuruyorsanız, kendi GitHub projenizi korumak için adımlar atmanız önemlidir.
RepoJacking Nedir?
GitHub repojacking, bir havuz sahibi kullanıcı adını değiştirdikten sonra gerçekleşebilen bir istismar türüdür. Eski kullanıcı adı ve havuz adı kombinasyonu kullanılabilir hale gelir ve bir depo hırsızı, kullanıcı adını talep ederek bağımlılıklarından yararlanabilir ve havuz oluşturma aynı isimle
Repojacking iki farklı risk türü oluşturabilir:
- Repojacking, başka türlü güvenilir olan bir uygulamayı güvenilmez hale getirebilir. Bağımlılık olarak GitHub deposu kullanan bir uygulama kullanırsanız ve sahibi depoyu yeniden adlandırırsa, uygulamayı kullanmak sizi savunmasız bırakır.
- Repojacking, geliştirmekte olduğunuz bir uygulamayı riske atabilir. Bir GitHub deposuna bir bağımlılık olarak başvurursanız ve depo yeniden adlandırıldığında bunu fark etmez veya güncelleyemezseniz, uygulamanız repojacking açıklarından yararlanmaya karşı savunmasız olacaktır.
Repojacking, kullanıcılar için çok büyük bir risk oluşturmaz, ancak ciddi bir tedarik zinciri saldırısı mekanizması olarak hizmet edebileceğine inanmak için meşru nedenler vardır. Bir uygulamanın, repojacked deposuna başvuran bir bağımlılığı varsa, kötü amaçlı yazılım içerebilecek repojacker'lardan kod arayacak ve alacaktır.
Nasıl yapabileceğinizi bilerek GitHub'da geliştirme yapıyorsanız tedarik zinciri saldırıları riskinizi en aza indirin ve repojacking - hem ele geçirilen depo olması hem de bağımlılıkları olan bir üçüncü taraf olması açısından - hayati önem taşır.
RepoJacking Riskini En Aza İndirme
Repojacking saldırıları son derece öngörülebilir bir mekanizmaya dayanır: korsanlar, sahipsiz bir havuzun kontrolünü ele geçirir ve ardından onu bir bağımlılık olarak referans alan tüm uygulamalardan yararlanır. Şans eseri, bu, yeniden ele geçirme ile mücadele etmeyi kolaylaştırır.
Depoların Özel Klonlarını Oluşturun
Bir depoyu klonlama özel kopyanız üzerinde mutlak kontrole sahip olacağınız için projenizdeki bağımlılıklarla ilişkili riski en aza indirmenin mükemmel bir yoludur. Belgelendiği gibi, çıplak klonlama ve ayna itme ile genel bir havuzun özel bir kopyasını oluşturabilirsiniz. GitHub.
Proje Bağımlılıklarınızı Dikkatle İzleyin
Sorundan kaçınmayı ve halka açık depolara başvurmayı tercih ettiğinize karar verirseniz, proje bağımlılıklarınızı sık sık denetlemelisiniz. Bağımlılıklarınızın durumunu yılda birkaç kez kontrol etmek en fazla bir saatten az sürer ve sizi çok fazla stresten kurtarır.
Hesabınızı Yeniden Adlandırmayı Düşünün
İdeal olarak, kullanıcı adınızı güncel tutmak endişe edilecek bir durum değildir. Yine de yeniden ele geçirme riski göz önüne alındığında, eski adınızı korumayı düşünmelisiniz. Kullanıcı adınızı değiştirmeniz gerekiyorsa, başka bir hesap açarak eski adı talep etmeli ve rezerve etmelisiniz.
Dış Kaynakları Akıllıca Kullanın
Bağımlılıklar, uygulamanızda üçüncü taraf erişim noktaları oluşturdukları için doğal bir risk oluşturur. Genellikle tasarruf ettikleri zamana değer olsalar da, proje bağımlılıklarınızı düzenli olarak denetlemek çok önemlidir. İstismarları önlemek için SSH kimlik doğrulaması kullanmak gibi başka güvenlik önlemleri de almalısınız.