প্যাকেজ-লক.জসনে সংজ্ঞায়িত নির্ভরতার মধ্যে সম্ভাব্য সুরক্ষা দুর্বলতা ঠিক করার উপযুক্ত উপায়


90

গিথুব আমার একটি সংগ্রহস্থলটিতে এই ত্রুটিটি দিয়েছেন।

We found a potential security vulnerability in one of your dependencies.
A dependency defined in ./package-lock.json has known security vulnerabilities 
and should be updated.

নির্ভরতা আমাদের package.jsonফাইলে সংজ্ঞায়িত করা হয় না । আমার বোঝার পক্ষে package-lock.jsonফাইলটি মুছে ফেলা এবং এটি পুনরায় জজ করা ভাল অনুশীলন নয়। তবে আমি এই সমস্যাটি সমাধানের অন্য কোনও উপায় দেখতে পাচ্ছি না। যদি আমি এই সুরক্ষা দুর্বলতাটি খারিজ করি তবে কয়েক দিন পরে এটি আবার উপস্থিত হবে। কোন ধারনা? ধন্যবাদ!



উত্তর:


68

নতুন: এখন, এনপিএম @ 6 দিয়ে আপনি সরাসরি চালাতে পারবেন

npm audit fix

পুরানো উত্তর:

আপনার সমস্যাযুক্ত প্যাকেজের নাম সনাক্ত করার চেষ্টা করা উচিত এবং তারপরে চালানো উচিত

npm install package-name

অবশ্যই প্যাকেজ-নাম প্রতিস্থাপন।

এটি প্যাকেজের সর্বশেষতম সংস্করণ ইনস্টল করবে এবং প্রায়শই সর্বশেষতম সংস্করণটি সুরক্ষা সমস্যার সমাধান করেছে। সংস্করণে আপনার যদি কোনও বাধা থাকে (যেমন: 1.2), আপনি সর্বদা চেষ্টা করতে পারেন:

npm install package-name@^1.2

এবং সর্বশেষ প্যাচ সংস্করণ ইনস্টল করা হবে


4
... এবং 'সমস্যাযুক্ত প্যাকেজের নাম সনাক্ত করতে' আপনি চালাতে পারেন npm ls vulnerability-name। এটি দুর্বলতা অবনমিতদের তালিকাভুক্ত করে, যা আপনি আপডেট / ইনস্টল করতে পারবেন। (@ রিলেমান্ডার উত্তরে বরং অস্পষ্টভাবে উল্লেখ করা হয়েছে)
সিজেটি

4
এনপিএম অডিট ফিক্স পরিষ্কারভাবে এখন আমার জন্য এই সমস্যাটি ঠিক করে।
কাইতো 21

9
যোগ করা হবে package-namedependenciesনিয়ে package.json। আমি এটা চাই না।
স্লাইডশোপ 2

7

এটি সমাধান করার জন্য:

সমাধান 1: প্রথমে দুর্বলতাটি সন্ধান করুন: আপনার টার্মিনালটি ব্যবহার করে: আপনার প্রকল্পে সিডি করুন , তারপরে "এনপিএম এলএস হোইক" চালান

এবং পরিশেষে: এনপিএম বিসিআরপিট সর্বশেষ @ ইনস্টল করুন

তারপরে আপডেট হওয়া প্রকল্পটি গিটকে চাপ দিন ie (যেমন একটি নতুন প্রতিশ্রুতি সম্পাদন করুন)।

সমাধান 2:

যদি প্রথম বিকল্প / সমাধানটি সমস্যার সমাধান না করে your আপনার প্যাকেজ-লক.জসনে ম্যানুয়ালি সংস্করণটি পরিবর্তন করুন। আপনার সংস্করণটি ম্যানুয়ালি 2.16.3 থেকে 4.2.1 এ পরিবর্তন করুন

