Serangan Rantai Pasokan axios@1.14.1: Cara Mengatasi Sekarang

Ashley Innocent

Ashley Innocent

2 April 2026

Serangan Rantai Pasokan axios@1.14.1: Cara Mengatasi Sekarang

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Intinya

Pada tanggal 30–31 Maret 2026, axios versi 1.14.1 dan 0.30.4 disusupi di npm dengan dependensi berbahaya yang menjatuhkan trojan akses jarak jauh (RAT) pada mesin yang terinfeksi. Kedua versi tersebut telah dihapus publikasinya. Versi yang aman adalah 1.14.0. Jika Anda menginstal axios@1.14.1 atau 0.30.4, anggap mesin tersebut telah disusupi dan segera ubah semua kredensial.

Apa itu axios dan Mengapa Ini Penting

axios memiliki 100 juta unduhan mingguan di npm. Ini adalah klien HTTP di banyak framework frontend, layanan Node.js backend, dan aplikasi perusahaan. Ketika paket yang begitu fundamental ini disusupi, dampak kerusakannya sangat besar — pengembang yang menjalankan npm install dalam jendela waktu sempit pada tanggal 30–31 Maret menarik malware ke mesin mereka tanpa menyadarinya.

Ini bukan risiko rantai pasokan hipotetis. Ini terjadi, ini dikonfirmasi, dan muatannya serius: trojan akses jarak jauh multi-tahap yang mampu mengeksekusi perintah arbitrer, mengeluarkan data sistem, dan bertahan di mesin yang terinfeksi.

Jika tim Anda menggunakan axios, dan Anda menggunakan Apidog untuk mendesain dan menguji integrasi klien HTTP Anda, bacalah ini sebelum deployment berikutnya.

tombol

Kronologi Serangan

30 Maret 2026 — 23:59:12 UTC: Sebuah paket berbahaya bernama plain-crypto-js@4.2.1 diterbitkan ke npm oleh akun yang menggunakan nrwise@proton.me. Versi bersih sebelumnya (4.2.0) telah diterbitkan 18 jam sebelumnya sebagai typosquat yang meyakinkan dari pustaka crypto-js yang sah.

31 Maret 2026 — 00:05:41 UTC: Deteksi malware otomatis Socket menandai plain-crypto-js@4.2.1 sebagai berbahaya — enam menit setelah diterbitkan.

31 Maret 2026 — tak lama setelah tengah malam: axios@1.14.1 diterbitkan ke npm, menarik plain-crypto-js@4.2.1 sebagai dependensi. Rilis ini tidak muncul di tag resmi repositori GitHub axios. Tag sah terbaru tetap v1.14.0.

31 Maret 2026 — pagi: Isu GitHub #10604 dibuka secara publik melaporkan axios@1.14.1 dan axios@0.30.4 telah disusupi. Pemelihara Axios mengkonfirmasi bahwa mereka awalnya tidak dapat mencabut akses penyerang — akun yang disusupi memiliki izin npm yang lebih tinggi daripada pemelihara yang sah.

31 Maret 2026: Baik axios@1.14.1 dan axios@0.30.4 dihapus publikasinya dari npm. Pemelihara Axios mulai mencabut token, memperketat kontrol publikasi, dan menyelidiki bagaimana token npm yang berumur panjang dieksploitasi untuk mendapatkan akses publikasi yang tidak sah.

Bagaimana Serangan Bekerja

Serangan ini mengeksploitasi celah dalam alur kerja publikasi axios: token npm berumur panjang yang telah digunakan bersama dengan publikasi tepercaya. Penyerang — kemungkinan setelah menyusupi kredensial pemelihara — menggunakan token ini untuk menerbitkan versi baru di luar proses rilis normal.

Versi baru memperkenalkan plain-crypto-js@4.2.1 sebagai dependensi. Nama paket dirancang agar terlihat seperti utilitas kriptografi yang sah; versi 4.2.0 yang bersih sebelumnya menciptakan riwayat singkat untuk mengurangi kecurigaan.

