Skip to main content

SUPPLY CHAIN SECURITY

Perubahan Keamanan npm: Token Klasik Dicabut, Trusted Publishing, dan Cooldown

Sejak token klasik dicabut permanen pada 9 Desember 2025, npm trusted publishing menjadi jalur yang dianjurkan GitHub untuk merilis paket JavaScript tanpa token statis. Per 29 Oktober 2026, GitHub juga menambahkan staged publishing, pemindaian malware sebelum persetujuan rilis, dan kontrol instalasi baru. Artikel ini merangkum apa yang berubah dan apa yang perlu diubah oleh maintainer.

Sejak token klasik dicabut permanen pada 9 Desember 2025, npm trusted publishing menjadi jalur yang dianjurkan GitHub untuk merilis paket JavaScript tanpa token statis. Per 29 Oktober 2026, GitHub juga menambahkan staged publishing, pemindaian malware sebelum persetujuan rilis, dan kontrol instalasi baru. Artikel ini merangkum apa yang berubah dan apa yang perlu diubah oleh maintainer.

Mengapa npm Mengubah Aturan Mainnya

Gelombang worm Shai-Hulud sejak September 2025 menunjukkan pola yang sama berulang: penyerang mencuri token publikasi milik maintainer, lalu menerbitkan versi berbahaya atas nama maintainer tersebut. Kami mengulas kronologinya di artikel tentang Shai-Hulud. Token berumur panjang yang tersimpan di laptop atau di variabel CI adalah target yang paling berharga, karena satu pencurian cukup untuk menyebar ke semua paket milik korban.

Kasus axios pada 31 Maret 2026 memperlihatkan taruhannya. Menurut peringatan CISA, versi axios 1.14.1 dan 0.30.4 menyisipkan dependensi berbahaya yang mengunduh payload bertahap, termasuk trojan akses jarak jauh. Detailnya ada di ulasan axios dan chalk. Arah perubahan GitHub sejak akhir 2025 sejalan dengan pelajaran itu: mengurangi nilai token curian dan menambahkan rem manusia sebelum sebuah versi benar-benar tersedia.

Token Klasik Dicabut: Apa yang Terjadi pada 9 Desember 2025

Menurut changelog resmi GitHub, semua token klasik npm dicabut permanen pada 9 Desember 2025. Token tersebut tidak bisa lagi dipakai login, dibuat ulang, atau diambil kembali. Ada beberapa perubahan turunan yang perlu Anda ketahui:

  • Sesi login: perintah npm login sekarang menghasilkan token sesi yang berlaku dua jam, dan 2FA diwajibkan untuk publikasi selama sesi itu.
  • Token granular: token tulis dibatasi maksimal 90 hari. Untuk otomasi tanpa interaksi, tersedia opsi Bypass 2FA saat token dibuat.
  • Paket baru: 2FA aktif secara default pada paket yang baru dibuat, sedangkan paket lama mempertahankan pengaturannya.
  • Perintah baru: npm token create membuat token granular langsung dari terminal. GitHub juga menganjurkan trusted publishing berbasis OIDC sebagai cara paling aman karena tidak perlu membuat dan mengelola token publikasi.

Jika pipeline Anda dulu bergantung pada token klasik di CI, pipeline itu berhenti bekerja sejak tanggal tersebut dan perlu dimigrasikan. GitHub juga menyebut sebuah endpoint login lama sempat dipulihkan sementara dengan sesi dua jam yang sama, terutama berdampak pada pengguna Yarn v1 dan v2, dan saat itu menyatakan penghapusannya direncanakan dalam beberapa bulan.

npm Trusted Publishing, Staged Publishing, dan Pemindaian Malware

