Github menghantar makluman tetap kepada anda apabila kelemahan keselamatan dikesan dalam kalangan pakej anda yang dipasang atau kebergantungannya. Saya pernah cuba membiarkan dependabot membetulkannya untuk saya. Namun, separuh masa saya tidak dapat menggabungkan PR yang telah dijana untuk saya. Akibatnya, pelanggaran itu dibiarkan tanpa pakaian, yang tidak baik. Dalam kes saya, saya menggunakan pnpm, saya rasa ia adalah sama dengan npm.
Saya terjumpa artikel Niraj Chauhan's hari ini dan ia membawa saya ke cara menyelesaikannya menggunakan terminal.
Langkah:
Dalam bahagian laluan anda harus melihat apa yang menyebabkan perkara ini. Dalam kes saya, ia nampaknya "bersarang kebergantungan" (bergantungan kebergantungan).
Anda boleh menjalankan pnpm kenapa NAME_OF_THE_EXTENSION untuk mengesahkan perkara di atas. Dalam kes saya, saya mendapat ini apabila menjalankannya pada kelemahan pertama saya: pnpm why netmask
Anda boleh cuba menjalankan pembetulan audit pnpm tetapi ia tidak pernah berkesan untuk saya.
Buka package.json anda dan kemas kini versi pakej yang menyebabkan ini - dalam kes saya mailgun-js. Anda boleh menjalankan paparan pnpm versi NAME_OF_THE_PACKAGE untuk melihat semua versi atau maklumat pnpm versi NAME_PACKAGE untuk mengetahui versi stabil terkini.
Jika ia berbeza, edit fail package.json anda dengan versi yang anda perlukan dan jalankan pnpm i sekali lagi. Selepas itu anda menjalankan audit pnpm sekali lagi untuk mengesahkan bahawa kelemahan telah hilang. Jika masih ada, mulakan semula atau teruskan membaca.
Dalam kes saya, versi stabil terbaharu ialah versi yang telah saya pasang, jadi saya perlu mengambil pendekatan lain.
Kami boleh memaksa pnpm memasang versi tertentu kebergantungan bersarang. Dokumen pnpm ada di sini dan anda melakukannya seperti itu dalam fail package.json anda:
Edit 25/10: mengikut urutan Stackoverflow ini, kedua-dua Github dependabot dan pnpm suapan audit daripada pangkalan data yang sama, jadi anda tidak kehilangan kelemahan tetapi membetulkan perkara dengan cara ini dan bukannya aliran kerja dependabot. Juga terdapat catatan blog ini.
Atas ialah kandungan terperinci Langkah-langkah untuk membetulkan kelemahan keselamatan pakej dalam projek JS anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!