اگر با npm کار کرده باشید احتمالا در جریان حملات Supply chain هستین که از طریق اسکریپت هایی مثل postinstall انجام میشد و کد های مخرب رو از این طریق روی سیستم کاربرا اجرا میکردن🧠
اما توی آپدیت جدید npm به ورژن 12 که احتمالا توی ماه جولای منتشر میشه با چند تا تغییر سعی کردن این مشکل رو از بین ببرن.
1️⃣اولین تغییر اینه که npm install دیگه بصورت پیش فرض اسکریپت هایی مثل preinstall، install و postinstall رو اجرا نمیکنه مگه اینکه خودتون بهش اجازه بدید که شامل اسکریپت های prepare هم میشه.
برای دیدن لیست اسکریپت های Off شده از دستور npm approve-scripts --allow-scripts-pending میتونید استفاده کنید.
برای پکیج های امن که بهشون اعتماد دارید با دستور npm approve-scripts تاییدشون کنید و برای پکیج هایی که میخواید تایید نشن دستور npm deny-scripts رو بزنید.
2️⃣در ادامه git dependencies هم همین اتفاق براش افتاده و بصورت پیش فرض dependency هایی که از git نصب میشن رو resolve نمیکنه که اگر بخواید بهش اجازه بدید باید از --allow-git استفاده کنید.
3️⃣و توی مورد سوم هم برای dependency های از راه دور هست، یعنی npm install دیگه به صورت پیش فرض dependency هایی که از طریق URL های remote مثل tarball های HTTPS میان رو resolve نمیکنه مگه اینکه با --allow-remote مجوز بدید، البته --allow-file و --allow-directory تغییری نمیکنن و مثل قبل توی ورژن 12 فعال هستن.
منبع: Github Blog
#npm #update #supplychain
☕️ Telegram | Website | Discord
Post #4539
2.7K
- 🔥 6
- ⚡ 4
- ❤🔥 1