Hackers, kötü amaçlı kod içeren gizli projelerle GitHub'ı dolduruyor.
Siber suçlular “görünmez” Unicode karakterleriyle kötü amaçlı kodu gizliyor
Aikido Security şirketinin yeni araştırmaları, Mart başında GitHub’da 151 proje içinde gizli casusluk kodunun bulunduğunu gösterdi. Kötü niyetli paketler, insan için boşluk veya boş satır gibi görünen Unicode karakterlerini kullanıyor; ancak JavaScript’in normal çalıştırılması sırasında bu karakterler yürütülebilir bayt‑koda dönüşerek `eval()` fonksiyonuna giriyor.
Saldırı nasıl görünüyor
1. Kütüphane isimleri
Paketler, “React” veya “Node.js” gibi tanınmış ticari çözümlerin adlarını alıyor. Bu da geliştiricileri hatalı bir şekilde güvenli olduklarına ikna edip projelerine eklemelerini sağlıyor.
2. “Okunabilir” kod + gizli parçalar
Kodun büyük kısmı normal, okunaklı bir program gibi görünüyor. İçeride ise “görünmez” karakterlerle doldurulmuş bloklar bulunuyor. El ile incelendiğinde kaybolurlar; çalıştırıldığında ise etkinleşirler.
3. Test depoları
Böyle kötü amaçlı paketler yalnızca GitHub’da değil, NPM, Open VSX ve Visual Studio Code pazaryeri gibi yerlerde de tespit edildi.
Neden fark edilmesi zor
- Projelerdeki değişiklikler normal görünür: sürüm güncellemesi, hata düzeltmeleri, yeniden yapılandırma.
- Uzmanların görüşüne göre saldırganlar, kod sahteciliğini otomatikleştirmek için büyük dil modelleri (AI) kullanıyor. Bu sayede 150’den fazla proje hızlıca hazırlanabiliyor, el işi gerekmiyor.
Karakterlerin tarihi
Latin harflerine karşılık gelen Unicode karakterleri on yıllar önce sisteme eklendi. 2024’ten itibaren hackerlar bu karakterleri sohbet botlarına ve depo kodlarına yönelik kötü amaçlı istekleri gizlemek için kullanıyor. Geleneksel statik analiz araçları onları tespit edemiyor; yalnızca JavaScript çalıştırıldığında küçük dekoderler gerçek bayt‑kodu ortaya çıkarıyor.
Geliştiriciler ne yapmalı
1. Bağımlılıkları kontrol edin – harici kütüphaneleri eklemeden önce kaynak kodunu ve değişiklik geçmişini dikkatlice inceleyin.
2. Otomatik kontroller – “görünmez” karakterleri tarayan linter’lar, tarayıcılar ve dinamik davranış analiz araçlarını kullanın.
3. Güncelleyin – paketlerin indirdikten sonra silinmediğinden emin olun; bu durum gizli bir tehdidi işaret edebilir.
Perspektifler
AI’nin bu senaryoda kullanılmasının doğrulanması durumunda, böyle saldırıları tespit etmek ve ortadan kaldırmak daha da zorlaşacak. Bununla birlikte, kaynak kodu ve bağımlılıkların bilinçli kontrolü benzer tehditlere karşı en iyi koruma yöntemini temsil etmeye devam eder.
Yorumlar (0)
Düşüncenizi paylaşın — lütfen kibar olun ve konu dışına çıkmayın.
Yorum yapmak için giriş yapın