634 Kata Sandi dalam 56 Detik
Seorang developer menjalani dua putaran wawancara dengan perusahaan palsu. Situs web nyata, wajah nyata, percakapan teknis nyata. Lalu mereka menjalankan coding challenge tersebut. Dalam waktu kurang dari satu menit, seluruh kata sandi Chrome, macOS Keychain, dan data wallet crypto hilang.
Seorang developer — sadar keamanan, berpengalaman, seseorang yang aktif mencari penipuan — menjalani proses wawancara multi-tahap dengan perusahaan palsu. Panggilan HR. Wawancara teknis dengan dua engineer. Situs web nyata dengan foto tim. Profil LinkedIn nyata. Berminggu-minggu membangun hubungan.
Lalu mereka diminta menjalankan coding challenge kecil selama screenshare.
56 detik kemudian, penyerang telah memiliki 634 kata sandi Chrome tersimpan, file macOS Keychain (yang berisi kunci untuk mendekripsinya), dan data wallet MetaMask.
Cara kerja serangan
Repo GitHub terlihat bersih. Beberapa file backend, tidak ada yang mencurigakan. Namun satu dependensi — winston-middleware, paket logging yang terdengar wajar — punya dependensi sendiri: next-runtimejs.
Di situlah senjatanya.
Saat npm install dijalankan, sebuah skrip shell dieksekusi tanpa suara. Tidak ada prompt, tidak ada peringatan. Skrip itu mengunduh backdoor berbasis Go dan mendaftarkannya untuk auto-start pada setiap boot.
Ini bukan alat script kiddie. Protokol C2 terenkripsi RC4 kustom. Perintah untuk eksekusi shell, pencurian file, ekstraksi kata sandi Chrome, ekfiltrasi Keychain, dan penargetan wallet crypto. Dibangun secara profesional.
Backdoor mulai berjalan pada 16:16:37. Kata sandi Chrome diakses pada 16:17:33. Developer itu melihat popup macOS tentang koneksi keluar dan mematikan WiFi dalam waktu kurang dari satu menit — tetapi kerusakan sudah terjadi.
Mengapa wawancaranya penting
Serangan ini akan gagal jika dikirim sebagai cold email. "Jalankan repo ini" dari orang asing akan diabaikan.
Tetapi setelah dua putaran wawancara? Setelah tertawa bersama tentang berapa banyak penipuan lowongan kerja palsu yang menyasar developer? Setelah salah seorang pewawancara berkata "Silakan cari backdoor" sambil tersenyum?
Saat itulah kewaspadaan Anda turun. Kepercayaan adalah exploit-nya. Malware hanyalah payload-nya.
Developer itu mengatakannya dengan baik: "Jika ini terjadi pada saya, ini bisa terjadi pada siapa pun di tim Anda."
Arti sebenarnya dari kata sandi Chrome
Chrome mengenkripsi kata sandi tersimpan dengan AES. Kunci dekripsi disimpan di macOS Keychain. Penyerang mencuri kedua file tersebut dalam waktu kurang dari satu menit.
Setiap kata sandi tersimpan — perbankan, email, GitHub, konsol cloud — dapat dibaca di sisi mereka. File Keychain dapat di-crack secara offline tanpa batas rate. Developer itu harus mengganti semuanya.
Inilah rahasia kotor dari kata sandi yang disimpan di browser: semuanya dienkripsi dengan kunci yang berada di mesin yang sama. Jika mesinnya disusupi, "enkripsi" itu hanyalah hiasan.
Pola DPRK
Developer itu menyebutkan bahwa perusahaan sebelumnya juga diretas oleh Korea Utara tiga bulan sebelumnya. Ini adalah kampanye "Contagious Interview" — penyerang yang disponsori negara DPRK menjalankan wawancara kerja palsu untuk menanamkan malware di mesin para developer.
Ini tidak acak. Mereka menyasar developer secara khusus karena akses yang dimiliki developer: kredensial produksi, signing keys, infrastruktur cloud, dan — semakin banyak — token agen AI yang dapat mengakses lebih banyak lagi.
Skalanya bersifat industri. Perusahaan palsu dengan wajah hasil generate. Situs web yang dipoles. Proses wawancara berminggu-minggu. Mereka berinvestasi karena ROI-nya nyata.
"Pengelola kata sandi tidak membantu"
Developer itu membuat klaim menarik dalam thread tersebut: "Pengelola kata sandi tidak membantu jika mereka punya akses ke komputer Anda memakai backdoor seperti ini, karena mereka dapat mengirimkan file apa pun nanti, menyusun exploit khusus untuk Anda, keylogger, tangkapan layar."
Ini sebagian benar dan sebagian salah.
Pengelola kata sandi yang menyimpan vault-nya di disk lokal Anda, yang dibuka dengan kata sandi utama yang Anda ketik — ya, backdoor dengan keylogging dan akses file dapat menyusupinya.
Namun pengelola kata sandi dengan kunci yang terikat pada hardware — di mana kunci dekripsi diturunkan dari authenticator fisik dan tidak pernah eksis sebagai file di disk — pada dasarnya berbeda. Backdoor dapat mencuri file, mencatat ketikan, mengambil tangkapan layar. Tetapi backdoor tidak dapat mengekstrak kunci yang hanya ada di dalam hardware security module saat physical tap.
634 kata sandi Chrome itu dicuri karena data terenkripsi maupun kunci dekripsi sama-sama berupa file di filesystem. Jika kunci dekripsi mensyaratkan kepemilikan fisik atas sebuah perangkat, mencuri file hanya memberi Anda blob terenkripsi dan tidak lebih.
Yang harus dilakukan
- Jangan pernah menjalankan kode wawancara di mesin utama Anda. Gunakan VM atau perangkat terpisah.
- Jalankan
npm install --ignore-scriptspada repo yang tidak Anda kenal sebelum mengeksekusinya - Gunakan firewall outbound (Little Snitch, LuLu) yang memberi peringatan pada koneksi baru
- Berhenti menyimpan kata sandi di Chrome. Titik.
- Simpan crypto di hardware wallet, bukan ekstensi browser
- Perlakukan setiap coding challenge dari perekrut sebagai berpotensi bermusuhan, berapa pun jumlah panggilan yang sudah Anda lalui
Developer itu selamat karena popup macOS menangkap koneksi keluar tepat waktu. Kebanyakan orang akan mengklik Allow tanpa berpikir dua kali.
56 detik. Hanya itu yang diperlukan.