IronWorm adı verilen Rust tabanlı bir solucan, Arweave ekosistemindeki en az 36 npm paketini ele geçirerek geliştirici kimlik bilgilerini çaldı ve bunları GitHub depolarında kendi kendine yayılmak için kullanarak ortadan kayboldu.
JFrog Güvenlik Araştırması, Arweave ve WeaveDB açık kaynak ekosistemindeki bir geliştirici hesabıyla bağlantılı şüpheli faaliyetleri araştırırken kampanyayı tespit etti. Rust ile yazılan kötü amaçlı yazılım, enfekte olmuş geliştirici makinelerinden API anahtarlarını, bulut kimlik bilgilerini, SSH anahtarlarını ve npm yayınlama token'larını topluyor, ardından bu kimlik bilgilerini diğer depolara kötü amaçlı kod göndermek için yeniden kullanıyor.
"En yakın karşılaştırma Shai-Hulud kampanyasıdır," dedi JFrog'un araştırma ekibi Çarşamba günü yayınlanan bir raporda. "İncelediğimiz kötü amaçlı yazılım bununla pek çok ortak noktaya sahip: geliştiricileri tehlikeye atma, kimlik bilgilerini çalma ve daha fazla yayılmak için güvenilir yazılım tedarik zinciri iş akışlarını kullanma fikri." Ancak IronWorm bu konsepti "bir sonraki seviyeye" taşıyor, diye ekledi araştırmacılar.
Saldırgan, dokuz organizasyona ait depolarda en az 57 kötü amaçlı kod değişikliği yaptı ve işlemleri geri tarihlendirerek tehlikeye atılma zaman çizelgesini gizledi. Bazı katkılar, "[email protected]" e-posta adresini kullanan Anthropic'in Claude AI modeline atfedilmiş olmasına rağmen 13 yıl kadar eski zaman damgaları taşıyordu. GitHub Action kayıtları, işlemlerin aslında güvenliği ihlal edilmiş ocrybit kullanıcısı tarafından gönderildiğini ortaya çıkardı, dedi JFrog. Kampanyayı da izleyen OX Security, etkilenen paketlerin tehdit bertaraf edilmeden önce aylık toplam 32.000'den fazla indirilmeye sahip olduğunu söyledi.
Bilinen Bir Emsal Olmayan Özel Bir İmplant
JFrog, IronWorm yükünün veri tabanındaki bilinen hiçbir bilgi hırsızı, eBPF rootkit'i veya komuta ve kontrol çerçevesiyle eşleşmediğini söyledi. İkili dosya, yalnızca çalışma zamanında kurtarılabilen şifrelenmiş dizgelere sahip binlerce işlev içeriyor ve her biri tek bir sabit kodlanmış anahtar yerine benzersiz şifre çözme parametreleri kullanıyor.
Kötü amaçlı yazılım, bulut sağlayıcıları, AI hizmetleri ve kripto para platformları genelinde 86 ortam değişkenini hedef alıyor. Amazon Web Services, Docker, Kubernetes, npm ve vault yapılandırmalarının yanı sıra Anthropic, OpenAI, Google Gemini, Cohere, Mistral, Groq, Perplexity ve xAI dahil AI hizmetleri için API anahtarlarını topluyor. Ayrıca Exodus masaüstü kripto para cüzdanını da hedef alıyor — ancak saldırgan, kötü amaçlı yazılımın dokunmasını önlemek için kendi cüzdanının BIP-39 kurtarma ifadesini sabit kodlamıştı; JFrog'un birkaç sentlik toz tutan neredeyse boş bir test cüzdanına kadar izini sürdüğü bir ayrıntı.
IronWorm, güvenlik sistemlerinden kötü amaçlı süreçleri, dosyaları ve ağ etkinliklerini gizlemek için bir Linux çekirdek rootkit'i olarak işlev gören bir eBPF yükü kullanıyor. Çekirdek kilitlemesinin etkin olduğu sistemlerde, süreç gizleme hileleri başarısız oluyor ve etkinlik yeniden görünür hale geliyor, diye belirtti JFrog. Kötü amaçlı yazılım, operatörüyle Tor üzerinden iletişim kuruyor ve sırları yükleme, dosya bırakma ve uzaktan kabuk çalıştırma komutlarını kabul ediyor.
Güvenilir Yayınlama Yoluyla Kendi Kendine Yayılma
Saldırı zinciri, "asteroiddao" adlı güvenliği ihlal edilmiş bir npm hesabıyla başladı ve bu hesap, bir ön kurulum kancası aracılığıyla yürütülen bir Rust ELF ikili dosyası içeren paket sürümleri yayınladı. CI ortamlarında, kötü amaçlı yazılım npm'in Güvenilir Yayınlama akışını kötüye kullandı — npm kimlik bilgilerine ihtiyaç duymadan kayıt defterine zehirlenmiş sürümler göndermek için geliştiricinin CI ortamından bir OIDC token'ı elde etti.
Kötü amaçlı yük ayrıca mevcut GitHub Actions iş akışlarını, sırları toplayabilen, zararsız görünen bir dosyaya yazabilen ve bunu bir derleme eseri olarak yükleyebilen bir sürümle değiştirdi — böylece veri sızdırmak için harici bir C2 sunucusu ihtiyacını ortadan kaldırdı. Saldırgan daha sonra kötü amaçlı paketleri yayınladıktan sonraki bir gün içinde GitHub'dan sessizce kaldırdı, dedi JFrog.
Kampanya, daha önce Trivy güvenlik tarama aracını ve CI/CD sırlarını hedef alan bilgi hırsızları dağıtmak için diğer projeleri tehlikeye atan TeamPCP siber suç grubu tarafından kullanılan Shai-Hulud solucanını yansıtıyor. Ancak IronWorm, JavaScript yerine Rust ile yazılmış ve bu da onu tersine mühendislik için önemli ölçüde daha zor hale getiriyor. JFrog, IronWorm'un doğrudan TeamPCP ile ilgili mi yoksa bir taklitçi mi olduğunu "kesin olarak bilemeyeceğini" söyledi.
Saldırı, geliştirici ortamlarının tedarik zinciri güvenliği ihlalleri için birincil hedef haline geldiğinin altını çiziyor. Tek bir geliştiriciyi tehlikeye atarak, tehdit aktörleri güvenilir yazılım projelerine kötü amaçlı kod sokabilir ve çok sayıda alt kuruluşa ulaşabilir. Etkilenmiş olabilecek kuruluşlar, ocrybit hesabından gelen işlemler için depoları denetlemeli, güvenliği ihlal edilmiş hesap tarafından erişilebilen tüm anahtarları ve sırları döndürmeli ve yayınlanan npm paketlerini kötü amaçlı sürümler açısından kontrol etmelidir, dedi JFrog.
Bu makale yalnızca bilgilendirme amaçlıdır ve yatırım tavsiyesi niteliği taşımaz.