Awal pekan ini alat keamanan Socket melaporkan sejumlah paket NPM populer disusupi, yang kemungkinan membahayakan mesin pengembang. Mari kita lihat bagaimana eksploitasi ini bekerja dan bagaimana Anda dapat melindungi diri Anda terhadapnya 👇
Langkah 1: Akses penayang NPM Peretas menggunakan phishing untuk membahayakan akun dengan hak penerbitan untuk paket ini. Hal ini memungkinkan peretas untuk menerbitkan versi berbahaya dari paket NPM populer ini.
Langkah 2: Instalasi dependensi mengunduh malware Saat pengembang kemudian menginstal versi berbahaya baru tersebut, skrip "pascainstal" dalam paket NPM berjalan setelah penginstalan, dan mengunduh + mengeksekusi malware di komputer pengembang. Ini dapat membahayakan akun pengembang lebih lanjut atau mencuri kredensial dari komputer mereka.
Bagaimana kita bisa tetap aman dari eksploitasi semacam ini? Sebagai penulis paket: Gunakan 2FA sehingga kampanye phishing cenderung tidak membahayakan hak penerbitan untuk paket Anda. Sebagai pengembang: 1. Mengunci dependensi. Untungnya ini sudah menjadi praktik standar, atau dampak dari eksploitasi ini akan jauh lebih tinggi. 2. Hindari skrip pascainstal jika memungkinkan. Sebagian besar paket tidak memerlukan skrip postinstall untuk berfungsi, jadi disarankan untuk mematikannya. MetaMask telah menciptakan alat open source yang hebat untuk ini yang disebut LavaMoat. 3. Ketergantungan audit. Cara terbaik untuk melindungi dari eksploitasi semacam ini adalah berhati-hati dengan dependensi yang Anda tambahkan ke proyek Anda sejak awal. Socket adalah alat yang sangat berguna untuk membantu mengotomatiskan audit semacam itu.
282