Cli: [PERTANYAAN] --ignore-scripts hanya untuk keamanan?

Dibuat pada 29 Nov 2019  ·  4Komentar  ·  Sumber: npm/cli

Banyak tempat merekomendasikan pengaturan skrip abaikan untuk konfigurasi global untuk tujuan keamanan.
Ini untuk mencegah paket pihak ketiga mengeksekusi kode arbitrer.

Masalahnya adalah pengaturan ini mengakibatkan tidak ada skrip yang berjalan termasuk dari npm run ...
Saya juga tidak melihat peringatan saat menjalankan npm run ... dengan skrip abaikan diaktifkan.

Apakah ada cara untuk mengabaikan skrip semata-mata untuk masalah keamanan?

Question

Semua 4 komentar

Bagaimana npm membedakan antara skrip yang aman dan tidak aman?

Jika bisa melakukan itu, mengapa pengaturan diperlukan untuk mengabaikan yang tidak aman?

Itu tidak akan membedakan antara skrip yang aman dan tidak aman.
Itu hanya akan mengizinkan skrip saat menggunakan perintah npm di modul atas.
Karena pemiliknya bukan pihak ketiga maka bisa dianggap bisa dipercaya.

Gotcha, itu masuk akal. Saya tidak pernah menetapkannya sebagai pengaturan konfigurasi global tetapi melanggar npm run akan sangat membuat frustrasi.

Saya telah menyetel skrip-abaikan ke true dan kecewa mengetahui bahwa npm start pada proyek saya berhenti bekerja sepenuhnya tanpa hasil sama sekali.

Saya ingin keamanan skrip abaikan, khususnya untuk menonaktifkan skrip pasca-instal, tetapi dapat menjalankan skrip saya sendiri dan skrip pihak ketiga, hanya secara eksplisit dengan npm start atau npm run. Harus menambahkan --ignore-scripts setiap kali saya ingin menambahkan paket cukup rapuh karena yang diperlukan hanyalah melupakannya sekali saja dan Anda dapat secara diam-diam dikompromikan oleh ketergantungan pihak ketiga yang sangat tersembunyi.

Secara umum saya sangat percaya perilaku default npm cli berbahaya dan perlu diubah dalam satu atau lain cara. Misalnya npm dapat meminta saya sebelum menjalankan skrip apa pun, kecuali jika diminta atau masuk daftar putih secara eksplisit.

Majikan saya tidak mau memasukkan npm ke dalam tumpukan dengan perilaku saat ini sehingga satu-satunya pilihan saya saat ini tampaknya bergantung pada settubg flag abaikan-skrip di setiap workstation.

Juga, saya ingin mencatat bahwa saya sadar bahwa menambahkan ketergantungan memiliki konsekuensi keamanan yang lebih luas daripada skrip, tetapi skrip menurut saya sangat berbahaya karena beberapa alasan. Memiliki paket jahat di proyek Anda sama buruknya dengan kedengarannya, tetapi setidaknya mungkin ada beberapa waktu lagi sebelum dapat mengeksekusi muatannya, jadi ada sedikit harapan bahwa itu bisa ditangkap tepat waktu. Selain itu, pengembang lebih cenderung melihat pengambilan tambahan di devtools atau sesuatu saat men-debug kode mereka dibandingkan dengan muatan yang berjalan langsung di komputer mereka dan menutupi jejaknya. Satu proyek dengan paket berbahaya berpotensi membahayakan seluruh IP perusahaan bahkan yang tidak terkait dengan proyek tersebut. Mungkin sulit untuk menentukan pelanggaran ke sumber masalah atau bahkan mendeteksi ada pelanggaran sama sekali.

Maaf jika saya mendukung masalah khusus ini dengan pemikiran paranoid saya yang meluap-luap, tetapi saya pikir pengelola npm dan komunitas harus melakukan percakapan serius tentang topik ini. Mungkin mulai berpikir tentang bagaimana JavaScript dan npm cocok dengan hal-hal seperti Aliansi Bytecode .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

CliffS picture CliffS  ·  3Komentar

DullReferenceException picture DullReferenceException  ·  4Komentar

1000i100 picture 1000i100  ·  3Komentar

MadhuriGurumurthy11 picture MadhuriGurumurthy11  ·  3Komentar

FaizenR picture FaizenR  ·  3Komentar