Trusted publishing memakai OIDC: workflow CI Anda membuktikan identitasnya kepada npm, sehingga tidak ada token statis yang perlu disimpan. Tiga pembaruan penting datang sesudahnya, semuanya diumumkan lewat changelog GitHub.

  • 22 Mei 2026, staged publishing tersedia umum. Perintah npm stage publish (npm CLI 11.15.0 atau lebih baru) menaruh tarball ke antrean. Paket tidak bisa dipasang sampai maintainer menyetujuinya dengan tantangan 2FA. Konfigurasi trusted publishing dapat diatur stage-only, sehingga npm publish langsung dari workflow tersebut ditolak.
  • 3 September 2026, beberapa konfigurasi per paket. Satu paket kini boleh punya lebih dari satu konfigurasi trusted publishing, misalnya untuk rilis stabil, prarilis, dan staging. Tombol persetujuan di antrean tetap nonaktif sampai pemindaian malware selesai. Setiap konfigurasi dapat melakukan staging secara default, sedangkan publikasi langsung menjadi opsi yang harus diaktifkan sendiri. GitHub menyarankan konfigurasi stage-only.
  • 2 Oktober 2026, paket baru lewat staging. npm stage publish kini bisa dipakai untuk membuat paket baru, yaitu paket publik (bercakupan maupun tidak) dan paket privat bercakupan, dengan versi pertama masuk antrean dan harus dipromosikan maintainer.

Kontrol Instalasi dan Cooldown untuk Pengguna Paket

Sisi konsumen juga mendapat alat baru. Pada npm CLI 11.15.0 tersedia flag --allow-file, --allow-remote, dan --allow-directory, ditambah --allow-git yang sudah ada sejak 11.10.0. Masing-masing menerima nilai all (default saat ini) atau none, dan bisa ditulis di .npmrc atau package.json. GitHub menyatakan default --allow-git akan berubah menjadi none pada versi mayor v12, jadi Anda dapat mencoba perilaku yang lebih ketat dari sekarang.

Pendekatan lain adalah memperlambat adopsi versi baru. Sejak 14 Juli 2026, menurut changelog GitHub, Dependabot menunggu sampai sebuah rilis baru berumur minimal tiga hari sebelum membuka pull request pembaruan versi. Aturan ini hanya untuk version updates; security updates tetap dibuka segera, dan jendelanya bisa diubah atau dimatikan lewat opsi cooldown di .github/dependabot.yml. PyPI, menurut laporan BleepingComputer, kini menolak file baru yang ditambahkan ke sebuah rilis setelah 14 hari sejak rilis itu dipublikasikan. Untuk npm, CISA dalam peringatan axios menyarankan min-release-age=7 di .npmrc serta ignore-scripts=true. Menurut BleepingComputer, GitHub sendiri menyoroti keterbatasan cooldown terhadap kompromi yang berlangsung lebih lama, jadi ia pelengkap, bukan pengganti.

Checklist Praktis untuk Maintainer

  1. Pindahkan rilis ke trusted publishing dan hapus token publikasi dari secret CI.
  2. Gunakan konfigurasi stage-only agar setiap versi butuh persetujuan manusia dengan 2FA.
  3. Aktifkan 2FA tahan phishing (misalnya passkey atau kunci keamanan) pada akun npm dan GitHub.
  4. Batasi id-token: write hanya pada job rilis, dan jangan menjalankan kode dari fork di workflow yang punya izin tinggi.
  5. Pin action ke commit SHA lengkap, seperti dibahas di panduan keamanan pipeline CI/CD.
  6. Pantau publikasi yang berasal dari workflow yang gagal atau tidak punya tag rilis yang cocok. OpenSSF mencatat bahwa pada kasus TanStack, paket berbahaya terbit dari run yang berakhir berstatus gagal.

Batas Trusted Publishing: Bukan Peluru Perak

OpenSSF menganalisis kasus TanStack pada 11 Mei 2026. Penyerang memakai workflow pull_request_target, meracuni cache build, lalu mengambil token OIDC dari memori runner, sehingga paket berbahaya terbit dengan provenance yang valid. Artinya trusted publishing membuktikan pipeline mana yang membangun artefak, bukan bahwa pipeline itu berperilaku benar. Karena itu staging dengan persetujuan manusia dan pemindaian malware menjadi lapisan tambahan yang bermakna, dan hygiene workflow tetap wajib.

Pertanyaan yang Sering Diajukan

Apakah saya masih bisa memakai token klasik npm?

