npm 12 Nonaktifkan Install Scripts Secara Default untuk Kurangi Risiko Rantai Pasok
npm 12 resmi meluncurkan fitur nonaktifkan install scripts secara default sebagai langkah strategis untuk mengurangi risiko keamanan pada rantai pasok perangkat lunak. Perubahan ini diumumkan langsung oleh GitHub, anak perusahaan Microsoft yang mengelola npm, dengan tujuan memperketat kontrol terhadap proses instalasi dan menghilangkan potensi celah keamanan yang selama ini terjadi akibat eksekusi skrip otomatis.
Perubahan Penting pada Perilaku Instalasi npm 12
Dalam versi terbaru npm 12, beberapa perilaku instalasi yang sebelumnya berjalan otomatis kini dibuat menjadi opt-in atau harus diaktifkan secara eksplisit, antara lain:
- allowScripts default-nya dimatikan, sehingga skrip siklus hidup dependensi seperti preinstall, install, postinstall dan proses build implicit node-gyp tidak akan dijalankan kecuali pengguna secara khusus mengizinkannya.
- --allow-git diatur default menjadi none, yang berarti dependensi berbasis Git baik langsung maupun transitif tidak akan diunduh tanpa izin eksplisit.
- --allow-remote juga default none, sehingga dependensi dari URL remote seperti file tarball HTTPS tidak akan diunduh kecuali diizinkan secara eksplisit.
Untuk menyetujui dan mengelola skrip yang dipercaya, pengguna sekarang diwajibkan menjalankan perintah npm approve-scripts --allow-scripts-pending, lalu menyimpan daftar skrip yang diizinkan tersebut ke dalam file package.json.
Langkah Transisi dan Rekomendasi GitHub
Perubahan ini sebenarnya sudah diperkenalkan secara preview bulan lalu, di mana GitHub menyarankan para pengembang untuk memperbarui npm ke versi 11.16.0 atau lebih baru, menjalankan perintah instalasi seperti biasa, dan memantau peringatan yang muncul agar siap beradaptasi dengan kebijakan baru.
Pembaruan Keamanan terkait Token Akses dan 2FA
Selain mengubah perilaku instalasi, npm 12 juga melakukan pembatasan signifikan terhadap penggunaan Granular Access Tokens (GATs) yang sebelumnya dapat digunakan untuk melewati autentikasi dua faktor (2FA). Berikut dua perubahan utama yang diperkenalkan:
- GAT yang dikonfigurasi untuk bypass 2FA tidak lagi dapat melakukan tindakan sensitif seperti mengelola akun, paket, organisasi, membuat atau menghapus token, mengubah pengaturan 2FA, dan mengelola anggota organisasi serta hak akses paket.
- GAT tidak lagi bisa melakukan publish langsung. Kini kemampuan publish terbatas pada membaca paket privat dan melakukan staging publish, di mana paket baru akan dipublikasikan secara publik setelah mendapat persetujuan manusia dengan 2FA.
Perubahan pertama dijadwalkan berlaku mulai Agustus 2026, sementara pembatasan publish akan dimulai Januari 2027. Selama masa transisi, GitHub menyarankan untuk berhenti menggunakan token bypass 2FA untuk operasi sensitif dan melakukan tindakan tersebut secara interaktif dengan autentikasi 2FA.
"Untuk persiapan ke depan, rencanakan migrasi ke metode trusted publishing (OIDC) atau staged publishing dengan langkah persetujuan manual, menggantikan token publish yang berumur panjang," jelas GitHub.
Inovasi Keamanan Tambahan di Ekosistem Paket
Di sisi lain, pengelola paket pnpm juga memperkenalkan versi 11.10 dengan fitur baru _auth untuk konfigurasi autentikasi registry yang lebih aman. Dengan mengikat kredensial secara langsung dengan host, pnpm memastikan token tidak dapat dialihkan ke host lain melalui manipulasi file proyek seperti .npmrc atau pnpm-workspace.yaml.
"Ini menutup celah di mana file proyek yang dimanipulasi dapat mengarahkan token registry valid ke host berbeda, yang merupakan salah satu jalan utama serangan pencurian kredensial," jelas perwakilan pnpm.
Analisis Redaksi
Menurut pandangan redaksi, langkah npm 12 menonaktifkan skrip instalasi secara default merupakan langkah penting dan berani dalam memperketat keamanan rantai pasok perangkat lunak yang selama ini kerap menjadi target serangan berbahaya. Dengan memaksa pengguna untuk secara eksplisit mengizinkan eksekusi skrip, potensi eksekusi kode berbahaya secara diam-diam yang bisa merusak sistem dan mencuri data dapat diminimalkan secara signifikan.
Selain itu, pembatasan penggunaan token bypass 2FA pada operasi sensitif menggambarkan keseriusan GitHub dalam memperkuat autentikasi dan mengurangi risiko akun atau paket npm diretas melalui token otomatis. Ini juga memaksa pengembang dan organisasi untuk beradaptasi ke metode publikasi yang lebih aman dengan persetujuan manual atau mekanisme OIDC, sehingga memperkecil peluang penyalahgunaan otomatisasi.
Kedepannya, para pengembang dan perusahaan harus memantau dan menyesuaikan proses CI/CD mereka agar sesuai dengan kebijakan baru ini. Adopsi trusted publishing dan review skrip secara ketat akan menjadi standar baru demi menjaga ekosistem open source tetap sehat dan aman. Untuk lebih lengkapnya, Anda dapat membaca detail pengumuman resmi di situs npm dan laporan lengkapnya di The Hacker News.
Ikuti terus perkembangan keamanan perangkat lunak dan update teknologi melalui media kami agar tidak tertinggal informasi penting berikutnya.
What's Your Reaction?
Like
0
Dislike
0
Love
0
Funny
0
Angry
0
Sad
0
Wow
0