dengan aman* instal paket dengan NPM/benang dengan mengauditnya sebagai bagian dari proses instal Anda
Liputan media tentang NPQ:
Setelah NPQ diinstal, Anda dapat dengan aman* menginstal paket:
npq install express
npq
akan melakukan langkah -langkah berikut untuk memeriksa kewarasan bahwa paket tersebut aman dengan menggunakan heuristik sintaksis dan menanyakan database CVE:
Jika NPQ diminta untuk melanjutkan pemasangan, itu hanya menyerahkan pekerjaan pemasangan paket yang sebenarnya ke Paket Manajer (NPM secara default).
dengan aman* - tidak ada keamanan yang dijamin; Paket jahat atau rentan masih bisa ada yang tidak memiliki kerentanan keamanan diungkapkan secara publik dan melewati cek NPQ.
npm install -g npq
Catatan: Kami sarankan menginstal dengan npm
daripada yarn
. Dengan begitu, npq
dapat secara otomatis memasang alias shell untuk Anda.
npq install express
Karena npq
adalah pra-langkah untuk memastikan bahwa paket NPM yang Anda pasang aman, Anda dapat dengan aman menanamkannya dalam penggunaan npm
sehari-hari sehingga tidak perlu ingat untuk menjalankan npq
secara eksplisit.
alias npm= ' npq-hero '
Jika Anda menggunakan yarn
, atau umumnya ingin secara eksplisit memberi tahu NPQ mana manajer paket untuk digunakan, Anda dapat menentukan variabel lingkungan: NPQ_PKG_MGR=yarn
Contoh: Buat alias dengan benang sebagai manajer paket:
alias yarn= " NPQ_PKG_MGR=yarn npq-hero "
CATATAN: npq
secara default akan menurunkan semua perintah dan argumen mereka kepada npm
Package Manager setelah menyelesaikan uji tuntasnya untuk paket masing-masing.
Nama Marshall | Keterangan | Catatan |
---|---|---|
usia | Akan menunjukkan peringatan untuk paket jika usianya di NPM kurang dari 22 hari | Memeriksa tanggal pembuatan paket, bukan versi tertentu |
pengarang | Akan menunjukkan peringatan jika sebuah paket ditemukan tanpa bidang penulis | Memeriksa versi terbaru untuk seorang penulis |
unduhan | Akan menunjukkan peringatan untuk paket jika jumlah unduhannya dalam sebulan terakhir kurang dari 20 | |
readme | Akan menunjukkan peringatan jika suatu paket tidak memiliki readme atau telah terdeteksi sebagai paket penentu keamanan oleh staf NPM | |
repo | Akan menunjukkan peringatan jika suatu paket ditemukan tanpa URL repositori yang valid dan berfungsi | Periksa versi terbaru untuk URL repositori |
skrip | Akan menunjukkan peringatan jika sebuah paket memiliki skrip instal pra/pos yang berpotensi berbahaya | |
Snyk | Akan menunjukkan peringatan jika sebuah paket ditemukan dengan kerentanan dalam database Snyk | Agar Snyk dapat bekerja, Anda harus memiliki paket NPM snyk yang diinstal dengan token API yang valid, atau membuat token tersedia dalam variabel lingkungan Snyk_Token, dan NPQ akan menggunakannya |
lisensi | Akan menunjukkan peringatan jika sebuah paket ditemukan tanpa bidang lisensi | Memeriksa versi terbaru untuk lisensi |
domain yang kedaluwarsa | Akan menunjukkan peringatan jika sebuah paket telah ditemukan dengan salah satu pengelola yang memiliki alamat email yang mencakup domain yang sudah kadaluwarsa | Memeriksa versi ketergantungan untuk pengelola dengan domain yang sudah kadaluwarsa |
tanda tangan | Akan membandingkan tanda tangan paket seperti yang ditunjukkan pada Pakument Registry dengan Keys yang diterbitkan di NPMJS.com Registry | |
asal | Akan memverifikasi pengesahan paket metadata provenance untuk paket yang diterbitkan |
Untuk menonaktifkan Marshall sama sekali, atur variabel lingkungan menggunakan dengan nama pendek Marshall.
Contoh, untuk menonaktifkan kerentanan SNYK Marshall:
MARSHALL_DISABLE_SNYK=1 npq install express
npq install express --dry-run
Pelajari Node.js Teknik Pengkodean Aman dan Praktik Terbaik Dari Liran Tal
npm install
akan menginstal modul bahkan jika memiliki kerentanan; NPQ akan menampilkan masalah yang terdeteksi, dan meminta pengguna untuk konfirmasi apakah akan melanjutkan menginstalnya.pre-install
yang berpotensi berbahaya bagi sistem Anda dan meminta Anda apakah akan menginstalnya. Sedangkan npm audit
tidak akan melakukan pemeriksaan seperti itu, dan hanya berkonsultasi dengan basis data kerentanan untuk masalah keamanan yang diketahui.npm audit
lebih dekat dalam fungsionalitas dengan apa yang dilakukan Snyk, daripada apa yang dilakukan NPQ.Silakan berkonsultasi dengan kontribusi untuk pedoman tentang berkontribusi pada proyek ini
Liran tal [email protected]