NPM Under Attack: Protect Your Projects from Crypto Hacks

NPM Author Qix Compromised via Phishing Email Attack!
পৃথিবীর প্রায় সকল জাভাস্ক্রিপ্ট ডেভেলপার হয়তো চমকে উঠেছেন। কারণ npm যে package manager পুরো web ecosystem কে চালিত রাখে সে ইতিহাসের সবচেয়ে বড় supply chain attack-এর শিকার হয়েছে।

📌 Key Takeaways

  • Phishing email ছিল মূল ট্রিগার, যেটার মাধ্যমে Qix-এর npm account compromise হয়।
  • Popular packages যেমন Chalk, Debug, Ansi-Styles এ malicious কোড ঢোকানো হয়েছিল।
  • Malicious কোড crypto transactions target করে, বিশেষ করে Ethereum, Bitcoin, Tron, Litecoin, Bitcoin Cash
  • Attack flow ছিল simple কিন্তু dangerous: transaction detect – address replace – crypto wallet-এ redirect।
  • Attack মাত্র ২ ঘণ্টা active ছিল, কিন্তু তাতেই millions of installs হয়।
  • Financial loss খুব কম হলেও, এটি একটি major supply chain attack এর উদাহরণ।
  • Developers-দের জন্য lesson: dependencies audit, 2FA, trusted sources, এবং regular package updates অপরিহার্য।

যেসব প্যাকেজের Weekly ডাউনলোড ২.৫ বিলিয়নের ওপরে, তারা হঠাৎ করে “Hello World” না বলে, বলল “Hello to someone’s crypto wallet!”

Qix Compromised via Phishing Email in Major Supply Chain Attack
Qix Compromised via Phishing Email in Major Supply Chain Attack

সবচেয়ে ঝুঁকিপূর্ণ প্যাকেজ ছিল Chalk, যা আমাদের terminal-কে কালারফুল করে তোলে। Chalk-এর মতো utility-এর উপর নির্ভর করে প্রায় সব Node-based CLI tools। Domino effect-টা পুরো JavaScript ecosystem জুড়ে ছড়িয়ে পড়ল।

কীভাবে ঘটলো? – ফিশিং থেকে পুরো chaos

একজন জনপ্রিয় developer Josh Junan, যাকে অনলাইনে সবাই “Quicks Online” নামে চেনে, সকালে পেলেন একটি ইমেইল।
ইমেইলটি যথেষ্ট official দেখাচ্ছিল:

“Your account will be locked on September 10th unless you update your 2FA.”

প্রথমে মনে হয় এটি npm-এর অফিসিয়াল নোটিফিকেশন। কিন্তু প্রকৃতপক্ষে, এটি ছিল classic phishing attack

যদিও Josh একজন স্কিলিড developer, তিনি ভুলক্রমে লিংকে ক্লিক করে credentials প্রভাইড করলেন।
এর ফলে attackers পেলেন ফুল control তার npm account-এর উপর
সাথে তারা পেয়ে যায় জনপ্রিয় প্যাকেজগুলিতে নতুন ম্যালিশিয়াস কোড publish করার অ্যাক্সেস।
এগুলোর মধ্যে ছিল Chalk, Debug, Anzi Styles ইত্যাদি।

phishing email screenshot
NPM phishing email screenshot – 2025

পরিণাম ছিল ভয়ঙ্কর। এই প্যাকেজগুলির weekly downloads প্রায় ২.৫ বিলিয়ন

যা পুরো JavaScript ecosystem vulnerability-এর মুখে ফেলেছে।
এই ঘটনা প্রমাণ করে, একটি ছোট ভুলও বিশ্বব্যাপী developers-দের workflow এবং হাজার হাজার project এ এফেক্ট ফেলতে পারে।

ম্যালওয়্যার কিভাবে কাজ করল? – Crypto Clipper

Attackers শুধু random malware deploy করেনি। বরং, তারা crypto-specific attack চালিয়েছে।

প্রথমে, ম্যালওয়্যার browser-এ inject হয়।
তারপর এটি cryptocurrency transactions monitor করে, যেমন MetaMask।

যখন user Bitcoin বা Ethereum পাঠাতে চায়, malware destination address change করে attackers-এর crypto wallet-এ।

How to Malware Attack works
How to Malware Attack works
Image Credit: Devo

এটি সাধারণ malware নয়। তারা Levenshtein distance algorithm ব্যবহার করে।

এর মাধ্যমে attackers এমন wallet address বেছে নেয় যা চোখে বোঝা যায় না।
উদাহরণ:

  • dude → bro = distance 4
  • book → back = distance 2

এই logic ব্যবহার করে, swap detection প্রায় অসম্ভব হয়ে যায়।

এই packages প্রায় ২ ঘণ্টা compromised ছিল।
এই সময়ে এটি millions of times ইনস্টল হয়েছে development environments, CI/CD pipelines, এবং production systems-এ।

কত টাকা stolen হলো?
আশ্চর্যজনকভাবে, মাত্র $50 Ethereum। যদিও বড় ক্ষতি হয়নি, কিন্তু এটি এক বড় wake-up call।

Qix Supply Chain Malware – Technical Attack Flow

