AsyncAPI npm সাপ্লাই চেইন অ্যাটাকের মাধ্যমে সাপ্তাহিক ২০ লক্ষেরও বেশি ডাউনলোডে বহু-পর্যায়ের ম্যালওয়্যার পৌঁছে দেওয়া হচ্ছে

সর্বশেষ আপডেট: 07/15/2026
লেখক: C SourceTrail
  • ১৪ জুলাই, ২০২৬ তারিখে একটি CI/CD পাইপলাইন আক্রমণের মাধ্যমে চারটি @asyncapi npm প্যাকেজ হ্যাক হয়, যার ফলে পাঁচটি ক্ষতিকর সংস্করণ তৈরি হয়।
  • ম্যালওয়্যারটি ইনস্টলের সময় নয়, বরং প্যাকেজ ইম্পোর্ট করার সময় সক্রিয় হয় এবং IPFS থেকে একটি অত্যাধুনিক বটনেট ফ্রেমওয়ার্ক ডাউনলোড করে।
  • পেলোডটিতে ক্রেডেনশিয়াল চুরি, এআই টুল পয়জনিং, ওয়ার্মের মতো বিস্তার এবং HTTP, Nostr, IPFS, BitTorrent, libp2p ও Ethereum ব্যবহার করে মাল্টি-চ্যানেল C2 অন্তর্ভুক্ত রয়েছে।
  • npm থেকে সমস্ত ক্ষতিকর সংস্করণ সরিয়ে ফেলা হয়েছে, কিন্তু প্রতিষ্ঠানগুলোকে অবশ্যই লক ফাইলগুলো পুনরায় তৈরি করতে, ক্রেডেনশিয়াল পরিবর্তন করতে এবং প্রভাবিত সিস্টেমগুলো নিরীক্ষা করতে হবে।

AsyncAPI npm সাপ্লাই চেইন অ্যাটাক ইনফোগ্রাফিক

২০২৬ সালের ১৪ই জুলাই, AsyncAPI ওপেন-সোর্স ইকোসিস্টেমের উপর একটি সমন্বিত সাপ্লাই চেইন আক্রমণ চালানো হয়, যার ফলে বহুল ব্যবহৃত চারটি npm প্যাকেজ ক্ষতিগ্রস্ত হয়, যেগুলো সম্মিলিতভাবে প্রতি সপ্তাহে ২২.৫ লক্ষেরও বেশি বার ডাউনলোড হয় । এই আক্রমণে GitHub Actions-এর বিশ্বস্ত পাবলিশিং পাইপলাইনগুলোকে কাজে লাগানো হয়েছিল, যার ফলে প্রচলিত npm install হুক ব্যবহার না করেই ক্ষতিকারক কোড প্রবেশ করতে সক্ষম হয়। এর পরিবর্তে, কোনো ডেভেলপার ক্ষতিগ্রস্ত মডিউলটি ইম্পোর্ট করার মুহূর্তেই ম্যালওয়্যারটি সক্রিয় হয়ে ওঠে, যা এটিকে CI/CD এনভায়রনমেন্ট এবং ডেভেলপার ওয়ার্কস্টেশনগুলোর জন্য বিশেষভাবে বিপজ্জনক করে তোলে।

স্টেপসিকিউরিটি, অক্স সিকিউরিটি, সকেট, উইজ এবং সেফডিপ-সহ একাধিক প্রতিষ্ঠানের নিরাপত্তা গবেষকরা স্বতন্ত্রভাবে ঘটনাটি নিশ্চিত করেছেন। আক্রমণকারী দুটি পৃথক AsyncAPI গিটহাব রিপোজিটরিতে পুশ অ্যাক্সেস লাভ করেছিল।asyncapi/জেনারেটর এবং asyncapi/spec-json-schemasএবং বৈধ এসএলএসএ প্রোভেনেন্স অ্যাটেস্টেশন সহ প্যাকেজ প্রকাশ করার জন্য প্রকল্পগুলির নিজস্ব রিলিজ ওয়ার্কফ্লো ব্যবহার করা হয়েছিল। কোন এনপিএম টোকেন চুরি হয়নি; এই সমঝোতাটি একটিকে কাজে লাগিয়েছিল ভুলভাবে কনফিগার করা গিটহাব অ্যাকশন ওয়ার্কফ্লো যা আক্রমণকারীকে একটি প্লেসহোল্ডার গিট আইডেন্টিটির অধীনে কমিট পুশ করার সুযোগ করে দিয়েছিল (Your Name ).

আক্রমণের সময়রেখা এবং প্রভাবিত প্যাকেজগুলি

