Sebuah paket berbahaya di repositori Node Package Manager (npm) ditemukan menyamar sebagai pustaka API WhatsApp Web yang sah untuk mencuri pesan, mengumpulkan kontak, dan mengambil alih akun WhatsApp korbannya. Paket ini merupakan fork dari proyek populer WhiskeySockets Baileys, namun disisipi kode berbahaya yang bekerja secara tersembunyi.
Paket tersebut dipublikasikan dengan nama lotusbail dan telah tersedia di npm selama sedikitnya enam bulan, mengumpulkan lebih dari 56.000 unduhan. Meski menyediakan fungsi API WhatsApp Web yang tampak normal, paket ini diam-diam mencuri token autentikasi, session key, serta mencegat seluruh pesan yang dikirim dan diterima.
Peneliti dari Koi Security menemukan bahwa lotusbail membungkus klien WebSocket asli yang digunakan untuk berkomunikasi dengan WhatsApp. Setiap pesan yang melewati aplikasi pengembang akan terlebih dahulu melalui wrapper milik malware, memungkinkan pencurian kredensial dan isi pesan secara penuh. Selain itu, paket ini juga mengekstrak daftar kontak, file media, dan dokumen dari perangkat korban.
Data yang dicuri tidak dikirim begitu saja. Informasi tersebut dienkripsi menggunakan implementasi RSA khusus, ditambah beberapa lapisan obfuscation seperti trik Unicode, kompresi LZString, dan enkripsi AES sebelum dieksfiltrasi. Teknik ini membuat analisis kode menjadi jauh lebih sulit.
Lebih berbahaya lagi, lotusbail menyertakan kode untuk menautkan perangkat penyerang ke akun WhatsApp korban melalui proses device pairing. Dengan cara ini, penyerang dapat mempertahankan akses jangka panjang bahkan setelah paket berbahaya dihapus dari sistem. Akses hanya akan hilang jika korban secara manual menghapus perangkat tertaut dari pengaturan WhatsApp.
Koi Security juga menemukan bahwa paket ini menggunakan 27 jebakan infinite loop untuk menghambat proses debugging, yang kemungkinan menjadi alasan mengapa aktivitasnya tidak terdeteksi selama berbulan-bulan.
Pengembang yang pernah menggunakan lotusbail disarankan segera menghapus paket tersebut dan memeriksa akun WhatsApp mereka untuk memastikan tidak ada perangkat asing yang tertaut. Koi Security menekankan bahwa memeriksa source code saja tidak cukup—pengembang harus memantau perilaku runtime, terutama koneksi keluar yang mencurigakan atau aktivitas abnormal selama proses autentikasi ketika menggunakan dependensi baru.
