Penyerang menyalahgunakan kontrak pintar Ethereum untuk menyembunyikan malware npm, menurut temuan ReversingLabs

Pembaharuan Terakhir: 09/05/2025
  • Paket npm berbahaya colortoolsv2 dan mimelib2 mengambil URL C2 dari kontrak pintar Ethereum untuk menghindari deteksi.
  • Pengalihan pada rantai memungkinkan operator merotasi titik akhir tanpa menerbitkan ulang paket; colortoolsv2 dihapus pada 7 Juli sebelum beralih ke mimelib2.
  • Dorongan GitHub yang terkoordinasi menggunakan repo bot perdagangan palsu, bintang yang digelembungkan, dan komitmen tertulis untuk menutupi dependensi yang berbahaya.
  • IoC mencakup versi paket, hash SHA1, dan kontrak 0x1f171a1b07c108eae05a5bccbe86922d66227e2b, ditambah panduan untuk para pembela.

Kontrak pintar Ethereum digunakan untuk menyembunyikan malware npm

Para pelaku ancaman telah beralih ke trik baru: merutekan infrastruktur berbahaya melalui Kontrak pintar Ethereum untuk menyembunyikan pointer perintah dan kontrol (C2) digunakan oleh paket-paket npm. Menurut ReversingLabs, dua paket—colortoolsv2 dan mimelib2—diam-diam menghubungi blockchain untuk mengambil URL untuk muatan tahap kedua, menghindari pemeriksaan rutin yang mencari domain yang di-hardcode.

Daripada mengeksploitasi bug di Ethereum itu sendiri, skema ini memanfaatkan jaringan sebagai lapisan tidak langsung yang publik dan tangguhSetelah colortoolsv2 diblokir di npm pada 7 Juli, operator dengan cepat beralih ke mimelib2 dengan logika yang hampir identik, terus merujuk kontrak on-chain yang sama untuk langkah berikutnya.

Dari npm install ke pencarian on-chain: bagaimana cara kerja pengalihan

Bagaimana paket npm disebut kontrak Ethereum

Di dalam colortoolsv2, pemuat minimal (index.js) bertindak sebagai pengirim yang memanggil perintah eksternal dan mengambil targetnya dari kontrak pintar alih-alih skrip lokal atau konfigurasi statis. Etherscan menunjukkan kontrak di 0x1f171a1b07c108eae05a5bccbe86922d66227e2b, yang fungsi bacanya mengembalikan URL yang digunakan untuk mencapai layanan C2.

Penunjuk rantai ini mempersulit pemblokiran: pembela tidak bisa hanya mengandalkan menemukan atau memasukkan domain berkode keras ke dalam daftar hitam karena titik akhir aktif berada di belakang kontrak yang dikendalikan oleh operatorPerputaran tujuan hanya memerlukan pembaruan penyimpanan kontrak, bukan penerbitan ulang artefak npm, dan lalu lintas blockchain yang dihasilkan akan dianggap sah.

Setelah dijalankan selama instalasi atau runtime, loader mengambil second-stage component (SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21), yang menangani aktivitas lanjutan. Meniru perilaku colortoolsv2, mimelib2 menggunakan kembali kontrak yang sama untuk tujuan yang sama dengan jalur kode yang hampir identik.

ReversingLabs menggambarkan pendekatan ini sebagai sesuatu yang tidak biasa dalam ekosistem npm: URL berbahaya dihosting melalui status kontrak pintar, tidak pada layanan web tradisional yang sering terlihat dalam kampanye rantai pasokan masa lalu (misalnya, penyimpanan cloud atau gist).

Asap dan cermin GitHub: repositori bot perdagangan palsu sebagai kedok

Repo GitHub digunakan untuk menutupi dependensi npm yang berbahaya

Paket-paket npm tidak muncul secara terpisah. Operator membangun jaringan proyek GitHub yang disajikan sebagai utilitas perdagangan kripto—repositori seperti solana-trading-bot-v2—lalu menghubungkannya ke dependensi berbahaya. Bagi pengamat biasa, repositori ini tampak "hidup", dengan ribuan komitmen, banyak pengelola, bintang, dan pengamat.

