🐧 نحوه نصب ایمن بسته ها با استفاده از Npm یا نخ در Linux – Squad Security Security Squad

این سناریو را تصور کنید.

شما می خواهید برنامه را در جعبه لینوکس خود نصب کنید.

این بسته در مرحله اولیه توسعه است و فقط در مخزن NPM در دسترس است.

شما در مورد صحت بسته کمی پارانوئید و تردید دارید. 19659002] چه کار می کنید؟

اگر برنامه نویس هستید ، می توانید کد بسته را بررسی کنید و ببینید که در آن مشکلی وجود دارد.

اگر چیزی درباره برنامه نویسی ندارید ، چاره ای جز کورکورانه ندارید. به بسته اعتماد کنید و به هر حال نصب کنید.

برای رفع این مشکل y ، برنامه ای به نام "npq" وجود دارد که شما می توانید با استفاده از مدیران بسته های Npm یا Yarn روی لینوکس با خیال راحت نصب کنید.

Npq بسته های مورد نظر را قبل از نصب آنها بررسی می کند.

اگر وجود داشته باشد. هرگونه آسیب پذیری شناخته شده ، یک اخطار نمایش داده می شود تا بتوانید با اطمینان از نصب آن صرفنظر کنید.

Npq این مراحل را برای بررسی اینکه آیا بسته ایمن است ، دنبال خواهد کرد:

  1. Snick Vulnerability DB را بررسی می کند تا از آسیب پذیری های موجود جلوگیری کند. در صورت وجود هرگونه آسیب پذیری شناخته شده ، یک اخطار نمایش داده می شود.
  2. سن بسته را بررسی کنید. اگر سن بسته کمتر از 22 روز باشد ، یک پیام هشدار دهنده ظاهر می شود.
  3. تعداد بارگیری های بسته ها را بررسی کنید. اگر تعداد بارگیری های بسته کمتر از 20 در گذشته است. ماه ، یک اخطار نشان داده می شود.
  4. P بررسی می کند که بسته دارای README است. اگر README وجود نداشته باشد ، یک اخطار ظاهر می شود.
  5. بررسی کنید که آیا اسکریپت هایی در بسته وجود دارد که قبل یا بعد از نصب اجرا شده اند. [19659013] ممکن است این اسکریپت ها مخرب باشند یک پیام هشدار دهنده نمایش دهید.

اگر هشداری را نمی بینید ، بسته احتمالاً بی خطر است.

توجه کنید ، همانطور که گفتم ، این بسته احتمالاً بی خطر است.

اما هیچ تضمینی برای تضمین وجود ندارد.

مخرب یا آسیب پذیر.

بسته ای که به دیتابیس Synk گسترش نمی یابد و npq را بررسی می کند.

پس از اتمام تمام آزمایشات ، npq مراحل نصب را به بسته واقعی Npm یا مدیر بسته Yarn منتقل می کند. [19659028] لطفاً به یاد داشته باشید که Npq شما را آزار نمی دهد. بسته ها را نصب کنید.

این فقط بسته مشکلات امنیتی احتمالی را بررسی می کند و در صورت وجود هرگونه آسیب پذیری شناخته شده ، هشدار را نشان می دهد.

شما تصمیم می گیرید که نصب را نادیده بگیرید یا با خطر خود ادامه دهید.

نصب Npq

اطمینان حاصل کنید که Nodejs را روی رایانه لینوکس خود نصب کرده اید.

پس از نصب نودجو ، دستور زیر را برای نصب Npq اجرا کنید:

 $ npm install -g npq 

بسته ها را با ایمن با استفاده از Npm یا Yarn در نصب کنید. لینوکس

برای تست و نصب یک بسته ، به عنوان مثال ، tldr ، به سادگی از آن استفاده کنید اجرا:

 $ npq install tldr 

خروجی مثال:

 ✔ بررسی بلوغ بسته
ifying شناسایی نویسنده بسته ...
✔ بررسی محبوبیت بارگیری بسته
ing بررسی در دسترس بودن یک README
ifying شناسایی مخزن بسته ...
package بررسی بسته برای اسکریپت های نصب قبل یا ارسال
ing بررسی نقاط ضعف شناخته شده
مشکلات احتمالی را با بسته های زیر تشخیص داد:
[tldr]
- توضیحات بسته هیچ نامه الکترونیکی مرتبط با نویسنده (بازدید کنندگان) ندارد. با دقت ادامه دهید
[*]
- درمورد آسیب پذیریهای شناخته شده نمی توانید از آنها پرس و جو کنید. snyk را نصب کنید و تأیید اعتبار کنید یا یک متغیر env SNYK_TOKEN ارائه دهید (https://snyk.io)

؟ آیا می خواهید نصب بسته (ها) را ادامه دهید؟ (y / N) 

همانطور که از نتیجه گیری فوق می بینید ، سه هشدار وجود دارد:

  1. Npq نمی تواند نویسنده بسته tldr را شناسایی کند ،
  2. آدرس توضیحی در بسته بندی وجود ندارد ،
  3. من هنوز تنظیم نکرده ام. برای نصب Synk CLI و تأیید اعتبار با پایگاه داده Snyk ، این لینک را دنبال کنید.

اگر به اخطارها اهمیتی نمی دهید و مطمئن هستید که همه چیز ایمن است ، کافی است Y را تایپ کنید تا نصب بسته را ادامه دهید.

نام مستعار ایجاد کنید.

Npq فقط یک ابزار اولیه برای اثبات است آسیب پذیری های شناخته شده بسته های npm قبل از نصب آنها.

اگر اغلب از آن در کارهای روزانه خود استفاده می کنید ، کافی است مانند تصویر زیر یک نام مستعار ایجاد کنید.

از این پس ، می توانید بسته npm را به راحتی بررسی کرده و آن را با استفاده از دستور نصب کنید:

 $ npm install pack_name 

مدیر بسته پیش فرض

را تغییر دهید [همانطورکهمناشارهکردم،NpqمراحلنصبرابهمدیربستهNpmمنتقلمیکندپسازآنهابهطورپیشفرضحسابرسیمیشوند

اگر می خواهید نخ را به عنوان مدیر بسته پیش فرض نصب کنید. متغیر محیط را مشخص کنید:

 NPQ_PKG_MGR = نخ 

برای ایجاد نام مستعار نخ به عنوان مدیر بسته ، اجرا کنید:

 alias yarn = "NPQ_PKG_MGR = نخ npq-hero"