Bagikan melalui


Menggunakan audit npm untuk mendeteksi dan memperbaiki kerentanan paket

Azure DevOps

Perintah audit npm melakukan pemindaian menyeluruh proyek Anda, mengidentifikasi potensi kerentanan keamanan dan menghasilkan laporan terperinci yang menyoroti masalah apa pun yang ditemukan. Melakukan audit keamanan adalah langkah penting dalam mengenali dan menyelesaikan kerentanan dalam dependensi proyek. Perintah perbaikan audit npm secara otomatis mengatasi kerentanan yang terdeteksi, memperbarui versi paket yang tidak aman ke rilis aman terbaru. Mengatasi kerentanan ini sangat penting untuk mencegah potensi masalah seperti kehilangan data, gangguan layanan, dan akses tidak sah ke informasi sensitif.

Peringatan

Menjalankan audit npm akan mengirimkan nama semua paket yang ditentukan dalam package.json Anda ke registri publik.

Menjalankan audit npm secara lokal

npm audit dapat dijalankan secara lokal tanpa perlu mengautentikasi dengan umpan Anda. Ini memungkinkan Anda untuk memindai proyek Anda untuk kerentanan dan menerima laporan terperinci tentang masalah keamanan yang terdeteksi dan tingkat keparahannya.

Jika Anda ingin memperbaiki kerentanan yang terdeteksi, Anda dapat menjalankan npm audit fix, tetapi Anda harus diautentikasi dengan umpan Anda untuk melakukannya. Perintah ini memperbarui versi paket yang tidak aman ke rilis aman terbaru yang tersedia.

Saat Anda menjalankan perbaikan audit npm, ini tidak hanya memperbarui package.json dan package-lock.json proyek lokal tetapi juga menyinkronkan perubahan ini dengan umpan Azure Artifacts terkait. Versi paket yang baru diamankan akan tersedia secara otomatis di umpan Anda.

Sinkronisasi ini memastikan bahwa proyek lain yang berbagi umpan yang sama juga akan mendapat manfaat dari pembaruan ini. Ini membantu mempertahankan serangkaian versi paket yang konsisten dan aman di semua proyek.

  1. Jalankan perintah berikut di direktori proyek Anda untuk melakukan audit npm:

    npm audit
    
  2. Jika Anda ingin mencoba meningkatkan ke versi paket yang tidak rentan, pastikan Anda tersambung ke umpan terlebih dahulu, lalu jalankan perintah berikut di direktori proyek Anda:

    npm audit fix
    

Setelah menjalankan perbaikan audit npm, pastikan untuk melakukan pengujian menyeluruh pada aplikasi Anda untuk mengonfirmasi bahwa pembaruan tidak memperkenalkan perubahan yang melanggar. Jika perbaikan memerlukan pembaruan versi utama, disarankan untuk meninjau catatan rilis paket untuk setiap potensi perubahan yang melanggar. Perlu diingat bahwa meskipun paket privat dengan dependensi rentan publik menerima pemberitahuan kerentanan, paket tersebut tidak akan menerima perbaikan melalui perbaikan audit npm.

Catatan

Audit npm secara otomatis berjalan dengan setiap eksekusi penginstalan npm, tetapi hanya berfungsi untuk paket publik.

Menjalankan audit npm dari alur Anda

Azure Pipelines saat ini tidak mendukung audit npm. Jika Anda mencoba menggunakan perintah audit npm reguler di alur Anda, itu akan gagal. Sebagai gantinya, jalankan audit npm dengan argumen --registry dan berikan URL sumber umpan Anda.

  1. Masuk ke organisasi Azure DevOps Anda, lalu navigasikan ke proyek Anda.

  2. Pilih Alur, pilih alur Anda, lalu pilih Edit untuk mengubahnya.

  3. Dari definisi alur Anda, pilih + tanda untuk menambahkan tugas baru.

  4. Cari tugas npm , lalu pilih Tambahkan untuk menambahkannya ke alur Anda.

  5. Masukkan Nama tampilan untuk tugas Anda, dan pilih kustom dari menu dropdown Perintah.

  6. Tempelkan perintah kustom Anda ke dalam kotak teks Perintah dan argumen :

    1. Gunakan perintah berikut untuk melakukan audit npm dan memindai kerentanan paket. Ganti tempat penampung dengan URL sumber umpan Anda:

      audit --registry=<FEED_SOURCE_URL>
      
    2. Jika Anda ingin mencoba meningkatkan ke versi paket yang tidak rentan, gunakan perintah berikut. Ganti tempat penampung dengan URL sumber umpan Anda:

    audit fix --registry=<FEED_SOURCE_URL>
    

    A screenshot showing the npm audit task in a classic pipeline.