Paket npm berbahaya

Paket npm Berbahaya: Daftar Aktif yang Tidak Diawasi dengan Cukup Cermat

TL; DR

Paket npm berbahaya bukanlah kejadian sesekali. Ini adalah operasi penerbitan yang berkelanjutan, dan daftar kasus yang terkonfirmasi diperbarui setiap minggu. Dalam tujuh edisi berturut-turut dari Malicious Code Digest kami, yang kini telah melewati edisi ke-87, Xygeni mengkonfirmasi 635 paket berbahayaDari 13 kasus pada minggu yang tenang hingga 206 kasus pada minggu yang sibuk. Rentang mingguan adalah intinya: ini adalah ritme, bukan insiden.

  • Irama adalah masalahnya. Satu paket berkembang dari nol menjadi lebih dari 55 versi dalam seminggu. Klaster lain menerbitkan hampir 30 nama paket dalam waktu kurang dari tiga jam. Audit mingguan bukanlah satuan waktu yang tepat.
  • Mereka tidak tiba sebagai CVE. Paket berbahaya bukanlah cacat pada kode yang sah, sehingga tidak ada peringatan, tidak ada skor, dan biasanya tidak ada pengidentifikasi sama sekali. Program yang didorong oleh kerentanan secara struktural buta terhadap hal ini.
  • Menyerang lawan bukanlah bentuk perlindungan. Paket biasanya aktif selama beberapa menit hingga beberapa jam. Instalasi Anda terjadi dalam rentang waktu tersebut atau tidak sama sekali.
  • Deteksi harus dilakukan pada saat publikasi, dan penegakan hukum pada saat instalasi. Apa pun yang menunggu tanda tangan, CVE, atau pemindaian mingguan akan tiba setelah build yang menariknya.

Daftar itu ada. Itu tidak sama dengan sedang diawasi.

Tidak ada misteri tentang paket npm berbahaya. Kasus yang terkonfirmasi dipublikasikan, disebutkan namanya, dan didokumentasikan setiap minggu, termasuk di Ringkasan Kode Berbahaya milik Xygeni sendiri, kini telah melewati edisi ke-87.

Kesenjangan itu bukanlah informasi. Melainkan perhatian dan ritme. Daftar yang diperbarui setiap minggu, dibaca setiap bulan, dan ditindaklanjuti setiap triwulan adalah daftar yang mendokumentasikan apa yang sudah terjadi pada seseorang.

Berikut adalah gambaran tujuh minggu ke depan, berdasarkan temuan kami sendiri yang telah dikonfirmasi, bukan dari survei vendor.

intisariPaket terkonfirmasiApa yang menonjol
Intisari 8713Klaster Komposer pertama. @umschool/platform diterbitkan di 999.0.0 mengungguli paket internal
Intisari 8635Kampanye Bailey berganti-ganti nama samaran. Empat @stellarshift paket yang diterbitkan pada versi yang identik
Intisari 8553[konfirmasi sebagai yang menonjol]
Intisari 8434Peniruan gaya Baileys menggunakan empat nama dan selama enam hari. cloud-baileys diterbitkan ulang empat kali
Intisari 83114wormgpt-clisembilan versi dalam satu hari, dinamai berdasarkan alat LLM gelap yang sebenarnya
Intisari 82206[konfirmasi sebagai yang menonjol]
Intisari 8118017 paket yang menyamar sebagai nama internal PayPal di 28.0.0. zevairouter 55 versi sebelumnya

Pola yang penting bukanlah jumlah totalnya. Melainkan kecepatan dalam setiap minggunya.

Kecepatan adalah Kunci Serangan.

Tiga temuan dari minggu-minggu tersebut, masing-masing merupakan cara berbeda untuk menghindari peninjauan.

  • Banjir versi. Sebuah paket npm tunggal, zevairouter, mencapai lebih dari 55 versi terkonfirmasi dalam satu minggu, ditambah sepuluh versi lagi dari paket pendamping. Di PyPI, bingo-ai Menghasilkan hampir 80 versi dalam waktu sekitar 30 menit. Tidak ada proses peninjauan manual yang beroperasi secepat itu, dan pekerjaan harian pun tidak.
  • Klaster yang tersinkronisasi. Tujuh belas paket yang meniru nama layanan internal PayPal diterbitkan dalam beberapa menit yang sama, semuanya pada versi 28.0.0. Itu bukan soal volume, melainkan perlombaan: nomor versi yang digembungkan ada untuk mengungguli paket internal yang ditulis oleh tim Anda sendiri. Trik yang sama muncul kembali beberapa minggu kemudian dengan @umschool/platform diterbitkan di 999.0.0.
  • Kegigihan melalui penumpasan. Kampanye peniruan identitas Baileys telah berlangsung selama berminggu-minggu. Nama-nama berganti, versi bertambah, publikasi ulang terus berlanjut setelah terdeteksi. Operator yang menganggap penghapusan konten sebagai biaya operasional dan bukan alasan untuk berhenti adalah operator yang tidak akan pernah terdeteksi oleh tinjauan triwulanan Anda.

