আমি আমার প্রকল্প স্থাপন করার চেষ্টা করছি এবং হঠাৎ এই ত্রুটিটি পাচ্ছি।
এনপিএম ইআরআর! 404 পাওয়া যায় নি: ইভেন্ট-stream@3.3.6
আমি আমার প্রকল্প স্থাপন করার চেষ্টা করছি এবং হঠাৎ এই ত্রুটিটি পাচ্ছি।
এনপিএম ইআরআর! 404 পাওয়া যায় নি: ইভেন্ট-stream@3.3.6
উত্তর:
tldr;
পবিত্র গরু! দেখা যাচ্ছে যে ইভেন্ট-স্ট্রিম প্যাকেজের একটি দুর্বলতা ছিল যা হ্যাকারকে বিটকয়েন চুরি করতে দেয়।
এটি ঠিক করার জন্য আপনাকে আপনার event-stream
প্যাকেজ আপডেট করতে হবে ।
node_modules
ফোল্ডারটি মুছুন ।package-lock.json
ফাইলটি মুছুন ।npm install
।এটির সাহায্যে আপনার প্যাকেজগুলি নিরাপদ সংস্করণে আপডেট করা উচিত এবং আপনার ভাল হওয়া উচিত।
এবং এখানে এনপিএম ব্লগের সরকারী প্রতিক্রিয়া:
ইভেন্ট-স্ট্রিম ঘটনার বিবরণ এটি ইভেন্ট-স্ট্রিম ঘটনার একটি বিশ্লেষণ যা আপনারা অনেকে এই সপ্তাহের শুরুতে সচেতন হয়েছিলেন। এনপিএম অপারেশনাল উদ্বেগ এবং আমাদের সম্প্রদায়ের সুরক্ষাকে প্রভাবিত করে এমন সমস্যাগুলি সমাধানের জন্য অবিলম্বে কাজ করে, তবে আমরা সাধারণত ঘটনাগুলি নিয়ে আলোচনা করার আগে আরও বিশদ বিশ্লেষণ করি — আমরা জানি আপনি অপেক্ষা করেছিলেন।
২ November শে নভেম্বর সকালে এনএমপি'র সুরক্ষা দলটিকে একটি দূষিত প্যাকেজ সম্পর্কে অবহিত করা হয়েছিল যা একটি জনপ্রিয় এনএমপি প্যাকেজ ইভেন্ট-স্ট্রিমে প্রবেশ করেছে। ম্যালওয়্যারটি ট্রাইজ করার পরে, এনপিএম সুরক্ষা রেজিস্ট্রি থেকে ফ্ল্যাটম্যাপ-স্ট্রিম এবং ইভেন্ট-stream@3.3.6 মুছে ফেলা এবং আরও অপব্যবহার রোধের জন্য ইভেন্ট-স্ট্রিম প্যাকেজের মালিকানা গ্রহণের মাধ্যমে প্রতিক্রিয়া জানাল।
দূষিত প্যাকেজটি ফ্ল্যাটম্যাপ-প্রবাহের 0.1.1 সংস্করণ ছিল। এই প্যাকেজটি ৩.৩..6 সংস্করণে 9 ই সেপ্টেম্বর, 2018 এ নতুন রক্ষণাবেক্ষণকারী দ্বারা ইভেন্ট-স্ট্রিম প্যাকেজের প্রত্যক্ষ নির্ভরতা হিসাবে যুক্ত করা হয়েছিল। ইভেন্ট-স্ট্রিম প্যাকেজটি ব্যাপকভাবে ব্যবহৃত হয়, তবে কোনও সংস্থার দূষিত কোড টার্গেট বিকাশকারীদের খুব সুনির্দিষ্ট বিকাশের পরিবেশ সেটআপ ছিল: অন্য কোনও পরিবেশে পে-লোড চালনার কোনও প্রভাব নেই। এই নির্দিষ্ট টার্গেটিংয়ের অর্থ এই যে, শেষ পর্যন্ত বেশিরভাগ বিকাশকারীরা ভুলভাবে দূষিত মডিউলটি ইনস্টল করে থাকলেও তারা প্রভাবিত হবে না।
ইনজেকশন কোডটি কোপে অ্যাপ্লিকেশনটিকে লক্ষ্য করে। যখন কোপে একটি বিকাশকারী তাদের রিলিজ বিল্ড স্ক্রিপ্টগুলির মধ্যে একটি চালায়, ফলস্বরূপ কোডটি অ্যাপ্লিকেশনটিতে বান্ডিল হওয়ার আগে পরিবর্তন করা হয়। কোডটি 100 টিরও বেশি বিটকয়েন বা 1000 বিটকয়েন নগদ নগদ থাকা অ্যাকাউন্টগুলি থেকে অ্যাকাউন্টের বিশদ এবং ব্যক্তিগত কী সংগ্রহের জন্য ডিজাইন করা হয়েছিল।
কোপের প্রাথমিক প্রতিক্রিয়া ছিল যে এই দূষিত কোড সহ কোনও বিল্ডগুলি জনসাধারণের জন্য প্রকাশ করা হয়নি, তবে আমাদের এখন কোপাইয়ের কাছ থেকে নিশ্চিত হয়ে গেছে যে "দূষিত কোডটি 5.0.2 থেকে 5.1.0 সংস্করণে স্থাপন করা হয়েছিল।"
আক্রমণ এই আক্রমণটি একটি সামাজিক প্রকৌশল আক্রমণ হিসাবে শুরু হয়েছিল। আক্রমণকারী, একজন রক্ষণাবেক্ষণকারী হিসাবে উপস্থিত হয়ে ইভেন্ট-স্ট্রিম মডিউলটির রক্ষণাবেক্ষণের দায়িত্ব গ্রহণ করেছিলেন।
প্রযুক্তিগত বিবরণগুলি এখানে কিছু প্রযুক্তিগত বিবরণ যা আমরা আপনার সম্পর্কে আগ্রহী তাদের জন্য জানি।
ইনজেকশন কোড:
টেস্ট ফিক্সচার হিসাবে ছদ্মবেশযুক্ত কোনও ফাইল থেকে এএস এনক্রিপ্ট করা ডেটা পড়ুন মডিউলটি এনএমপি প্যাকেজ বিবরণটি আমদানি করে যা স্বয়ংক্রিয়ভাবে সেট এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে ছদ্মবেশী ফাইল থেকে টেনে নেওয়া তথ্যগুলির একটি অংশ ডিক্রিপ্ট করার জন্য প্যাকেজ বিবরণ ব্যবহার করে ডিক্রিপ্ট করা ডেটা একটি মডিউলের অংশ ছিল, যা পরে স্মৃতিতে সংকলিত হয় এবং কার্যকর করা হয়।
এই মডিউলটি নিম্নলিখিত ক্রিয়া সম্পাদন করেছে:
ছদ্মবেশী ফাইল থেকে ডেটা অন্য অংশ ডিক্রিপ্ট করা একটি ছোট, মন্তব্যযুক্ত উপসর্গ প্রথম ডিক্রিপটেড অংশ থেকে দ্বিতীয় ডিক্রিপটেড অংশ থেকে শেষ অবধি সংক্ষিপ্ত ডিকোডিংয়ের কাজকে অবৈধ জেএস থেকে বৈধ জেএসে রূপান্তরিত করার জন্য ক্ষুদ্র ডিকোডিং কার্য সম্পাদন করেছে (আমরা বিশ্বাস করি এটি ছিল গতিশীল বিশ্লেষণ সরঞ্জাম দ্বারা সনাক্তকরণ এড়ানোর জন্য করা হয়েছে) জেএস-এর এই প্রসেসড ব্লকটি নির্ভরতাতে বিল্ড স্ক্রিপ্টগুলির মাধ্যমে প্যাকেজ করা হবে এমন কোনও ফাইলের কাছে লিখে রেখেছিলেন: যে কোডটি লেখা হয়েছিল তা হ'ল প্রকৃত দূষিত কোড, চালানোর উদ্দেশ্যে কোপে শেষ ব্যবহারকারীদের মালিকানাধীন ডিভাইসগুলিতে।
এই কোডটি নিম্নলিখিতটি করবে:
বর্তমান পরিবেশটি সনাক্ত করুন: মোবাইল / কর্ডোভা / ইলেক্ট্রন ভিকটিমের কপির অ্যাকাউন্টে বিটকয়েন এবং বিটকয়েন নগদ ব্যালেন্স পরীক্ষা করে দেখুন যদি বর্তমান ব্যালেন্সটি 100 বিটকয়েন বা 1000 বিটকয়েন নগদ বেশি হয় তবে ক্ষতিগ্রস্থ ব্যক্তির অ্যাকাউন্ট ডেটা পুরো ফসল কাটাতে ক্ষতিগ্রস্থ ব্যক্তির অনুলিপি ব্যক্তিগত কীগুলি সংগ্রহ করুন 111.90.151.134 এ চলমান সংগ্রহ পরিষেবাটিতে ভুক্তভোগীর অ্যাকাউন্ট ডেটা / ব্যক্তিগত কীগুলি প্রেরণ করুন। কোপে অ্যাপ্লিকেশন ব্যবহারকারীদের জন্য, বিটপাই সুপারিশ করেছে, "আপনি যদি 5.0.2 থেকে 5.1.0 অবধি কোনও সংস্করণ ব্যবহার করেন তবে আপনার কোপে অ্যাপ্লিকেশন চালানো বা খোলার উচিত নয়” "
এনপিএম ব্যবহারকারীদের জন্য, আপনি এনপিএম অডিট চালিয়ে আপনার প্রকল্পে দুর্বল নির্ভরতা রয়েছে কিনা তা পরীক্ষা করতে পারেন। আপনি যদি এই ইভেন্ট-স্ট্রিমের প্রভাবিত সংস্করণটি ইনস্টল করেন তবে আমরা আপনাকে সুপারিশ করব যত তাড়াতাড়ি সম্ভব পরবর্তী সংস্করণে আপডেট করুন।
npm list event-stream
কোনও শীর্ষ স্তরের প্যাকেজগুলি করুন এবং আপডেট করুন
আসলে আমাদের সমস্ত প্যাকেজ আপডেট করার দরকার নেই যা ইভেন্ট-stream@3.3.6 এর উপর নির্ভর করে।
আপনি খুলতে পারবেন package-lock.json
, সমস্ত ইভেন্ট-স্ট্রিমের রেফারেন্সগুলি সরিয়ে npm install
আবার কল করতে পারেন। এটি আরও দ্রুত হবে।
এর পরে, npm shrinkwrap && mv npm-shrinwrap.json package-lock.json
কেবল ইভেন্ট-স্ট্রিম রেফারেন্সগুলি আপডেট করা উচিত পুরো ফাইলটি নয়
নীচের পদ্ধতি অনুসরণ করুন:
নোড_মডিউলগুলি এবং প্যাকেজ_লক.জসন ফাইলগুলি মুছুন
এনপিএম তালিকা ইভেন্ট-স্ট্রিম চালান
আমি নিম্নলিখিত পদক্ষেপগুলি দ্বারা এই সমস্যাটি সমাধান করি:
event-stream
পাতার মূল আবিষ্কার করুন , উদাহরণস্বরূপ:
45 silly saveTree +-- nodemon@1.18.4
45 silly saveTree | +-- chokidar@2.0.4
45 silly saveTree | +-- pstree.remy@1.1.0
45 silly saveTree | | `-- ps-tree@1.2.0
45 silly saveTree | | `-- event-stream@3.3.6
45 silly saveTree | | +-- duplexer@0.1.1
45 silly saveTree | | +-- from@0.1.7
45 silly saveTree | | +-- pause-stream@0.0.11
45 silly saveTree | | `-- split@0.3.3
মন্তব্যে উল্লিখিত হিসাবে, অন্তর্নিহিত সমস্যাটি হ'ল package-lock.json
(লকফাইলে) একটি অবহেলিত প্যাকেজ রয়েছে। লকফিলটি মোছা এবং নির্ভরতাগুলি পুনরায় ইনস্টল করা সমস্যার সমাধান করেছে।
এটি করার দ্রুততম উপায় হ'ল এই 2 টি পদক্ষেপ:
package-lock.json
ফাইলটি মুছুনnpm i
(বা npm install
) টাইপ করুন