PolinRider Kampanyası Go ve PHP Paket Ekosistemlerine Sıçradı
Kuzey Kore bağlantılı PolinRider kampanyası, ele geçirilen GitHub hesapları üzerinden Go modüllerini ve Packagist paketlerini otomatik olarak tehlikeye attı.
PolinRider, Lazarus Group / Contagious Interview kümesine bağlı bir DPRK tedarik zinciri kampanyası olarak bu yıl başlarda tanımlandı. Klasik sahte mülakat veya tiposquat paket taktiklerinin aksine, saldırganlar meşru GitHub hesaplarını ele geçirip sahiplerinin kendi depolarına gizlice obfuscate edilmiş JavaScript yükleyicileri enjekte ediyor. Yük, config dosyalarında, sahte .woff2 font dosyalarında ve .vscode/tasks.json tetikleyicilerinde saklanıyor; blockchain dead-drop'lar üzerinden Lazarus stealer araç setini indiriyor ve bir Windows betiği git geçmişini yeniden yazarak izleri gizliyor.
İlk raporlar 675, sonraki takip ise 1.047 sahip altında 1.951 ele geçirilmiş depo tespit etmişti. Kampanya son haftalarda Packagist ve Go dahil çoklu paket kayıtlarına sıçradı: 111 benzersiz pakete bağlı yaklaşık 200 kötü amaçlı sürüm, 80'den fazla Go modülü, 10 Packagist paketi, birkaç NPM kütüphanesi ve birkaç Chrome uzantısı. Bu sıçrama saldırganların yeni bir teknik geliştirmesinden değil, Go ve Packagist gibi ekosistemlerin repo-tabanlı çalışma modelinden kaynaklanıyor: bu sistemlerde depo erişimi ile yayınlama yetkisi aynı şeydir, ayrı bir token veya kimlik bilgisi gerekmez. NPM ve PyPI ise kendi artefaktlarını barındırdığından ve ayrı bir yayınlama token'ı gerektirdiğinden bu saldırı türüne karşı daha dirençli kaldı.
Mühendisler için önemi açık: git geçmişine güvenmek yeterli değil, çünkü force-push ile tarih damgaları geriye dönük olarak sahtelenebiliyor. Savunucuların depo aktivite günlüklerini, paket sürüm metadatasını ve config dosyalarının kendisini incelemesi gerekiyor. Repo kaynaklı ekosistemlerde karşılaştırılacak temiz bir kayıt kopyası olmadığından, kirlenmiş depo doğrudan yayınlanan artefakt haline geliyor.