GitHub mengumumkan langkah baru untuk memperkuat keamanan ekosistem npm, setelah serangkaian serangan rantai pasok (supply-chain attacks) yang memengaruhi ribuan akun dan repositori dalam beberapa bulan terakhir.
Latar Belakang Serangan
Beberapa serangan besar yang memanfaatkan npm tercatat antara lain:
- “s1ngularity” (akhir Agustus 2025)
- “GhostAction” (awal September 2025)
- “Shai-Hulud” (minggu lalu)
Ketiga kampanye ini menyebabkan kompromi ribuan akun, pencurian data sensitif, hingga kerugian remediasi yang signifikan. Meskipun GitHub merespons cepat, perusahaan mengakui bahwa tindakan preventif lebih kuat diperlukan.
Aturan Keamanan Baru
Untuk mengurangi risiko, GitHub akan secara bertahap menerapkan langkah-langkah berikut:
- 2FA wajib untuk semua aktivitas publikasi lokal.
- Token granular dengan masa berlaku 7 hari.
- Adopsi luas trusted publishing, yang menghapus kebutuhan mengelola token API di sistem build.
- Depresiasi token klasik dan metode 2FA berbasis TOTP, beralih ke FIDO-based 2FA (WebAuthn).
- Masa berlaku token publikasi diperpendek.
- Default access akan menolak token publikasi kecuali diaktifkan.
- Penghapusan opsi untuk melewati 2FA dalam publikasi lokal.
Imbauan untuk Maintainer
GitHub menekankan bahwa maintainer npm sebaiknya segera:
- Beralih ke trusted publishing.
- Menerapkan 2FA berbasis WebAuthn alih-alih TOTP.
- Membatasi hak akses sesuai prinsip least privilege.
Peran Komunitas
GitHub menegaskan bahwa keamanan ekosistem adalah tanggung jawab bersama. Pengembang diharapkan mengambil langkah aktif mengadopsi opsi keamanan terbaru guna meminimalisir risiko serangan supply-chain.
RubyGems Ikut Perketat Tata Kelola
Selain npm, Ruby Central juga mengumumkan tata kelola lebih ketat untuk RubyGems, menyusul kasus 60 paket berbahaya yang diunduh lebih dari 275.000 kali, serta insiden typosquatting pada proyek Fastlane untuk Telegram.
- Untuk sementara, hanya staf Ruby Central yang memegang akses admin.
- Model tata kelola baru berbasis komunitas akan diperkenalkan secara bertahap, dengan sesi Q&A dijadwalkan untuk membahas kekhawatiran anggota komunitas.
Sumber: GitHub