প্রথম আক্রমণটি আঘাত হানে asyncapi/জেনারেটর ০৬:৫৮ ইউটিসি-তে রিপোজিটরিতে একটি ক্ষতিকারক কমিট করা হয়েছে। next শাখাটি সক্রিয় করেছে release-with-changesets.yml ওয়ার্কফ্লো, তিনটি ট্রোজানযুক্ত প্যাকেজ প্রকাশ করছে: @asyncapi/generator@3.3.1, @asyncapi/generator-helpers@1.1.1, এবং @asyncapi/generator-components@0.7.1মাত্র ১৫ মিনিট পরেই, আক্রমণকারী ঘুরে দাঁড়ালেন। asyncapi/spec-json-schemas রিপোজিটরিতে ধারাবাহিক কমিট পুশ করা হচ্ছে master শাখা। এর ফলে আরও দুটি ক্ষতিকর সংস্করণ তৈরি হয়েছে: @asyncapi/specs@6.11.2 এবং @asyncapi/specs@6.11.2-alpha.1পাঁচটি সংস্করণই ০৭:১০ থেকে ০৮:৩০ ইউটিসি-এর মধ্যে প্রকাশিত হয়েছিল এবং প্রচারের সময়সীমা ১১:১৮ ইউটিসি পর্যন্ত স্থায়ী ছিল, যখন প্যাকেজগুলি অবশেষে অপ্রকাশিত করা হয়।

এই আক্রমণটিকে যা বিশেষভাবে মারাত্মক করে তোলে তা হলো... ক্ষতিকারক কোডটি ইনস্টলের সময় নয়, ইম্পোর্টের সময় কার্যকর হয়।পেলোডটি প্রতিটি প্যাকেজের প্রধান জাভাস্ক্রিপ্ট ফাইলগুলিতে সরাসরি এমবেড করা থাকে—কোনো প্রি-ইনস্টল বা পোস্ট-ইনস্টল স্ক্রিপ্টের প্রয়োজন হয় না। উদাহরণস্বরূপ, @asyncapi/generatorড্রপারটি রয়েছে apps/generator/lib/templates/config/validator.jsযখন কোনো বিল্ড বা সিআই জব লাইব্রেরিটিকে কল করে, তখন অবফাসকেটেড জাভাস্ক্রিপ্ট একটি লুকানো চাইল্ড প্রসেস তৈরি করে যা আইপিএফএস (IPFS) থেকে পরবর্তী ধাপটি ডাউনলোড করে।

বহু-পর্যায়ের ম্যালওয়্যার: মায়াজমা ফ্রেমওয়ার্ক

দ্বিতীয় পর্যায়ে, একটি এনক্রিপ্টেড ফাইল যার নাম sync.js (প্রায় ৮.২৫ এমবি), এখান থেকে আনা হয়েছে ipfs.io/ipfs/QmQobZSp1wRPrpSEQ56qnyq7ecZh5Bg5k1fnjt4SUwwHb9 এবং প্ল্যাটফর্ম-নির্দিষ্ট ডিরেক্টরিতে সংরক্ষণ করা হয় (যেমন, %LOCALAPPDATA%\NodeJS\sync.js উইন্ডোজে)। HKDF-SHA256 এবং AES-256-GCM ব্যবহার করে ডিক্রিপশনের পর, চূড়ান্ত পেলোডটি বেরিয়ে আসে: একটি ৩.০৯ এমবি মডিউলার বটনেট ফ্রেমওয়ার্ক যা নিজেকে “মায়াজমা ভি৩” (Miasma v3) হিসেবে পরিচয় দেয়। এই ফ্রেমওয়ার্কটিতে ৭৪৪টিরও বেশি মডিউল রয়েছে এবং এটি ছয়টি স্বাধীন কমান্ড-অ্যান্ড-কন্ট্রোল চ্যানেল সমর্থন করে, যার মধ্যে আছে HTTP REST, Nostr রিলে, IPFS গেটওয়ে, BitTorrent DHT, libp2p GossipSub, এবং এমনকি ইথেরিয়াম স্মার্ট কন্ট্রাক্টও। এই মাল্টি-চ্যানেল ডিজাইনটি নিশ্চিত করে যে, কিছু এন্ডপয়েন্ট ব্লক করা থাকলেও আক্রমণকারী যোগাযোগ বজায় রাখতে পারবে।

মায়াজমা ম্যালওয়্যার আক্রমণ শৃঙ্খল

