Haberler

npm Zararlı Paketleri Kurulum Denetimlerini Çalışma Zamanında Aşıyor

Checkmarx araştırmacıları, npm ekosisteminde yürütülen yeni bir saldırıda npm zararlı paketleri için kurulum sırasında uygulanan güvenlik kontrollerinin atlatıldığını ortaya çıkardı. Araştırmacılar, “indexed-btree” adlı paketin kötü amaçlı kodu kurulum betiklerinde değil, uygulama çalışırken devreye giren bir fonksiyonun içine gizlediğini belirledi. Saldırganlar, popüler “sorted-btree” kütüphanesini taklit eden paketi yaklaşık 2 milyon haftalık indirmeye ulaştırırken aynı operasyonla bağlantılı dokuz paketin daha npm üzerinden yayıldığı tespit edildi.

Zararlı Kod Kurulum Sürecini Atlayarak Çalışıyor

Checkmarx araştırmacılarına göre indexed-btree, npm’in son güvenlik kontrollerinin özellikle hedeflediği kurulum betiklerini kullanmadığı için ilk aşamadaki denetimlerden sıyrılıyor. GitHub tarafından Haziran 2026’da duyurulan npm güvenlik önlemleri, preinstall, install ve postinstall gibi bağımlılık yaşam döngüsü betiklerinin açık onay olmadan çalıştırılmasını engellemeyi amaçlıyor.

Zararlı çalışma zamanı tetikleyicisi

Araştırmacılar, saldırganların zararlı yükleyiciyi doğrudan BTree.prototype.set() metoduna yerleştirdiğini belirledi. Uygulamalar içinde sık kullanılan bu metodun belirli bir anahtarla çağrılması, sharedLoad.min.js dosyasındaki gizlenmiş ilk aşama kodunu tetikliyor. Böylece paketin kurulumu normal göründüğü için npm v12’nin kurulum aşamasındaki onay mekanizmaları devreye girmiyor.

Bu yöntem, npm tedarik zinciri saldırısı riskinin yalnızca paket kurulumu sırasında çalışan komutlarla sınırlı olmadığını gösteriyor. Zararlı kodun normal bir kütüphane fonksiyonunun davranışına yerleştirilmesi, statik analiz araçlarının kodu ilk bakışta güvenilir bir işlev olarak değerlendirmesine yol açabiliyor.

Indexed-btree içindeki zararlı yazılım çalıştığında sistem mimarisi, bilgisayar adı, işlemci, bellek miktarı ve çalışma süresi gibi bilgileri topluyor. Zararlı yazılım, topladığı verileri sabit olarak tanımlanmış Slack ve Telegram kanalları üzerinden saldırganlara aktarıyor.

Araştırmacılar, yazılımın komuta ve kontrol altyapısı için Ethereum üzerindeki Sepolia test ağında bulunan bir akıllı sözleşmeden de yararlandığını tespit etti. Zararlı yazılım, X25519 anahtar değişimi kullanarak bir AES anahtarı türetiyor ve akıllı sözleşmede saklanan ikinci aşama yükünü bu anahtarla çözüyor.

Saldırganlar operasyonu sonlandırmak istediğinde zararlı yazılım kendi dosyalarını silebiliyor ve paketteki tetikleyici kodu kaldırabiliyor. Bu davranış, saldırının ardından geride kalan izlerin azaltılmasını hedefleyen bir temizleme mekanizması oluşturuyor.

Checkmarx, saldırganların yalnızca kod düzeyinde değil proje görünümünde de meşruiyet algısı oluşturmaya çalıştığını bildirdi. Saldırganlar, gerçek bir açık kaynak projesini andıran GitHub deposu oluştururken düzenli bir commit geçmişi hazırladı ve geliştirici hesabını gerçek bir yazılım projesi izlenimi verecek şekilde düzenledi.

Araştırmacılar aynı operasyonla bağlantılı dokuz kötü amaçlı npm paketi daha tespit etti ve paketlerin npm üzerinden kaldırıldığını açıkladı. ordered-kv-index 448.184, btree-leaderboard 493.685, priority-slot-queue 402.860 ve btree-range-store 468.092 indirmeye ulaşırken btree-core yaklaşık 1,95 milyon indirme aldı.

Sahte commit geçmişi

Operasyonla ilişkilendirilen diğer paketler arasında 425.312 indirmeye ulaşan btree-time-index, 372.185 indirme alan btree-lru-cache, 366.019 indirmeye ulaşan neighbor-key-map ve 448.024 indirmeye ulaşan sliding-score-window yer aldı. Araştırmacılar ayrıca saldırganların kontrolündeki bir cüzdanda 109 ETH bulunduğunu bildirdi ancak rapor, söz konusu varlıkların doğrudan kripto para hırsızlığından elde edildiğini belirtmiyor.

Checkmarx, geliştiricilerin yalnızca npm paket güvenliği için kurulum sırasında çalışan betikleri taramasının yeterli olmadığını vurguluyor. Runtime davranış analizi, bir paketin kurulum sırasında temiz görünmesine rağmen uygulama çalışırken gerçekleştirdiği şüpheli işlemlerin tespit edilmesi açısından ayrı bir güvenlik katmanı oluşturuyor.

Indexed-btree veya operasyonla bağlantılı diğer paketlerden herhangi birini kullanan geliştiricilerin tüm gizli anahtarları ve erişim bilgilerini yenilemesi gerekiyor. Güvenlik ekiplerinin ayrıca geliştirme ortamlarını güvenilir bir yedekten geri yüklemesi, etkilenen bağımlılıkları kaldırması ve uygulamaların çalışma zamanındaki ağ bağlantılarını yeniden incelemesi gerekiyor.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu