Yeni araştırma, npm kayıt defterinde, kayıt girişleriyle tutarsızlıklar içeren 800’den fazla paket keşfetti; bunlardan 18’inin, adı verilen bir teknikten yararlandığı tespit edildi. açıkça karışıklık.
Bulgular siber güvenlik firması JFrog’dan geldi ve bu sorunun tehdit aktörleri tarafından geliştiricileri kötü amaçlı kod çalıştırmaları için kandırmak amacıyla kullanılabileceğini söyledi.
Güvenlik araştırmacısı Andrey Polkovnichenko The Hacker News’e şunları söyledi: “Bu gerçek bir tehdit çünkü geliştiriciler masum görünen ancak gizli bağımlılıkları aslında kötü niyetli olan paketleri indirmeye kandırılabilirler.”
Manifest karışıklığı ilk olarak Temmuz 2023’te, güvenlik araştırmacısı Darcy Clarke’ın manifest ve paket meta verilerindeki uyumsuzlukların yazılım tedarik zinciri saldırıları düzenlemek için silah olarak kullanılabileceğini keşfetmesiyle belgelendi.
Sorun, npm kayıt defterinin, tarball’da (package.json) bulunan bildirim dosyasının, paket URI uç noktasına bir HTTP PUT isteği yoluyla yayınlama işlemi sırasında npm sunucusuna sağlanan bildirim verileriyle eşleşip eşleşmediğini doğrulamamasından kaynaklanmaktadır.
Sonuç olarak, bir tehdit aktörü, geliştiricinin sistemine gizlice kötü amaçlı bağımlılıklar yüklemek üzere paket kurulumu sırasında işlenen gizli bağımlılıkları içeren farklı bir bildirim sağlamak için bu çapraz doğrulama eksikliğinden yararlanabilir.
JFrog, “Görünür veya ‘sahte’ bildirim, geliştiricileri ve hatta npm kayıt defteri veritabanında bulunan verilere dayanan denetim araçlarını yanıltabilir.” dedi. “Gerçekte yükleyici package.json dosyasını tarball’dan alır; bu, HTTP PUT isteğinde sağlanan görünür dosyadan farklı olabilir.”
Şirket, npm kaydındaki manifest ile tarball içindeki package.json dosyası arasında uyumsuzluk bulunan 800’den fazla paket tespit ettiğini söyledi.
Bu uyumsuzlukların çoğu, protokol spesifikasyonu farklılıklarının veya paket dosyasının komut dosyaları bölümündeki varyasyonların sonucu olsa da, bunların 18’inin açık karışıklıktan yararlanmak için tasarlandığı söyleniyor.
Söz konusu paketlerden biri, paketin kurulu olduğu makinenin IP adresi hakkında bilgi içeren bir sunucuya HTTP isteği göndermek üzere tasarlanmış yatai-web-ui’dir.
Bulgular, saldırı vektörünün tehdit aktörleri tarafından hiçbir zaman kullanılmadığını gösteriyor. Bununla birlikte geliştiricilerin paketlerin şüpheli davranışlar içermediğinden emin olmak için gerekli adımları atması çok önemli.
Polkovnichenko, “Bu sorun npm tarafından çözülmediği için paketlere yalnızca npm’nin web sitesinde nasıl göründüklerine güvenmek riskli olabilir” dedi.
“Kuruluşlar, kuruluşa giren veya geliştirici ekipleri tarafından kullanılan tüm paketlerin güvenli ve güvenilir olduğunu doğrulayan prosedürler uygulamalıdır. Özellikle açık bir kafa karışıklığı durumunda, her paketin, herhangi bir gizli paket olup olmadığını görmek için analiz edilmesi gerekir. bağımlılıklar.”