"hoek": {
      "version":  "4.2.1",
      "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
      "dev": true

তারপরে GitHub এ আপনার প্রকল্প আপডেট করুন (প্রতিশ্রুতি / ধাক্কা) আপনার প্যাকেজ-লক.জসন সংস্করণে প্রতিটি হুক সংস্করণ উপস্থিতি 4.2.1 এ পরিবর্তিত হয়েছে তা নিশ্চিত করুন

বিকল্পভাবে আপনি npm ব্যবহার Hoek সংস্করণ / আপডেট Hoek পরিবর্তন করতে, জিনিষ অনেক সহজ করতে হবে একটি উপায় (ভালো কিছু: জিনিসটা পারবেন না। Npm আপডেট @ hoek..version ) .. বা আনইনস্টল নির্দিষ্ট নির্ভরতা তারপর আবাস ব্যবহার করে এটি পুনরায় ইনস্টল বা এনপিএম


4

লোডাশ সুরক্ষা দুর্বলতার সাথে আমার একই সমস্যা ছিল, একটি প্রকল্পে আমি সুতা দিয়ে তৈরি করছিলাম। গিথুব এটিকে সুরক্ষা উদ্বেগ হিসাবে চিহ্নিত করেছেন।

আমি উপরে @rileymanda থেকে উত্তরটি চেষ্টা করেছি, টার্মিনালটি ব্যবহার করে: সিডি প্রকল্পে, তারপরে চালানো npm ls lodash

এটি উন্মোচিত হয়েছে যে আমার ক্ষেত্রে ত্রুটিটি প্রতিক্রিয়া-স্ক্রিপ্টগুলিতে ছিল । প্রতিক্রিয়া-স্ক্রিপ্টগুলি এবং লোড্যাশের সমস্যাগুলির জন্য দ্রুত গুগল আবিষ্কার করে যে এটি একটি পরিচিত সমস্যা।

আমি সুতার মাধ্যমে ঠিক করার জন্য বিভিন্ন জিনিস চেষ্টা করেছিলাম - সব কিছুই কোনও সাফল্য নয়। npm ls lodashতবুও ব্যবহারে লোডাশের দুর্বল সংস্করণ দেখিয়েছে।

এনটিএম-র উন্নতি সম্পর্কে ম্যাট টার্নবুলের ব্লগটি পড়ে আমি সুতা থেকে এনপিএম এ চলেছি। (মুছুন yarn.lock, মুছুন ./node_modules। চালান npm install) npm ls lodashএখন সর্বশেষতম নির্ভরতা সংস্করণ ব্যবহৃত হচ্ছে দেখিয়েছে - হুররে! গিথুবে প্রতিশ্রুতিবদ্ধ, এবং দুর্বলতা যে পেরিয়ে গেছে তা এখন খুশি।

দেখে মনে হচ্ছে সুতা এ জাতীয় সমস্যাগুলি অনিচ্ছায়িত করতে লড়াই করছে (বা উদ্দেশ্য নয়)।

যদি আপনি সুতা দিয়ে তৈরি করার সময় এই সমস্যাটি পেয়ে থাকেন, তবে [পিছনে] এনপিএম এ স্যুইচ করার চেষ্টা করুন!


3

আমার বোঝার জন্য প্যাকেজ-লক.জসন ফাইলটি মুছে ফেলা এবং এটি পুনরায় তৈরি করা ভাল অনুশীলন নয়।

তবুও, এই উদাহরণস্বরূপ সাধারণত এটি করা হয়।
উদাহরণস্বরূপ দেখুন কৌণিক / কৌণিক-ক্লিপ ইস্যু 8534 , যা পিআর 8535 দ্বারা সমাধান করা হয়েছে ।
এটি নির্ভরশীল প্রকল্পটির আপডেটfrees-io/freestyle-opscenter-webclient করতে পছন্দ করে package-lock.json: পিআর 31


প্যাকেজ-লক.জসনের পুনর্জন্ম প্রব্লেমটি সমাধান করে না বলে মনে হচ্ছে
xianshenglu

@ xianshenglu ঠিক আছে, উত্তরটি অন্যকে সাহায্য করার ক্ষেত্রে আমি সেখানে রেখে দেব।
ভোনসি

আমি পুরানো প্রতিশ্রুতিতে প্যাকেজ-লকের জন্য সতর্কতা পাচ্ছি। পৃথিবীতে আমি কীভাবে আবার কিছু না লিখে ইতিহাসের কিছু ঠিক করব?
pishpish

@ ডিস্টোরিয়ার যা আমি জানি না: আরও বিস্তারিতভাবে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন (ওএস, এনপিএম এর সংস্করণ, ...)
ভোনসি

4
এটা আমার সমস্যা স্থির। বখশিশের জন্য ধন্যবাদ.
ধনী

3

এটির সমাধানের সবচেয়ে সহজ / সহজ উপায় হ'ল:

  1. npm install <dep>
  2. npm uninstall <dep>
  3. npm update
  4. npm install

থেকে: https://github.com/Mic Microsoft/ vscode/ issues/ 48783#issuecomment-384873041


4
খনিটি কেবলমাত্র নির্ভরতা (প্যাকেজ-লক.জসন) এ থাকে তাই আমার সমস্যা সমাধানের জন্য 1 এবং 2 পদক্ষেপ সম্পূর্ণ করা যথেষ্ট। চিয়ার্স!
ফিনিক্সপান

1

সুরক্ষিত দুর্বলতাগুলি জানা এবং আপডেট করা উচিত।

23 শে মে, 2019 থেকে আপনার এখন " Dependabot: স্বয়ংক্রিয় সুরক্ষা স্থিরতা " রয়েছে

দেপেনডাবোটের সংহতকরণের মাধ্যমে আমরা সর্বজনীন বিটা হিসাবে স্বয়ংক্রিয় সুরক্ষা ফিক্সগুলি প্রকাশ করেছি।

স্বয়ংক্রিয় সুরক্ষা ফিক্সগুলি সুরক্ষা দুর্বলতাগুলি ফিক্স করার জন্য গিটহাবের দ্বারা উত্পন্ন উত্সাহগুলির অনুরোধগুলি।
তারা কর্মপ্রবাহের এক ক্লান্তিকর অংশটি স্বয়ংক্রিয় করে এবং বিকাশকারীদের পক্ষে তাদের নির্ভরতা আপ টু ডেট রাখা সহজ করে তোলে।

এ "আরও দেখুন স্বয়ংক্রিয় নিরাপত্তা সমাধান উপভোগ কনফিগার "

দ্রষ্টব্য: স্বয়ংক্রিয় সুরক্ষা ফিক্সগুলি বিটাতে উপলব্ধ এবং পরিবর্তিত হতে পারে।

সুরক্ষা সতর্কতা এবং নির্ভরতা গ্রাফ ব্যবহার করে এমন কোনও সংগ্রহস্থলের জন্য আপনি স্বয়ংক্রিয় সুরক্ষা ফিক্স সক্ষম করতে পারেন।
আমরা 2019 সালের মেতে শুরু হওয়া পরবর্তী কয়েকটি মাসে সুরক্ষা সতর্কতা এবং নির্ভরতা গ্রাফ ব্যবহার করে এমন প্রতিটি সংগ্রহস্থলে স্বয়ংক্রিয়ভাবে সুরক্ষা ফিক্সগুলি সক্ষম করব।


আমি এই বটের সাথে মিশ্র ফল পেয়েছি। আমি ম্যানুয়ালি করাকে npm auditএবং / অথবা পছন্দ করি npm audit fix
ফুহরম্যানেটর

@ ফুহরম্যানেটর ঠিক আছে আপনি পূর্ববর্তী মন্তব্যে মাঝারি . com/coinmonks/… উল্লেখ করেছেন?
ভনসি

0

এটি আমার পক্ষে কাজ করে। আপনার সমস্ত নির্ভরতা আনইনস্টল করুন এবং এটি আবার ইনস্টল করুন

উদাহরণ স্বরূপ

প্যাকেজ.জসন থেকে আপনার নির্ভরতার তালিকা দেখুন

{
"name": "ebook-saler",
  "version": "1.0.0",
  "description": "App for selling ebooks",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "Md Shayon",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1",
    "express-handlebars": "^3.1.0",
    "hoek": "^6.1.3",
    "stripe": "^7.5.0"
  }
}