Pengamatan lebih lanjut menunjukkan bahwa sebagian besar aktivitas tersebut merupakan skrip dan dangkal, termasuk pergantian file lisensi yang berulang dan akun baru dengan konten yang jarang (beberapa dibuat sekitar 10 Juli dengan berkas README minimal "Halo"). Nama pengguna yang muncul dalam riwayat komit—termasuk slunfuedrac, cnaovalles, dan pasttimerles—muncul berulang kali di seluruh proyek yang di-staged.

Komit menunjukkan dengan tepat di mana paket-paket tersebut dimasukkan ke dalam basis kode—menambahkan colortoolsv2 dan mimelib2 sebagai dependensi di bot.ts, dan impor terkait yang muncul di src/index.ts. Bukti sosial yang direkayasa membuat penyisipan dependensi menjadi jauh lebih tidak kentara selama peninjauan yang dangkal.

Pada dasarnya, fasad GitHub memperkuat sinyal kepercayaan sementara titik keputusan nyata untuk langkah malware selanjutnya ada di EthereumDengan memisahkan rekayasa sosial (GitHub) dari kontrol (kontrak pintar), operator membuat kampanye lebih sulit dideteksi dan diganggu.

IoC dan langkah konkrit bagi para pembela HAM

IoC untuk malware npm menggunakan kontrak Ethereum

ReversingLabs menerbitkan inventaris artefak terperinci yang terkait dengan aktivitas ini, beserta referensi on-chain utama yang mendorong tahap kedua. Item berikut dapat digunakan untuk berburu, memblokir, dan memvalidasi paparan dalam alur pembangunan dan stasiun kerja pengembang:

  • npm packages: colortoolsv2 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (db86351f938a55756061e9b1f4469ff2699e9e27)
  • npm packages: mimelib2 1.0.0 (bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (c5488b605cf3e9e9ef35da407ea848cf0326fdea)
  • Second stage: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
  • Kontrak pintar yang digunakan untuk tidak langsung C2: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b

Konteks tambahan dari fase pembongkaran: colortoolsv2 telah dihapus dari npm pada 7 Juli, setelah itu operator beralih ke mimelib2 dengan referensi on-chain yang sama dan perilaku loader yang hampir identik.

Tindakan yang direkomendasikan untuk tim teknik dan keamanan meliputi: pencarian on-chain yang dilakukan oleh skrip instalasi; memblokir atau memperingatkan pada eksekusi child_process dalam kait siklus hidup paket; menolak keluarnya jaringan selama instalasi npm di CI; menegakkan daftar putih untuk registri dan pengelola; mengunci versi transitif; dan memantau permintaan yang terkait dengan alamat kontrak di atas.

Lebih luas lagi, perlakukan metrik popularitas repositori sebagai sinyal non-keamanan. Kepercayaan harus berasal dari kode, artefak, dan indikator jaringan, bukan jumlah bintang, volume komit, atau kemunculan banyak "pengelola". Verifikasi independen—analisis statis, eksekusi sandbox, dan pemeriksaan asal-usul yang digerakkan oleh SBOM—tetap penting.

Yang menonjol dalam kampanye ini bukanlah kelemahan Ethereum, NPM, atau GitHub secara individual, melainkan bagaimana infrastruktur publik dapat dijalin ke dalam rantai pengiriman yang tersembunyi. memindahkan penemuan C2 ke kontrak pintar dan mencuci kredibilitas melalui GitHub, para aktor mengembangkan deteksi tradisional hingga tak berbentuk. Higiene ketergantungan yang cermat dan kontrol berlapis menjadi penyeimbangnya.

Kontrak pintar Ethereum dan npm
Artikel terkait:
Paket npm berbahaya menyembunyikan rute muatan di dalam kontrak pintar Ethereum
Pos terkait: