🦟 آسیب پذیری های وابستگی بسته NPM را برطرف کنید – تیم امنیت اطلاعات

بنابراین چه باید بکنیم؟

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

Fix

بسته ها را یکی یکی با استفاده از دستور پیشنهادی توسط NPM ، به جای اجرای دستورالعمل npm fix -force ، به روز کنید.

به عنوان مثال ، npm نصب avesave-dev [email protected] را انجام دهید.

روی هم رفته ، می خواهم بگویم که این مسئله می تواند برای کسانی که قبلاً با این مشکل روبرو بوده اند ، کاملا آشکار باشد.

وقتی اولین بار دیدم همه ، این یک لیست بزرگ از هشدارها بود ، و تنبل بودن حتی اصلاً زحمت نمی کشم که لیست مشکلات را بپیچانید.

اگر فقط در اولین کنسول خود را به مشکل اصلی ادامه دهید ، در واقع با یک مشکل رفع خواهید شد و بله ، مانند انتظار می رود ، به آسانی به روزرسانی بسته باعث ایجاد مشکل شود. npm حسابرسی رفع

=== npm audit audit گزارش ===

# اجرای npm را نصب کنید –save-dev [email protected] برای برطرف کردن 62 آسیب پذیری
SEMVER هشدار : توصیه می شود اقدام a است شکست شکست ] تغییر
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر تغییر ──────────────────────────────────
│ انکار بی حد و حصر منظم از خدمات به طور منظم │
─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 19 19 19
│ بسته بندی │ پرانتز │
├] ─ ─ 19 19 19
───────┼────────────────────────────────────────── ───────────────────┤
│ وابستگی │ شوخی [dev] │
├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 ─────────────────────────────────
│ مسیر │ jest> jest-cli> jest-config> babel-jest> │
│ │ babel-plugin-istanbul> test-study> micromatch> بریس
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ──────┤
info اطلاعات بیشتر │ https://nodesecurance.io/advisories/786 │
───────────────────────────── ───────────────────────────┘

… [ 61 more vuleractions

درست قبل از توصیف آسیب پذیری ، شما متن # Run npm install —save-dev [email protected] را برای حل 62 آسیب پذیری برای از بین بردن 62 آسیب پذیری مشاهده می کنید ، و این دقیقاً همان چیزی است که ما نیاز داریم.

شما همچنین می توانید توجه داشته باشید که خط بعدی می گوید: SEMVER WARNING: SEMVER WARNING: اقدام توصیه شده یک تغییر احتمالی است.

اجرای دستی این دستور به جای استفاده از فیکس ممیزی inpm – force – به ما اجازه می دهد تا دقیقاً کدام بسته را به روز کنیم.

مفید برای اسکریپت هایی که در آن به روزرسانی این برنامه ها انجام می شود کیت ها واقعاً به تغییرات اساسی منجر می شوند.

نتیجه گیری

در نتیجه ، به روزرسانی دستی بسته های آسیب پذیر و اجرای رفع ممیزی npm -force نتایج مشابهی را ارائه می دهد.

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