Di dalam plain-crypto-js@4.2.1, analisis Socket menemukan muatan multi-tahap:

  1. Tahap 1 — Eksekusi: Paket menjalankan kode pada saat instalasi (melalui skrip siklus hidup npm) untuk menjatuhkan muatan sekunder.
  2. Tahap 2 — Deployment RAT: Muatan menginstal trojan akses jarak jauh yang membuka pintu belakang (backdoor) yang persisten.
  3. Tahap 3 — Eksfiltrasi: RAT mampu mengeksekusi perintah shell arbitrer yang dikirim dari server C2, membaca variabel lingkungan dan rahasia dari sistem file, dan mengirimkan data sistem melalui jaringan.

RAT tetap ada setelah reboot, yang berarti mesin yang menginstal versi yang disusupi tetap berisiko bahkan setelah paket npm dihapus kecuali RAT secara eksplisit dicari dan dihapus.

Apakah Saya Terkena Dampak?

Anda berpotensi terpengaruh jika:

Periksa segera:

# Periksa versi yang terinstal
npm list axios

# Periksa file kunci
grep '"axios"' package-lock.json | head -5

# Periksa keberadaan plain-crypto-js
npm list plain-crypto-js
ls node_modules/plain-crypto-js 2>/dev/null && echo "INFECTED" || echo "Tidak ditemukan"

Jika plain-crypto-js ada di node_modules Anda, Anda menjalankan versi berbahaya tersebut.

Apa yang Harus Dilakukan Sekarang

1. Perbarui axios segera

npm install axios@1.14.0
# atau kunci ke versi aman terbaru
npm install axios@latest

Verifikasi:

npm list axios
# Seharusnya menunjukkan 1.14.0 atau lebih tinggi (setelah 1.14.x bersih diterbitkan)

2. Jika Anda menginstal versi yang disusupi

Jangan anggap ini sebagai pembaruan dependensi rutin. Anggap mesin tersebut telah disusupi:

3. Audit alur CI/CD Anda

Jika alur build Anda menjalankan npm install selama jendela waktu tersebut, lingkungan CI Anda mungkin telah disusupi. Periksa:

# Periksa log build untuk jangka waktu yang terpengaruh
# Cari axios@1.14.1 di setiap output instalasi

# Verifikasi node_modules CI saat ini bersih
npm list axios plain-crypto-js

Ubah semua rahasia yang dapat diakses oleh alur CI Anda: kunci deployment, kredensial penyedia cloud, token registri.

4. Verifikasi file kunci Anda

File kunci (package-lock.json, yarn.lock) harus mengunci versi yang tepat. Jika file kunci Anda memiliki 1.14.1, buat ulang:

# Hapus dan buat ulang
rm package-lock.json
npm install

Periksa file kunci baru menyelesaikan axios ke versi yang aman sebelum melakukan commit.

Menggunakan Apidog untuk Mengaudit Panggilan API axios Anda

Jika Anda menggunakan axios sebagai klien HTTP Anda untuk memanggil API, Apidog dapat membantu Anda memverifikasi bahwa integrasi Anda masih mengirimkan permintaan yang benar setelah pembaruan dependensi.

Setelah memperbarui ke axios@1.14.0, impor endpoint API Anda yang sudah ada ke Apidog dan jalankan pemeriksaan regresi cepat untuk mengkonfirmasi perilaku tidak berubah. Ini sangat berguna jika Anda khawatir bahwa versi berbahaya mungkin telah merusak muatan permintaan atau respons — penegasan respons Apidog memungkinkan Anda memvalidasi nilai bidang, header, dan kode status yang tepat:

// Penegasan pasca-respons Apidog
pm.test("Respons bersih — tidak ada bidang yang disuntikkan", () => {
    const body = pm.response.json();
    pm.expect(body).to.not.have.property('__injected');
    pm.expect(pm.response.headers.get('X-Injected-Header')).to.be.null;
});

Menjalankan seluruh rangkaian pengujian Anda terhadap versi axios yang diperbarui di Apidog memberi Anda dasar bersih yang terdokumentasi sebelum Anda mendorong ke produksi.

Coba Apidog gratis untuk menyiapkan pengujian regresi klien HTTP.

Mengapa Serangan Rantai Pasokan di npm Sulit Dihentikan

Serangan axios bukanlah anomali. Ini adalah pola:

Benang merahnya: kepercayaan pada akun publikasi, bukan pada kode. Model npm memberikan akses publikasi kepada pemelihara, dan jika kredensial pemelihara disusupi, penyerang mewarisi kepercayaan itu.

Mitigasi yang benar-benar membantu:

Tindakan Apa yang Dilakukan
File kunci (package-lock.json) Mengunci versi yang tepat, mencegah peningkatan diam-diam
npm audit di CI Menandai kerentanan yang diketahui sebelum deployment
Socket.dev / Snyk Analisis perilaku — menandai paket mencurigakan bahkan sebelum CVE ada
Otentikasi dua faktor di npm Membuat penyusupan kredensial lebih sulit
npm publish dengan token berumur pendek Membatasi jendela paparan jika token bocor
Baca file kunci di PR Menangkap perubahan dependensi yang tidak terduga dalam tinjauan kode

Tim axios sejak itu mengakui bahwa token npm yang berumur panjang adalah bagian dari masalah dan sedang beralih ke kontrol publikasi yang lebih ketat. Tetapi perbaikan perlu datang dari ekosistem, bukan hanya paket individu.

Indikator Kompromi (IOC)

Menurut analisis Socket:

Jika Anda mencurigai adanya infeksi, ajukan laporan ke keamanan npm di security@npmjs.com dan simpan log.

Kesimpulan

Kompromi axios 1.14.1 adalah pengingat bahwa keamanan dependensi bukanlah audit satu kali — ini adalah proses berkelanjutan. Kunci versi Anda, jalankan alat analisis perilaku seperti Socket di CI Anda, ubah kredensial saat ada sesuatu yang terlihat tidak beres, dan pantau file kunci Anda dalam tinjauan kode.

Jika Anda perlu membangun kembali kepercayaan pada integrasi API Anda setelah memperbarui axios, Apidog memberi Anda skenario pengujian, penegasan, dan alat mocking untuk memverifikasi perilaku klien HTTP Anda sebelum Anda merilis.

tombol

FAQ

Versi axios mana yang disusupi?axios@1.14.1 dan axios@0.30.4. Keduanya telah dihapus publikasinya dari npm. Versi yang aman adalah 1.14.0 (atau versi apa pun di lini 1.13.x, 1.12.x).

Apa yang dilakukan muatan axios berbahaya?Ini menarik plain-crypto-js@4.2.1, yang men-deploy muatan multi-tahap termasuk trojan akses jarak jauh (RAT). RAT dapat mengeksekusi perintah arbitrer dari server C2 jarak jauh, mengeluarkan variabel lingkungan dan rahasia, dan bertahan setelah reboot.

Bagaimana cara mengetahui apakah saya menginstal versi yang disusupi?Jalankan npm list axios — jika menunjukkan 1.14.1 atau 0.30.4, Anda terpengaruh. Periksa juga npm list plain-crypto-js — jika paket itu ada, kode berbahaya berjalan di mesin Anda.

Apakah cukup hanya memperbarui axios?Tidak. Pembaruan menghapus dependensi berbahaya ke depannya, tetapi RAT mungkin sudah terinstal dan bertahan di mesin. Jika Anda menginstal versi yang disusupi, ubah semua rahasia dan audit mesin untuk mekanisme persistensi.

Bagaimana penyerang dapat menerbitkan ke npm tanpa menjadi pemelihara?Penyerang kemungkinan menyusupi kredensial pemelihara dan mengeksploitasi token npm berumur panjang yang memiliki akses publikasi. Tim axios sedang menyelidiki dan memperketat kontrol publikasi.

Apa perbedaan antara ini dan kerentanan biasa?Kerentanan adalah cacat pada kode yang sah. Serangan rantai pasokan memperkenalkan kode berbahaya melalui saluran publikasi yang tepercaya. Kode yang disusupi tidak pernah ada di repositori GitHub axios — itu disuntikkan langsung ke publikasi npm.

Bagaimana cara melindungi proyek saya dari serangan rantai pasokan di masa depan?Gunakan file kunci, jalankan npm audit di CI, tambahkan alat seperti Socket.dev untuk analisis perilaku, aktifkan 2FA pada akun npm, gunakan token publikasi berumur pendek, dan audit perbedaan file kunci Anda dalam tinjauan kode.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.