Skala PolinRider sangat luas dan terus berkembang dengan cepat:
Kampanye ini telah menyebar jauh melampaui npm, vektor awalnya:
dev-log-core, logger-base, logkitx, pino-debugger, debug-fmt, dan debug-glit .vscode/tasks.json berbahaya dan pipeline CI yang disusupi Kampanye ini juga membobol pustaka Axios npm yang banyak digunakan (versi 1.14.1 dan 0.30.0) pada April 2026 melalui dependensi berbahaya bernama plain-crypto-js, yang memengaruhi sekitar 100 juta unduhan mingguan .
Rantai infeksi PolinRider adalah proses empat tahap yang dirancang dengan cermat untuk memaksimalkan siluman dan meminimalkan kebutuhan interaksi korban.
Penyerang menambahkan JavaScript yang sangat dikaburkan ke akhir file konfigurasi pengembang yang sah seperti postcss.config.mjs, tailwind.config.js, eslint.config.mjs, dan next.config.mjs . Baris berbahaya tersebut diberi spasi putih berlebih, mendorong kode melampaui lebar tampilan IDE default dan membuatnya tidak terlihat selama peninjauan kode biasa
.
PolinRider menggunakan tiga teknik penyembunyian utama:
.woff2 palsu: JavaScript yang dikaburkan disamarkan sebagai file font web, format biner yang jarang diperiksa oleh sebagian besar pengembang File .vscode/tasks.json berbahaya disuntikkan ke dalam repositori. Ketika seorang pengembang mengkloning repositori yang dibobol dan membukanya di VS Code, tugas tersebut dieksekusi secara otomatis tanpa interaksi pengguna lebih lanjut. Ini melewati langkah rekayasa sosial yang digunakan dalam kampanye Contagious Interview sebelumnya .
Loader JavaScript yang telah dideobfuskasi mengambil muatan tahap berikutnya dengan membaca data terenkripsi yang tertanam dalam transaksi blockchain mata uang kripto. Kampanye ini menggunakan jaringan blockchain TRON, Aptos, dan BSC (BNB Smart Chain) sebagai saluran C2 drop-mati . Teknik "etherhiding" ini membuat penonaktifan menjadi sangat sulit karena data C2 ada secara imutabel di blockchain publik.
PolinRider mengirimkan serangkaian muatan berbahaya, masing-masing dengan kemampuan spesifik:
Keluarga malware utama yang dikirimkan adalah varian baru dari BeaverTail, malware berbasis JavaScript yang dikenal terkait dengan operasi DPRK. Ini bertindak sebagai dropper tahap pertama dan pemanen kredensial .
Rantai infeksi mengirimkan RAT berbasis JavaScript yang dilacak sebagai DEV#POPPER.js. Ini memberikan kemampuan Eksekusi Kode Jarak Jauh (RCE) penuh, akses persisten, dan kemampuan untuk mengeksekusi perintah arbitrer di workstation pengembang yang dibobol. Unit Tanggap Ancaman (TRU) eSentire mendeteksinya di alam liar yang menargetkan sektor Energi, Utilitas, dan Limbah pada Februari 2026 .
Dikerahkan bersama DEV#POPPER, OmniStealer secara agresif menargetkan kredensial dompet mata uang kripto, kunci pribadi, kredensial yang tersimpan di browser, token sesi, kunci API, dan rahasia CI/CD .
PolinRider adalah evolusi operasional langsung dari kampanye Contagious Interview. Sementara Contagious Interview secara historis bergantung pada umpan wawancara kerja palsu dan rekayasa sosial untuk mengelabui pengembang agar menginstal proyek yang telah ditrojanisasi, PolinRider mewakili pergeseran menuju kompromi rantai pasok yang sepenuhnya otomatis dan bebas rekayasa sosial .
Perbedaan dan tumpang tindih utama meliputi:
Berdasarkan panduan dari OpenSourceMalware, Socket Security, Sonatype, dan peneliti lainnya, organisasi harus mengambil langkah-langkah berikut:
package.json, go.mod, dan file lock postcss.config.mjs, tailwind.config.js, eslint.config.mjs, next.config.mjs dan file serupa untuk JavaScript yang dikaburkan yang ditambahkan .vscode/ untuk tasks.json yang tidak terduga dengan konfigurasi auto-run .woff2 dan aset biner lainnya untuk JavaScript yang tertanam npm auditsocket.dev) sebelum instalasi