Kita Benar-Benar Berhasil Menghindari Ancaman Besar
(xeiaso.net)- Serangan rantai pasok yang baru-baru ini terjadi di ekosistem paket NPM sebenarnya berpotensi menimbulkan kerusakan yang jauh lebih besar
- Penyerang menyalahgunakan pustaka populer, tetapi hanya menggunakan malware untuk mengubah alamat dompet kripto
- Serangan ini dilakukan dengan mencuri informasi autentikasi dua faktor pengembang melalui email phishing yang sangat canggih
- Jika digunakan dalam bentuk yang lebih mematikan (misalnya pencurian API key), ada potensi kerugian yang sangat besar
- Hal ini menekankan pentingnya memahami bahwa semua dependensi berpotensi berisiko dan pentingnya memahami seluruh pohon dependensi
Gambaran serangan dan kekhawatiran
- Baru-baru ini, paket populer di NPM, salah satu ekosistem paket terbesar, terekspos serangan
- Contoh fungsi: pemrosesan warna terminal, pemetaan nama warna-RGB, dekorator debugging fungsi, utilitas untuk memeriksa nilai mirip array, dan lain-lain
- Dependensi umum seperti ini digunakan sangat luas, dan begitu kode masuk, besar kemungkinan langsung diterapkan ke lingkungan produksi
- Jika serangan itu menyertakan proxy berbahaya, pencurian API key, atau serangan serius lainnya, ada risiko akibatnya akan jauh lebih parah
- Dalam kejadian sebenarnya, malware tersebut hanya memanipulasi alamat pembayaran kripto di dompet online (misalnya MetaMask)
Kecanggihan serangan phishing
- Titik awal serangan ini adalah email phishing yang dibuat dengan sangat baik
- Menggunakan nama pengguna NPM untuk memberi kesan personal
- Membangun kepercayaan dengan pesan yang meminta "mengubah kata sandi dan kredensial autentikasi dua faktor demi keamanan"
- Disusun dengan isi yang mudah menipu pengguna biasa, selaras dengan cara operasi NPM yang cukup khas
- Menyebutkan tenggat waktu tertentu untuk menciptakan urgensi, mendorong klik pada tautan phishing saat korban sedang sibuk dan lengah
- Menggunakan domain
.helpyang mirip dengan domain resmi NPM
- Bagian yang paling menonjol hanyalah penggunaan "npmjs.help" alih-alih domain resmi
- Saat ini berbagai gTLD (Generic Top Level Domain) baru banyak digunakan untuk blog maupun dokumentasi, sehingga ini pun bisa tampak wajar
Potensi dampak serangan
- Email phishing tersebut memungkinkan penyerang mencuri informasi autentikasi dua faktor pengguna, lalu menyisipkan kode serangan dan merilis paket baru
- Pustaka perwakilan yang sangat luas penggunaannya seperti is-arrayish, color-string, color-name menjadi sasaran
- Jika malware diperluas bukan hanya untuk pembajakan kripto sederhana, tetapi juga pencurian API key, dampaknya bisa sangat fatal
- Misalnya, kebocoran massal API key OpenAI atau AWS dapat menyebabkan kerusakan jangka panjang dalam skala besar
- Pada kenyataannya, sebagian besar pustaka yang terinfeksi terutama digunakan di alat baris perintah, sehingga tujuan pencurian kripto menjadi lebih terbatas
Menargetkan ekosistem Web3 dan strategi penyerang
- Serangan kali ini tampaknya terutama menargetkan pengguna Web3 (misalnya pembayaran melalui browser)
- Dengan menyerang pustaka umum yang tidak terkait langsung dengan Web3, penyerang menghindari kemungkinan deteksi dan pemblokiran cepat oleh ekosistem Web3
- Misalnya, walaupun pustaka yang terhubung dengan MetaMask diperiksa dengan cermat, sulit membayangkan serangan akan muncul dari utilitas terkait warna teks
Pelajaran bagi ekosistem pengembang
- Kasus ini menegaskan bahwa semua paket dependensi pada praktiknya bisa bersifat berbahaya
- Ada batasan realistis untuk selalu mengendalikan atau memantau seluruh pohon dependensi sepenuhnya
- Ini menunjukkan bahwa di tengah alur deployment ke produksi yang cepat dan tekanan waktu, peninjauan keamanan mudah terdorong ke belakang
- Ke depan, pentingnya memahami komposisi dependensi proyek secara menyeluruh dan mengelolanya dengan hati-hati akan semakin besar
Penutup dan panduan
- Isi ini tidak dimaksudkan untuk menyalahkan atau membebankan tanggung jawab kepada pihak tertentu, dan penting untuk menyadari bahwa siapa pun dapat terekspos serangan phishing
- Situasi bisa berubah setelah posting ini dipublikasikan, jadi jika ada kekeliruan atau pertanyaan tentang isi, perlu dilakukan verifikasi langsung
Tags:
1 komentar
Komentar Hacker News
Serangan rantai pasok nx npm adalah peluru yang gagal dihindari banyak perusahaan; cukup dengan memasang plugin nx untuk VS Code, ia otomatis memeriksa versi nx terbaru di npm, dan jika ada informasi autentikasi penting di sesi Github (misalnya login akun perusahaan lewat GH CLI) atau file
.env, semuanya bisa bocor. Ini bukan sesuatu yang bisa dihindari hanya dengan mengelola pin dependensi atau pembaruan keamanan dengan baik. Ekosistem ini pada dasarnya butuh perubahan yang lebih mendalam. Untuk detail, lihat pengumuman keamanan resmigit push.Kita benar-benar nyaris celaka. Sulit dipercaya bahwa penyerang yang mendapatkan akses ke paket seperti ini hanya mengunggah satu alat pencuri kripto sederhana. Kalau itu kesempatan emas, rasanya lebih menguntungkan untuk investasi tambahan sekitar seminggu dan menanam exploit yang lebih canggih: kunci API, menambahkan kunci publik SSH, membocorkan IP server, profil browser atau token sesi di perangkat pengembang, bahkan informasi kartu Amazon di desktop saya. Ada terlalu banyak hal yang bisa dicuri. Bahkan kalau tidak dipakai sendiri, semua itu bisa dengan mudah dijual di forum dark web. Saya jadi penasaran apakah para penjahat siber yang benar-benar kompeten sudah bekerja di perusahaan teknologi yang stabil dan bergaji tinggi, sehingga yang tersisa hanya serangan sederhana seperti ini.
Kebiasaan menunda itu adalah teknik bertahan hidup saya. Karena saya menunggu sampai orang lain selesai beta testing, dulu di kantor saya memakai Microsoft Office 2000 selama 12 tahun, dan menikmati 10 tahun yang damai tanpa masalah akibat upgrade atau pelatihan ulang. Dan saya punya kebiasaan untuk tidak pernah mengklik tautan dalam email.
Untuk startup kecil mungkin sulit, tetapi menurut saya pemain besar seperti npm seharusnya menguasai semua versi TLD dari domain npm seperti "npm.io", "npm.sh", "npm.help", dan seterusnya. Fakta bahwa penyerang menguasai domain "npm.help" membuat serangan ini jauh lebih efektif.
no-reply-aws@amazon.commenjadino-reply@tax-and-invoicing.us-east-1.amazonaws.com. Karena alamat itu terlihat asing, hampir tampak seperti email phishing, tetapi katanya resmi, jadi membingungkan. Bahkan email pemberitahuan sebelumnya juga terlihat seperti phishing, sehingga sampai benar-benar menerima tagihan, saya tetap curiga dan tidak membuka lampiran PDF-nya. Perusahaan memperingatkan pelanggan agar hati-hati terhadap phishing sambil sekaligus melakukan hal-hal yang menimbulkan kebingungan yang tidak perlu.Bagaimana jika seseorang menggabungkan kecermatan ekstrem (gaya Jia Tan) dengan lemahnya keamanan kita sendiri (plugin editor, shell userland, dan sebagainya)? Alat-alat terkait developer berjalan dengan hak superuser tetapi justru paling sedikit diverifikasi. Saya juga tidak sanggup memverifikasi satu per satu elisp, neovim, vscode, sampai alat userland sederhana; best case-nya paling hanya jika saya mengambilnya dari nixpkgs. Tinggal buat satu plugin VSCode yang lebih baik suatu hari nanti, tunggu 1~2 tahun, selesai. GG.
Wallet seperti MetaMask memang menjadi target, tetapi saya dengar MetaMask terlindungi cukup baik dari serangan semacam ini berkat modul isolasi bernama LavaMoat. Saya benar-benar ingin melihat tulisan analisis mendetail tentang seberapa besar perlindungan nyatanya. Saya pribadi tidak terkait dengan MetaMask, tetapi saya penasaran seefektif apa langkah respons keamanan seperti ini, yang penerapannya lebih lambat dibanding serangan nyata. Sebagai referensi, saya tambahkan artikel terkait.
Terhadap pernyataan "yang benar adalah pada akhirnya kita semua akan kena serangan phishing seperti ini suatu saat nanti", saya pribadi merasa mungkin tidak. Saya punya kebiasaan untuk tidak pernah memasukkan informasi autentikasi melalui tautan di email yang tidak pernah saya minta sendiri sebelumnya (misalnya reset password, dan sebagainya). Menurut saya ini adalah keterampilan keamanan yang wajib dikuasai semua orang pada 2025.
Berbeda dengan penjelasan artikel yang mengatakan "semua malware hanya mengganti alamat wallet kripto", alasan MetaMask tidak terdampak adalah karena:
Repositori paket open source besar butuh solusi keamanan yang jauh lebih kuat, atau setidaknya harus ada kumpulan paket inti yang tepercaya dan telah ditinjau. Ekosistem Python, Rust, dan lainnya juga sama, semuanya pada dasarnya berjalan di atas kepercayaan.
Klaim bahwa "ini tidak bisa dicegah" justru hanya muncul di ekosistem yang paling sering dibobol.