এই জন্য আদেশ অনুসরণ করুন

npm uninstall body-parser express express-handlebars hoek stripe
npm install body-parser express express-handlebars hoek stripe
git commit -m "updated"
git push

0
  1. গিটহাব-এ, সংগ্রহস্থলের মূল পৃষ্ঠায় নেভিগেট করুন।
  2. আপনার সংগ্রহস্থলের নামের অধীনে, সুরক্ষা ক্লিক করুন।
  3. আপনি যে সতর্কতাটি দেখতে চান তা ক্লিক করুন।
  4. দুর্বলতার বিশদটি পর্যালোচনা করুন এবং যদি উপলভ্য থাকে তবে স্বয়ংক্রিয় সুরক্ষা ফিক্স যুক্ত টানুন অনুরোধ।
  5. Allyচ্ছিকভাবে, যদি ইতিমধ্যে সতর্কতার জন্য কোনও স্বয়ংক্রিয় সুরক্ষা ফিক্স না থাকে, দুর্বলতা সমাধানের জন্য একটি পুল অনুরোধ তৈরি করতে, স্বয়ংক্রিয় সুরক্ষা ফিক্স তৈরি করুন ক্লিক করুন।
  6. আপনি যখন আপনার নির্ভরতা আপডেট করতে এবং দুর্বলতা সমাধানের জন্য প্রস্তুত হন, তখন অনুরোধটি মার্জ করুন।

বিস্তারিত দেখুন


0

চেষ্টা করুন npm audit fix, এটি অনেক সতর্কবার্তা সমাধান করবে

তারপর npm i [package.name]@xxx

উদাহরণ স্বরূপ:

"dependencies": {
  "lodash": ">=4.17.13"
}

npm i lodash@4.17.13

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.