Dan waktu tinggalnya memang singkat sesuai rancangan. Dalam satu klaster terbaru, paket-paket tersebut aktif selama antara 17 menit hingga 13 jam sebelum dihapus.

PaketDiterbitkan (UTC)Tersisa berdiri
moidev2026-08-16 16:315h 58m
moidevx2026-08-17 03:2413h 23m
moidevz2026-08-26 03:3812h 56m
moideva2026-08-26 18:581h 33m
amicat2026-08-28 20:4817m
bmcat2026-08-28 21:1747m
eyevox2026-08-28 21:4421m
moidevh2026-08-31 03:2247m

Anggaplah itu sebagai jendela paparan, bukan sebagai metrik kinerja untuk registri. Jika sebuah build berjalan selama periode tersebut, penghapusan tersebut tidak mengubah apa pun.

Mengapa Program Kerentanan Anda Tidak Melihat Hal Ini?

Inilah poin strukturalnya, dan ini adalah poin yang belum dipahami oleh sebagian besar tim keamanan.

KerentananSebuah paket berbahaya
AsalKesalahan dalam kode yang ditulis dengan itikad baikSebuah artefak yang dibuat dan dipublikasikan untuk menyebabkan kerugian.
mengenaliCVE, dengan peringatan dan skor.Biasanya tidak ada. Tidak ada CVE, tidak ada peringatan.
PerusahaanDiungkapkan, lalu ditambal selama berhari-hari atau berminggu-minggu.Hidup selama beberapa menit hingga beberapa jam, lalu dihapus.
Bagaimana Anda belajarUmpan, pemindai, penasihatHanya jika ada sesuatu yang memantau registri pada saat publikasi.
MemperbaikiTingkatkan ke versi yang sudah diperbaiki.Tidak ada versi yang sudah diperbaiki. Itu memang tidak pernah sah.
Apa yang dilakukan program Anda?Pengambilan data, penilaian, penjadwalanTidak ada, kecuali jika memang dibangun untuk tujuan ini.

Kerentanan adalah cacat pada kode yang ditulis seseorang dengan itikad baik. Paket berbahaya adalah artefak yang sengaja dipublikasikan oleh penyerang, biasanya tanpa pengenal, tanpa peringatan, dan masa hidup yang diukur dalam hitungan jam. Setiap proses yang dibangun di sekitar pengumpulan CVE, penilaian tingkat keparahan, dan jendela patch dirancang untuk hal pertama dan diterapkan pada hal kedua secara default.

Ketiadaan pengidentifikasi bukanlah kelalaian dalam sistem CVE. Ini adalah kategori yang berfungsi sesuai desain: tidak ada yang mengajukan peringatan terhadap artefak yang seluruh tujuannya jahat, dan pada saat seseorang dapat melakukannya, paket tersebut sudah hilang. Yang berarti pertanyaan “Apakah ini memiliki CVE?” memberikan jawaban yang sama untuk paket yang bersih dan untuk pencuri kredensial yang dipublikasikan satu jam yang lalu.

Apa yang Sebenarnya Dilakukan oleh Payload Sekarang?

Gambaran sederhana tentang paket npm berbahaya adalah penambang kripto. Realitas saat ini adalah pencurian kredensial yang ditujukan kepada pengembang, dan semakin sering menargetkan kredensial AI di mesin mereka.

The PhantomSync Cluster, delapan paket npm yang diterbitkan di bawah satu akun, bekerja persis seperti yang diiklankan sambil menyembunyikan dropper yang dapat dijalankan sendiri yang aktif sekitar 37 detik setelah impor, mendekode payload yang disiapkan sebagai perlengkapan uji palsu, menginstal persistensi lintas platform, dan meluncurkan pencuri dompet dan rahasia. Tunda, samarkan, pertahankan, eksfiltrasi.

Pada skala yang lebih besar, gelombang CHAINDROP dari Cacing Shai-Hulud Pada awal Agustus 2026, perangkat lunak ini mencapai lebih dari 400 paket dan 1,700 versi, dengan total unduhan bulanan mencapai 1.3 miliar. Pengumpulnya memindai lebih dari 300 pola kredensial, termasuk kunci OpenAI, Anthropic, dan Cursor. Mesin pengembang menjadi sangat berharga.cisterutama karena kredibilitas model yang mereka miliki.

Konvensi penamaan telah mengikuti arus uang. Klaster-klaster terbaru meniru SDK kripto dan DeFi, modul pembayaran, pustaka API WhatsApp, utilitas AWS, dan, dalam satu kasus, sebuah paket yang secara terbuka menggunakan merek alat penyerang LLM gelap.