Tidak. Semua token klasik dicabut permanen pada 9 Desember 2025. Gunakan token granular berumur pendek atau, lebih baik, trusted publishing.

Apakah trusted publishing otomatis membuat paket saya aman?

Tidak otomatis. Ia menghilangkan token statis yang bisa dicuri, tetapi pipeline yang dikompromikan tetap dapat menerbitkan rilis berbahaya. Kombinasikan dengan staging, izin minimal, dan review workflow.

Apa bedanya cooldown dengan staged publishing?

Staged publishing dipakai oleh maintainer untuk menahan rilis sampai disetujui. Cooldown dipakai oleh pengguna paket untuk menunda adopsi versi baru agar pemindai sempat menemukan rilis berbahaya.

Apakah proyek kecil perlu repot menerapkannya?

Ya, karena worm tidak memilih berdasarkan ukuran proyek. Satu paket kecil yang dikompromikan bisa menjadi pintu masuk ke banyak pengguna di hilirnya.

Kesimpulan

Arah perubahan npm jelas: kurangi rahasia berumur panjang, tambahkan persetujuan manusia, dan beri waktu bagi pemindai. Maintainer sebaiknya segera beralih ke trusted publishing stage-only, sementara tim pengguna paket menerapkan cooldown dan membatasi skrip instalasi. Jika tim Anda ingin membangun kebiasaan ini secara terstruktur, lihat program training dari Linuxhackingid, atau pelajari fondasinya di artikel supply chain attack.

Every article is reviewed by the practice lead who ran the work before it is published.

All insights

MORE ARTICLES

newest first
LINUX & OPEN SOURCE
October 30, 20268 read

Pensiunnya ingress-nginx dan Katalog Bitnami: Dampak bagi Pengguna Kubernetes

Pensiunnya ingress-nginx pada Maret 2026 berarti controller Ingress yang menurut Kubernetes dipakai sekitar separuh lingkungan cloud native itu tidak lagi menerima rilis dan patch keamanan. Di saat yang sama, perubahan katalog Bitnami sejak Agustus 2025 membuat banyak Helm chart dan image yang dipakai tim DevOps tidak lagi mendapat pembaruan gratis. Keduanya perlu masuk rencana migrasi Anda.

Ditulis oleh Apri Pandu Wicaksono & Tim Open Source & DevSecOps Linuxhackingid | Praktisi Linux & Infrastruktur
LINUX & OPEN SOURCE
October 30, 20268 read

MinIO Community Diarsipkan dan Pelajaran Risiko Lisensi Open Source

MinIO community diarsipkan oleh pemiliknya pada 25 April 2026, sehingga repositori open source server penyimpanan objek S3 yang banyak dipakai itu kini read-only dan tidak lagi dipelihara. Kasus ini, bersama sengketa tata kelola RubyGems pada 2025, memberi pelajaran praktis tentang risiko ketergantungan pada proyek open source yang dikendalikan satu pihak.

Ditulis oleh Apri Pandu Wicaksono & Tim Open Source & DevSecOps Linuxhackingid | Praktisi Linux & Infrastruktur
LINUX & OPEN SOURCE
October 30, 20267 read

Debian 13, Fedora 44, dan RHEL 10.2: Rilis Distro Linux Terbaru

Distro Linux terbaru yang paling relevan bagi admin saat ini adalah Debian 13 "trixie", Fedora 44, dan RHEL 10.2 bersama RHEL 9.8. Artikel ini merangkum perubahan utama masing-masing per 29 Oktober 2026, ditambah dua komponen inti yang ikut memengaruhi upgrade: systemd 260 dan rangkaian CVE glibc.

Ditulis oleh Apri Pandu Wicaksono & Tim Open Source & DevSecOps Linuxhackingid | Praktisi Linux & Infrastruktur

Get the next advisory first. No digest, no noise.

One email when something genuinely matters - or follow the community channels where we post first.

Join Telegram

NEXT STEP

Talk to an operator, not a sales desk.

A short scoping call, then scope, schedule and cost in writing within 2 working days.

METHODOLOGY & COMPLIANCE
ISO 27001PCI-DSSOJKUU PDP