8 ستمبر کو، ایک بڑے سافٹ ویئر Supply Chain Attack نے NPM ایکو سسٹم کو نشانہ بنایا، جس سے کئی وسیع پیمانے پر استعمال ہونے والی JavaScript لائبریریاں متاثر ہوئیں۔ اس خلاف ورزی کا انکشاف تب ہوا جب Ledger کے چیف ٹیکنالوجی آفیسر، Charles Guillemet نے خبردار کیا کہ ایک قابل اعتماد ڈویلپر کا Node Package Manager اکاؤنٹ ہیک کر لیا گیا ہے۔ ابتدائی اندازوں کے مطابق اس کا اثر 1 بلین سے زائد ڈاؤن لوڈز پر تھا، لیکن مزید تجزیے سے پتہ چلا کہ متاثرہ پیکجز دراصل 2.6 بلین سے زائد ہفتہ وار ڈاؤن لوڈز کی نمائندگی کرتے ہیں۔

Supply Chain Attack Exposes Over 2 Billion
Supply Chain Attack Exposes Over 2 Billion
اس حملے نے "qix" نامی ایک ڈویلپر کے اکاؤنٹ کو نشانہ بنایا، جو chalk، strip-ansi، color-convert، اور debug سمیت کئی مقبول JavaScript لائبریریز کو برقرار رکھتا ہے۔ یہ لائبریریاں سرور سائیڈ اور فرنٹ اینڈ دونوں ماحول پر محیط لاتعداد پروجیکٹس میں موجود ہیں۔ حملہ آوروں نے ایک جعلی سپورٹ ای میل کے ذریعے رسائی حاصل کی اور تقریباً 18 پیکجز میں نقصان دہ اپ ڈیٹس (malicious updates) پش کیں۔ خودکار ڈیپینڈنسی انسٹالز نے مالویئر کو چند گھنٹوں کے اندر تیزی سے پھیلنے کا موقع دیا۔
Guillemet نے وضاحت کی کہ یہ نقصان دہ کوڈ ٹرانزیکشنز کے دوران خاموشی سے cryptocurrency والیٹ ایڈریسز کو تبدیل کر دیتا تھا۔ سافٹ ویئر والیٹس پر انحصار کرنے والے صارفین کو فنڈز ضائع ہونے کا خطرہ تھا اگر وہ وصول کنندہ کا تبدیل شدہ ایڈریس دیکھے بغیر ٹرانزیکشنز کی منظوری دے دیتے۔
Malware Crypto Clipper and MetaMask
سیکیورٹی محققین نے اس مالویئر کو "crypto clipper" کے طور پر درجہ بندی کیا ہے۔ یہ ٹرانزیکشن کے مختلف مراحل پر والیٹ ایڈریسز کو تبدیل کر دیتا ہے۔ جب کوئی والیٹ ڈیٹیکٹ نہیں ہوتا، تو مالویئر براؤزر فنکشنز جیسے fetch اور XMLHttpRequest میں ہک کر کے decentralized ایپلی کیشنز کے اندر آؤٹ گوئنگ ڈیٹا میں ترمیم کرتا ہے، اور ایپلی کیشن ڈیٹا کے اندر ایڈریسز کو اسکین اور تبدیل کرتا ہے۔
اگر MetaMask جیسا والیٹ ایکسٹینشن موجود ہو، تو مالویئر سائن کرنے سے پہلے ٹرانزیکشن کو انٹرسیپٹ کر لیتا ہے۔ یہ میموری میں والیٹ ایڈریس کو تبدیل کر دیتا ہے تاکہ جب صارف ٹرانزیکشن کا جائزہ لے تو اسے فراڈی ایڈریس نظر آئے۔ مالویئر Levenshtein الگورتھم کا استعمال کرتا ہے تاکہ ایسے ایڈریسز تیار کیے جا سکیں جو اصل سے بہت ملتے جلتے ہوں، جس سے تبدیلیوں کو پہچاننا مشکل ہو جاتا ہے۔

Supply Chain Attack Exposes Over 2 Billion
First Signs of the Attack
ڈویلپرز نے حملے کے پہلے آثار تب دیکھے جب بلڈ سسٹمز نے ایک غیر متوقع ایرر میسج دیا۔ error-ex نامی ڈیپینڈنسی کے معائنے سے ایک مبہم کوڈ (obfuscated code) کا پتہ چلا جس میں checkethereumw نامی ایک مشکوک فنکشن تھا، جو Ethereum والیٹ کو نشانہ بنانے کی نشاندہی کرتا ہے۔ تجزیہ کاروں نے تصدیق کی کہ مالویئر میں متعدد بلاک چینز پر والیٹ ایڈریسز کے حوالہ جات موجود تھے، جن میں Bitcoin، Ethereum، Solana، Tron، Litecoin، اور Bitcoin Cash شامل ہیں۔
متاثرہ پیکجز میں JavaScript ایکو سسٹم میں سب سے زیادہ استعمال ہونے والے کچھ پیکجز شامل ہیں۔ Chalk کو 300 ملین سے زیادہ ہفتہ وار ڈاؤن لوڈز، debug کو 350 ملین سے زیادہ، اور strip-ansi کو 260 ملین سے زیادہ ڈاؤن لوڈز ملتے ہیں۔ مجموعی طور پر، متاثرہ لائبریریز ہر ہفتے 2.6 بلین سے زیادہ ڈاؤن لوڈز دیکھتی ہیں، جو ڈویلپر کمیونٹی پر اثرات کی وسعت کو ظاہر کرتا ہے۔
Hardware vs Software Wallets
بہت سی متاثرہ لائبریریاں براہ راست cryptocurrency پروجیکٹس سے منسلک نہیں ہیں، لیکن ڈیپینڈنسی چینز میں ان کی شمولیت کا مطلب ہے کہ غیر متعلقہ ایپلی کیشنز بھی متاثر ہو سکتی ہیں۔ جو پروجیکٹس cryptocurrency والیٹس اور decentralized ایپلی کیشنز کے ساتھ تعامل کرتے ہیں، انہیں سب سے زیادہ خطرہ لاحق ہے۔
Guillemet نے نوٹ کیا کہ clear-signing فیچرز والے ہارڈویئر والیٹس کے صارفین محفوظ رہتے ہیں کیونکہ یہ ڈیوائسز منظوری سے پہلے ہر ٹرانزیکشن کی تصدیق کی اجازت دیتی ہیں۔ سافٹ ویئر والیٹ صارفین کو زیادہ خطرہ لاحق ہے اور انہیں تب تک انتہائی احتیاط برتنی چاہیے جب تک کہ ڈیپینڈنسیز کا مکمل جائزہ لے کر انہیں محفوظ نہ بنا لیا جائے۔
Finding the Attacker and Funds Stolen
حملہ آور کے cryptocurrency ایڈریسز کی نشاندہی کر لی گئی ہے اور پبلک بلاک چین ٹرانسپیرنسی کے ذریعے ان کی فعال نگرانی کی جا رہی ہے۔ آپریشن سے منسلک ایک بنیادی Ethereum ایڈریس 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976 ہے، جس کے ساتھ کئی بیک اپ ایڈریسز بھی ہیں۔ رپورٹنگ کے وقت تک، چوری شدہ فنڈز منتقل نہیں کیے گئے تھے۔ یہ نگرانی جاری تجزیے کو ممکن بناتی ہے، حالانکہ چوری شدہ اثاثوں کی مکمل تفصیلات ابھی تک واضح نہیں ہیں۔

Supply Chain Attack Exposes Over 2 Billion
JavaScript and Community Role
JavaScript اور web3 کمیونٹیز نے واقعے پر قابو پانے کے لیے تیزی سے کام کیا۔ متاثرہ پیکجز کے نقصان دہ ورژنز کو رجسٹری سے بڑی حد تک ہٹا دیا گیا ہے، لیکن ان پروجیکٹس کے لیے خطرات برقرار ہیں جو اب بھی اپنی lockfiles میں پرانے ورژنز پر انحصار کر سکتے ہیں۔ ڈویلپرز پر زور دیا جا رہا ہے کہ وہ اپنی ڈیپینڈنسیز کا آڈٹ کریں، محفوظ ورژنز کو لاک کریں، اور مزید خطرات سے بچنے کے لیے کلین بلڈز کو دوبارہ انسٹال کریں۔
سیکیورٹی پروفیشنلز تجویز کرتے ہیں کہ ڈویلپرز اپنے کریڈینشلز کو تبدیل کریں، NPM اور GitHub جیسے اکاؤنٹس پر ٹو-فیکٹر آتھنٹیکیشن نافذ کریں، اور سخت ورژن کنٹرول برقرار رکھنے کے لیے npm ci جیسے ڈیٹرمینسٹک انسٹالیشن طریقے استعمال کریں۔ صارفین کو تمام cryptocurrency ٹرانزیکشنز کی احتیاط سے تصدیق کرنی چاہیے، خاص طور پر جب وہ سافٹ ویئر والیٹس پر انحصار کر رہے ہوں۔
Final Thoughts
یہ واقعہ NPM ایکو سسٹم کو متاثر کرنے والی سب سے وسیع خلاف ورزیوں میں سے ایک ہے۔ اگرچہ کمیونٹی کا ردعمل نسبتاً تیز تھا، لیکن یہ حملہ جدید سافٹ ویئر سپلائی چینز کی کمزوری اور اوپن سورس اجزاء پر وسیع انحصار سے پیدا ہونے والے خطرات کو بے نقاب کرتا ہے۔
جیسا کہ Guillemet نے زور دیا، سائن کرنے سے پہلے ہر ٹرانزیکشن کا جائزہ لینا ضروری ہے۔ یہ خلاف ورزی ظاہر کرتی ہے کہ ایپلی کیشن انفراسٹرکچر میں گہرائی تک سرایت کرنے والی چھوٹی لائبریریاں بھی جب متاثر ہوتی ہیں تو اہم اٹیک ویکٹر بن سکتی ہیں۔ ڈویلپرز اور صارفین دونوں کے لیے، web3 اور سافٹ ویئر ڈویلپمنٹ ایکو سسٹم میں سیکیورٹی برقرار رکھنے کے لیے مسلسل چوکسی اب ایک اہم حصہ ہے۔