Apa yang Sebenarnya Menghentikan Paket npm Berbahaya?

Empat kontrol, sesuai urutan keuntungannya.

1. Deteksi pada saat publikasi, bukan pada saat pengungkapan. Peringatan Dini Malware dari Xygeni Menganalisis paket-paket yang baru diterbitkan di npm, PyPI, Maven, dan registri lainnya pada saat paket tersebut muncul, menggunakan analisis perilaku dan anomali daripada menunggu tanda tangan atau laporan. Itulah satu-satunya titik dalam garis waktu yang mendahului proses build Anda.

2. Penegakan hukum di tempat pemasangan dilakukan. Deteksi memberi tahu Anda bahwa sebuah paket bersifat berbahaya. Kebijakan yang memblokir instalasi inilah yang mencegah skrip postinstall berjalan. Hal ini menjadi lebih penting sekarang karena agen menginstal dependensi tanpa campur tangan manusia.

3. Berkas pengunci dan pengikatan hash. penggunaan npm ci dalam CI daripada npm installJadi, pohon dependensi yang tepat dalam lockfile itulah yang akan dibangun. Ini menutup jalur substitusi yang diandalkan oleh typosquat dan versi yang dilebih-lebihkan.

4. Temuan di satu tempat. Temuan malware termasuk dalam antrian prioritas yang sama dengan data Anda. SCA dan temuan kode, bukan dalam umpan terpisah yang hanya dibaca sekilas oleh seseorang. Ketergantungan berbahaya yang terkonfirmasi seharusnya memiliki peringkat lebih tinggi daripada CVE dengan tingkat keparahan sedang, dan hanya model risiko bersama yang memungkinkan perbandingan tersebut.

Pantau Daftarnya, atau Otomatiskan

Tidak ada seorang pun yang punya waktu untuk membaca feed registri setiap minggu. Itulah tujuan dari otomatisasi ini.

Xygeni menganalisis paket-paket yang baru diterbitkan di npm dan registri lainnya pada saat publikasi, menandai malware yang terkonfirmasi sebelum mencapai proses build, dan menempatkan temuan tersebut dalam antrian prioritas yang sama dengan semua hal lain yang sudah dikerjakan tim Anda. Deteksi perangkat lunak jahat termasuk dalam paket Developer gratis, yang tidak berlaku untuk sebagian besar paket gratis dalam kategori ini.

Mulai gratis, atau baca Ringkasan Kode Berbahaya minggu ini pertama.

FAQ (Pertanyaan Umum)

Apa itu paket npm berbahaya?

Paket yang diterbitkan ke registri npm yang sengaja dibuat untuk menimbulkan kerugian: pencuri kredensial dan dompet, pintu belakang (backdoor), dropper, dan artefak yang membingungkan ketergantungan yang meniru nama paket internal atau populer.

Seberapa umumkah paket npm berbahaya?

Terus-menerus. Dalam tujuh edisi terbaru Malicious Code Digest kami, Xygeni mengkonfirmasi 635 paket berbahaya, mulai dari sekitar selusin dalam minggu yang tenang hingga lebih dari 200 selama kampanye aktif. npm menyumbang sebagian besar dari jumlah tersebut.

Berapa lama paket npm berbahaya tetap tersedia?

Seringkali hanya beberapa menit hingga beberapa jam. Jendela waktu itulah yang penting, karena proses build yang berjalan di dalamnya sudah terpengaruh terlepas dari seberapa cepat paket tersebut dihapus setelahnya.

Apakah paket npm berbahaya mendapatkan CVE?

Biasanya tidak. Itu adalah artefak yang dipublikasikan oleh penyerang, bukan kelemahan dalam kode yang sah, dan kampanye 2026 yang dilacak tidak menerima penugasan CVE selama eksploitasi aktif.

Bagaimana cara saya memeriksa apakah sebuah paket berbahaya sebelum menginstalnya?

Gunakan alat yang menganalisis paket pada saat publikasi, bukan alat yang memeriksa daftar paket yang diketahui bermasalah, verifikasi penerbit dan riwayat versi, waspadai nomor versi yang sangat tinggi dan akun baru, serta terapkan kebijakan pada saat instalasi daripada mengandalkan peninjauan.

Apa itu kebingungan ketergantungan?

Menerbitkan paket publik dengan nama yang sama dengan paket internal, biasanya pada versi yang lebih tinggi, sehingga resolver lebih memilih salinan milik penyerang. Klaster PayPal-name pada versi 28.0.0 adalah contoh klasik.

perangkat lunak analisis komposisi sca
Prioritaskan, perbaiki, dan amankan risiko perangkat lunak Anda.
Dapatkan Akun Gratis Anda.
Tidak perlu kartu kredit.

Amankan Pengembangan dan Pengiriman Perangkat Lunak Anda

dengan Rangkaian Produk Xygeni