এই malware attack-এর ধারা ছিল বেশ systematic এবং technical। মূল স্টেপগুলো হলো:

Step-by-Step NPM Attack Flow

  1. Ethereum Wallet Detection:
    • Malware প্রথমেই চেক করে browser-এ window.ethereum আছে কি না।
    • অর্থাৎ user কি MetaMask বা অন্য কোনো Ethereum provider ব্যবহার করছে।
  2. API Hook Installation:
    • Malware fetch এবং XMLHttpRequest API-তে hooks বা monkey patches install করে।
    • এর মাধ্যমে এটি network requests monitor করতে পারে।
  3. Transaction Waiting:
    • Malware patiently অপেক্ষা করে user কোন Ethereum transaction init করবে।
  4. Transaction Interception:
    • Transaction request intercept করা হয়।
    • Recipient address বের করা হয় regex ব্যবহার করে।
  5. DEX Verification:
    • Malware চেক করে transaction কোনো DEX (Decentralized Exchange) এর সাথে কানেক্টেড কি না।
    • Known router addresses এর সাথে compare করে।
  6. Address Replacement:
    • যদি target address হয়, তবে এটি attacker-এর Ethereum wallet address দিয়ে replace করে।
  7. Forward & Fake Response:
    • Modified transaction network-এ পাঠানো হয়।
    • User-কে fake success response দেখানো হয়।
crypto wallet transaction flow
crypto wallet transaction flow

Technical Analysis: Crypto NPM Attack-এর রহস্য

ধরা যাক, কেউ আপনার project-এর কাছে sneak করে ঢুকে আপনার crypto addresses চুরি করার চেস্টা করছে। শুনে ভয় লাগছে?
আসলেই, এই attack ঠিক তাই!

এই attack কে বলে crypto address replacement attack
Malicious actor-রা compromised packages-এ এমন কোড ঢুকিয়েছে, যা আপনার project বা application-এ transaction করার সময় স্বয়ংক্রিয়ভাবে addresses replace করে।

আর লক্ষ্য? Ethereum, Bitcoin, Tron, Litecoin, Bitcoin Cash সব major cryptocurrency!

মূল culprit function হলো replaceCryptoHashes(content)
এটি package-এর content scan করে এবং আপনার legitimate address-এর জায়গায় pre-defined malicious address বসিয়ে দেয়।

বোঝা যাচ্ছে, এটা কোনো random কাজ নয় well-planned, targeted attack

ডেভেলপারদের জন্য takeaway? সহজ কথা:

  • শুধু trusted sources থেকে packages use করবেন।
  • নতুন বা পুরোনো packages-এ regular audit চালাবেন।
  • যদি package-এ কোনো unusual বা suspicious behavior দেখতে পান, দেরি না করে action নেবেন।

ছোট্ট সতর্কতা, বড়ো নিরাপত্তা!

Complete web development with Programming Hero

  • ৫০০০+ জব প্লেসমেন্ট
  • ৩ বেলা ডেডিকেটেড লাইভ সাপোর্ট
  • ১০০% জব প্লেসমেন্ট সাপোর্ট
  • ৮৫ টি মডিউল, ১২+ মাইলস্টোন
  • ডেডিকেটেড হেল্প ডেস্ক ২৪/৭

Developer’s Guide: How to Stay Safe and Secure

যদি আপনি npm বা অন্য কোনো package manager ব্যবহার করে থাকেন, তাহলে এই attack-এর খবর শুনে হয়তো চিন্তিত হচ্ছেন।

চিন্তার কোনো কারণ নেই, তবে সতর্ক থাকা অবশ্যই জরুরি। এই ধরনের attack থেকে নিজেকে এবং project-কে রক্ষা করতে কিছু simple কিন্তু effective step আছে:

NPM Attack - 2025
NPM Attack – 2025
  1. Immediate Action: যে কেউ compromised packages ব্যবহার করছেন, তারা অবিলম্বে সেগুলো বন্ধ করুন।
  2. Version Lock: Dependecies-কে previous safe versions-এ lock করে রাখুন।
  3. Audit: নতুন কোনো package install করার আগে audit করুন। কোন unusual বা suspicious behavior আছে কিনা চেক করুন।
  4. Trusted Sources: শুধুমাত্র trusted sources থেকে packages download করুন। Random বা অজানা sources থেকে package install করা থেকে বিরত থাকুন।
  5. Monitor Regularly: Regularly আপনার project-এর behavior এবং dependencies monitor করুন। কোনো অস্বাভাবিক আচরণ দেখলে সঙ্গে সঙ্গে action নিন।

আজকের সময়ে package-attack বা supply chain attack একেবারেই নতুন নয়। তবে সচেতন থাকা, trusted source ব্যবহার করা, এবং regular audit চালানোই আমাদের সবচেয়ে বড়ো protection। শুধু code লিখলেই হবে না, আপনাকে হতে হবে একটু cyber-smart developer। মনে রাখবেন, নিরাপদ project মানেই নিশ্চিন্ত developer!

All Tech Update

Technology এর সকল আপডেট সবার আগে বিস্তারিত পড়ুন –

Scroll to Top