ম্যালওয়্যারটির ক্ষমতা শুধু ক্রেডেনশিয়াল চুরির মধ্যেই সীমাবদ্ধ নয়। স্ট্যাটিক বিশ্লেষণ অনুসারে, এতে নিম্নলিখিত মডিউলগুলো অন্তর্ভুক্ত রয়েছে: শংসাপত্র সংগ্রহ (ব্রাউজার পাসওয়ার্ড, SSH কী, npm টোকেন, AWS ক্রেডেনশিয়াল, macOS কীচেইন), এআই টুলের বিষক্রিয়া (ক্লড কোড, গিটহাব কপাইলট এবং কার্সারকে লক্ষ্য করে), ল্যান পার্শ্বীয় চলাচল, এবং কৃমির মতো বংশবৃদ্ধি npm, PyPI, এবং Cargo রেজিস্ট্রি জুড়ে। এটিতে একটি মেটামরফিক ইঞ্জিনও রয়েছে যা প্রতিটি কপিকে পুনরায় দুর্বোধ্য করে তোলে, ফলে শনাক্তকরণ আরও কঠিন হয়ে যায়। উল্লেখযোগ্যভাবে, অপারেটর সেটটি propagate.npm: false এই প্রয়োগে, ব্যাপক ওয়ার্মের পরিবর্তে একটি লক্ষ্যভিত্তিক অভিযানের ইঙ্গিত পাওয়া যায়।

প্রতিকার এবং দীর্ঘমেয়াদী শিক্ষা

পাঁচটি ক্ষতিকর সংস্করণই npm থেকে সরিয়ে ফেলা হয়েছে, এবং সর্বশেষ dist-tag-গুলো এখন নিরাপদ রিলিজ নির্দেশ করছে। তবে, এক্সপোজার উইন্ডোর সময় তৈরি হওয়া বিদ্যমান লক ফাইলগুলি (০৭:১০–১১:১৮ ইউটিসি) পর্যন্তও ক্ষতিগ্রস্ত সংস্করণগুলো পিন করা থাকতে পারে। সংস্থাগুলোর উচিত লক ফাইলগুলো মুছে ফেলে পুনরায় তৈরি করা, তারপর নতুন করে চালানো। npm installএছাড়াও, তাদের অবশ্যই লুকানো জিনিসটি পরীক্ষা করতে হবে। NodeJS/sync.js প্রভাবিত সমস্ত সিস্টেমে ফাইলটি মুছে ফেলুন, যেকোনো অনাথ চাইল্ড প্রসেস বন্ধ করুন, এবং মেশিনে উপস্থিত প্রতিটি ক্রেডেনশিয়াল—যার মধ্যে GitHub টোকেন, SSH কী, AWS ক্রেডেনশিয়াল এবং ব্রাউজারে সংরক্ষিত পাসওয়ার্ড অন্তর্ভুক্ত—পুনরায় সেট করুন।

নিরাপত্তা দলগুলোর উচিত IPFS গেটওয়ে, 85.137.53.71 -এ অবস্থিত C2 সার্ভার , BitTorrent বুটস্ট্র্যাপ নোড, বা Nostr রিলে ডোমেইনে অপ্রত্যাশিত বহির্গামী সংযোগের জন্য বিল্ড এবং CI লগ নিরীক্ষা করা। এই আক্রমণটি একটি গুরুতর দুর্বলতাকে তুলে ধরে: প্রোভেনেন্স অ্যাটেস্টেশন (SLSA) যাচাই করে যে একটি প্যাকেজ একটি অনুমোদিত ওয়ার্কফ্লো থেকে এসেছে, কিন্তু এটি নিশ্চিত করে না যে ট্রিগারিং কমিটটি বৈধ ছিল । সাপ্লাই চেইন আক্রমণের বিবর্তনের সাথে সাথে, শুধুমাত্র ইনস্টল-টাইম চেক নয়, রানটাইম আচরণ পর্যবেক্ষণ করাও অপরিহার্য হয়ে ওঠে।

এই ঘটনাটি একটি কঠোর অনুস্মারক যে, সফটওয়্যার সাপ্লাই চেইন ততটাই সুরক্ষিত, যতটা এর CI/CD পাইপলাইনের দুর্বলতম সংযোগটি। আক্রমণকারীকে npm-এর প্রতিরক্ষা ব্যবস্থা ভাঙার প্রয়োজন হয়নি; তারা কেবল প্রজেক্টটির নিজস্ব টুলগুলোই এর বিরুদ্ধে ব্যবহার করেছে। ভবিষ্যতে, সংস্থাগুলোর উচিত নতুন প্যাকেজ ভার্সনের জন্য কুলডাউন পিরিয়ড চালু করা, GitHub Actions-এর জন্য লিস্ট-প্রিভিলেজ প্রয়োগ করা এবং অস্বাভাবিক নেটওয়ার্ক কার্যকলাপ শনাক্ত করতে Harden-Runner-এর মতো রানটাইম মনিটরিং টুল ব্যবহার করা। AsyncAPI কমিউনিটি দ্রুত প্রতিক্রিয়া জানিয়েছে, কিন্তু এর ব্যাপক প্রভাব—যা প্রতি সপ্তাহে লক্ষ লক্ষ ডাউনলোডকে প্রভাবিত করেছে—দেখিয়ে দেয় যে, কীভাবে একটিমাত্র আপোসকৃত পুশ ক্রেডেনশিয়াল পুরো ইকোসিস্টেমে ছড়িয়ে পড়তে পারে।

সম্পর্কিত পোস্ট: