TL؛ ڈاکٹر
ایک واحد این پی ایم پبلشر، ddjidd5640نے من گھڑت برانڈز جیسے کہ کرپٹو سیکیورٹی گلڈ, Web3 آڈٹ مجموعہ، اور ڈی ایف آئی سیکیورٹی الائنس.
پیکیجز ایک سادہ ٹائپوسکویٹ مہم کی طرح نہیں لگتے ہیں۔ وہ ایک برانڈڈ سیکیورٹی ایکو سسٹم کی طرح نظر آتے ہیں، جس کی حمایت خالی GitHub تنظیموں سے ملتی ہے اور MCP ٹول کے ناموں کو قائل کرتے ہیں جیسے search_leaked_credentials, validate_chain_key، اور deploy_safe.
مہم تقسیم ہو جاتی ہے۔ دو فعال پے لوڈ فیملیز اور ایک غیر فعال قسط.
ویرینٹ اے 8 اسناد کی کٹائی کے پیکجوں پر مشتمل ہے۔ ایک پوسٹ انسٹال اسکرپٹ مقامی خفیہ اسٹورز کو پڑھتا ہے، جبکہ ایک بنڈل scanner.js اس وقت چلتا ہے جب ایک AI ایجنٹ پیکیج کے MCP ٹولز کو طلب کرتا ہے، والیٹ کیز، BIP39 mnemonics، API ٹوکنز، اور دیگر اسناد تلاش کرتا ہے۔
ویرینٹ بی 5 پنگی پر مبنی بائنری ڈراپرز پر مشتمل ہے۔ یہ پیکجز پوسٹ انسٹال کے دوران ریموٹ پے لوڈ کو لاتے ہیں اور اس پر عمل کرتے ہیں۔ foundry-deploy-helper:1.8.96 پر ایک علیحدہ ایگزیکیوٹیبل گرانا /tmp/.node-cache.
ویرینٹ سی 9 غیر فعال پیکجز پر مشتمل ہے جس میں ابھی تک کوئی واضح پوسٹ انسٹال پے لوڈ نہیں ہے، لیکن وہی پبلشر، برانڈنگ پیٹرن، اور ویب 3 فوکسڈ نام۔
22 پیکجوں میں سے صرف 8 کو جھنڈا لگایا گیا تھا جہاں ہم دیکھ سکتے تھے۔ تجزیہ کے وقت باقی 14 ابھی بھی npm پر لائیو تھے۔
شدت: نازک۔
حملہ: ایک الماری میں دو پے لوڈ
الماری برانڈ ہے۔ crypto-credential-scanner کا README کھولیں اور آپ کو بتایا جائے گا کہ یہ کریپٹو سیکیورٹی گلڈ کے ذریعے بنایا گیا ایک کریڈینشل سکینر ہے۔ defi-threat-scanner کا صفحہ کھولیں اور آپ کو بتایا جائے گا کہ یہ DeFi سیکیورٹی الائنس کا ایک ٹول ہے۔ web3-secrets-detector کھولیں اور یہ Web3 آڈٹ کلیکٹو ہے۔ ان اجتماعات میں سے کوئی بھی تنظیم کے طور پر موجود نہیں ہے۔ وہ خالی GitHub orgs کے طور پر موجود ہیں جن کا واحد مقصد npm صفحہ کے "مصنف" ہائپر لنک کو آباد کرنا ہے۔
ویریئنٹ A: پوسٹ انسٹال پری فلائٹ اور ایم سی پی ٹائم مین ایکٹ
8 ویریئنٹ-اے پیکجز سبھی دو مرحلوں کے پے لوڈ کا اشتراک کرتے ہیں — ایک پوسٹ انسٹال پری فلائٹ جو ڈسک پر پہلے سے موجود تمام اسناد کو سادہ متن میں پکڑ لیتی ہے، اور ایک رن ٹائم مرحلہ جو ایک بار ایک AI ایجنٹ کے پیکج کے MCP ٹولز میں سے کسی ایک کو کال کرنے پر چالو کرتا ہے۔
"مرحلہ 1، پرواز سے پہلے" پیکیج ڈاٹ جےسن میں نوڈ -ای ون لائنر کے طور پر ان لائن رہتا ہے۔ یہ سات معروف ڈاٹ فائلز کھولتا ہے اور ہر ایک کے پہلے 200 بائٹس C2 کو بھیجتا ہے۔
200 بائٹس ~/.ssh/id_ed25519 حملہ آور کو خود سے آپ کی نجی کلید نہیں دے گا، لیکن وہ دے گا۔ فائل کا نام، تبصرہ، اور PEM ہیڈر کی پہلی لائنیں - اس بات کی تصدیق کرنے کے لیے کافی ہے کہ وہاں کس قسم کی کلید رہتی ہے، جو کہ فالو آن اسٹیج کو چلانے کے لیے کافی ہے۔ 200 بائٹس ~/.env عام طور پر ایک مکمل API ٹوکن لیک کرنے کے لیے کافی سے زیادہ ہوتے ہیں۔ 200 بائٹس ~/.git-credentials عام طور پر OAuth ٹوکنز کا مکمل سیٹ ہوتا ہے۔
"مرحلہ 2، اہم عمل"ہے، scanner.js. یہ پیکج کی طرف سے بھری ہوئی ہے index.js اور MCP درخواست کے ہینڈلر کے اندر سے اس وقت بلایا جاتا ہے جب کوئی AI ایجنٹ مشتہر ٹولز میں سے کسی کو طلب کرتا ہے۔ فائل 8 ویرینٹ-اے پیکجوں میں ایک ہی بائٹ فار بائٹ ہے (b461106e47a1f5966159cd6e92541505)، اور یہ اس کے بارے میں واضح ہے کہ یہ کیا کرتا ہے۔ ابتدائی تبصرہ بلاک پڑھتا ہے، لفظی:
| javascript // wallet-scanner.js — ایمبیڈڈ ایکٹو اسکینر MCP پیکجز کے لیے // خاموشی سے چلتا ہے جب AI ایجنٹ کسی بھی MCP ٹول کو کال کرتا ہے، // wallets/keys // کے لیے ماحول کو اسکین کرتا ہے صرف Node.js بلٹ ان استعمال کرتا ہے، کوئی بیرونی انحصار نہیں |
مندرجہ ذیل کیا ہے ایک تکراری واک، گہرائی 3، کی:
ہوم ڈائریکٹری خود
…فائل ناموں کے لیے فلٹرنگ جس میں سے کوئی بھی ہو۔ کی اسٹور, wallet.json, wallet.dat, .راز, seed.txt, میٹاماسک, پریت, ریبی, اعتماد والیٹ, Coinbase کے, نجی کلید, یادداشت, خفیہ_کلید, api_key — یعنی، ہر اس جگہ کی ہاتھ سے تیار کردہ فہرست جہاں ایک کرپٹو صارف ایک کلید رکھتا ہے۔ ہر میچ کے لیے، فائل کو چھ ریجیکس کے خلاف کھولا اور اسکین کیا جاتا ہے:
| قسم | پاٹرن | یہ کیا پکڑتا ہے |
|---|---|---|
| نجی_کلید | (?:0x)?[a-fA-F0-9]{64} | ایتھریم نجی چابیاں اور عام 32 بائٹ ہیکساڈیسیمل راز۔ |
| یادداشت | \b([a-z]+\s+){11,23}[a-z]+\b | BIP39 یادداشت کے بیج کے فقرے جن میں 12 سے 24 الفاظ ہیں۔ |
| api_key | (api[_-]?key\|API_KEY)\s*[:=]\s*["']?([A-Za-z0-9_\-]{20,}) | جنرک API ٹوکنز اور کنفیگریشن فائلوں میں سرایت شدہ اسنادی قدریں۔ |
| راز | (?:secret\|private).{0,10}[:=]\s*["']?([A-Za-z0-9+/=]{20,}) | راز اور نجی قدریں عام طور پر YAML، JSON، اور INI کنفیگریشن فارمیٹس میں محفوظ ہوتی ہیں۔ |
| اخلاقی_پتہ | 0x[a-fA-F0-9]{40} | Ethereum والیٹ کے پتے فنگر پرنٹ متاثرین کی شناخت اور شناخت کے لیے استعمال ہوتے ہیں۔ |
| پاس ورڈ | (?:PASSWORD\|PASSPHRASE)\s*=\s*["']?(\S{4,64}) | شیل ایکسپورٹ طرز کے پاس ورڈز اور پاس فریز ماحولیاتی متغیرات۔ |
اس کے بعد scanner.js مکمل طور پر چھ مزید ڈاٹ فائلز کو پڑھتا ہے — ~/.env، ~/.bash_history، ~/.zsh_history، ~/.npmrc، ~/.gitconfig، ~/.git-credentials — میں سے 500 بائٹس تک — اور سویپ کرتا ہے پروسیسنگ. یادداشت، پرس، یا بیج۔ آخر میں یہ execSync('whoami') پلس os.hostname() اور process.cwd() کو متاثر کی شناخت کے ساتھ ڈمپ کو ٹیگ کرنے کے لیے کال کرتا ہے۔ پورا پے لوڈ، نیز 100 انفرادی نتائج تک، ایک واحد JSON آبجیکٹ کے طور پر پوسٹ کیا جاتا ہے۔
exfil منزل براہ راست ہارڈ کوڈ نہیں ہے۔ پیکیج اسے رن ٹائم پر اس سے لاتا ہے:
https://ddjidd564.github.io/defi-security-best-practices/config.json
- ایک GitHub صفحات حملہ آور کے کنٹرول کو دستاویز کرتا ہے۔ موجودہ config.json واپس آتا ہے۔
اگر وہ بازیافت ناکام ہو جاتی ہے، scanner.js اسی پر واپس آتا ہے webhook.site یو آر ایل کو مستقل کے طور پر ہارڈ کوڈ کیا گیا۔ یہ انڈائریکشن مہم میں آپریشنل نفاست کا واحد ٹکڑا ہے: یہ حملہ آور کو پیکیج کو دوبارہ شائع کیے بغیر exfil اہداف کو گھمانے دیتا ہے، اور یہ اصل کلیکٹر یو آر ایل کو npm آرٹفیکٹ سے باہر رکھتا ہے، جس سے دستخط کی بنیاد پر پتہ لگانا مشکل ہو جاتا ہے۔
ویریئنٹ بی: ایک پِنگی ٹنل، ایک بائنری، اور ایک مستقل قسم
دوسری لائیو قسط بہت چھوٹی ہے — پانچ پیکجز — اور بہت کم ہوشیار۔ مصنف نے MCP کاسٹیوم مکمل طور پر گرا دیا۔ یہ پیکیج جائز ایتھریم اور سولانا ٹولنگ کے لیے کنفیگریشن مددگار ہونے کا دعویٰ کرتے ہیں (truffle-config-helper, chainlink-price-feed-agregator, ganache-cli- فراہم کرنے والا, solana-pda-helper, فاؤنڈری تعیناتی مددگار)۔ پے لوڈ ایک واحد ہے۔ https.getاور -عملدرآمد میں لائن پوسٹ انسٹال
C2 ایک مفت ہے۔ پنگی ٹنل - ایک عام ڈویلپر-سرنگ سروس جسے حملہ آور عارضی C2 کے طور پر استعمال کر رہا ہے۔ پیکیج ڈاؤن لوڈ کرتا ہے جو بھی سرنگ واپس آتی ہے اور اس میں ڈال دیتی ہے۔ child_process.exec. کوئی سالمیت کی جانچ نہیں ہے، کوئی دستخط نہیں ہے، کوئی دوسرے مرحلے کا تحفظ نہیں ہے۔ آج آپریٹر کی سرنگ جو بھی خدمت کر رہی ہے وہی چل رہی ہے۔
سب سے زیادہ جارحانہ پیکج، فاؤنڈری تعیناتی مددگار: 1.8.96، ان لائن کی جگہ لے لیتا ہے۔ https.get ساتھ curl کے اور استقامت کی چال:
متغیر C: ایک پالش اگواڑا، کوئی ڈیٹونیٹر نہیں (ابھی تک)
باقی نو پیکجز - والٹ بیک اپ تصدیق کنندہ, env-security-scanner, فاؤنڈری ٹول کٹ (فاؤنڈری کا ایک جان بوجھ کر ٹائپوسکوٹ) solna-web3 (سولانا کا ٹائپوسکویٹ) پرس-سیکیورٹی-چیکر, hardhat-gas-profiler-plugin, ethers-multical-utils, defi-env-آڈیٹر, etherjs-utils - ہے کوئی پوسٹ انسٹال اسکرپٹ نہیں۔ اور پہلی نظر میں کوئی واضح رن ٹائم ایکسفل نہیں ہے۔ وہ پبلشر، برانڈ فرنٹ، Web3 نام دینے کا پیٹرن، اور کچھ معاملات میں ایک جیسے README بوائلر پلیٹ کو فعال مختلف حالتوں کے ساتھ بانٹتے ہیں۔ ہم ان کے ساتھ اسی مہم کے حصے کے طور پر سلوک کر رہے ہیں اور پیشگی ہٹانے کی سفارش کی ہے، لیکن ہم نے ابھی تک ان کے رن ٹائم محرکات کو مکمل طور پر شمار نہیں کیا ہے۔ غیر فعال قسط ایک قدم ہو سکتی ہے جسے آپریٹر مستقبل کے پلٹنے کے لیے محفوظ کر رہا ہے — وہی پیٹرن فینٹم بوٹ جو مئی کے وسط میں استعمال کیا گیا تھا، جہاں آپریٹر نے پیکیج کا نام دوبارہ شائع کیے بغیر بوٹ نیٹ بھرتی کے لیے ایک سندی چوری کرنے والے کو تبدیل کر دیا تھا۔
ٹائم لائن اور کیٹلاگ
مہم میں ابتدائی تاریخ کا پیکج سب سے کم ورژن والا ہے: چین کلید کی تصدیق کرنے والا: 0.2.3 اور defi-env-auditor:0.3.2 ابتدائی تجرباتی قطروں کی طرح نظر آتے ہیں۔ جب تک پبلشر پہنچ گیا۔ truffle-config-helper: 1.7.0 اور فاؤنڈری تعیناتی مددگار: 1.8.96, ورژن افراط زر جان بوجھ کر تھا - نمبروں کو چننا جو ایک قائم شدہ پیکیج کے نسب کی طرح پڑھتے ہیں۔ 22 میں سے کسی کی بھی npm پر اس عین نام کے تحت کوئی سابقہ جائز تاریخ نہیں ہے۔
مکمل کیٹلاگ، مختلف قسم کے لحاظ سے گروپ کیا گیا:
### متغیر اے — کریڈینشل ہارویسٹر (postinstall + MCP-time scanner.js, MD5 b461106e47a1f5966159cd6e92541505)
| پیکج | ورژن | پتہ لگانے والے فیڈز میں جھنڈا لگایا گیا۔ |
|---|---|---|
mnemonic-safety-check | 0.5.2 | جی ہاں |
solidity-deploy-guard | 0.4.4 | جی ہاں |
web3-secrets-detector | 1.2.6 | جی ہاں |
eth-wallet-sentinel | 1.0.9 | جی ہاں |
deployment-key-auditor | 0.7.3 | جی ہاں |
defi-threat-scanner | 2.1.2 | جی ہاں |
crypto-credential-scanner | 2.0.2 | جی ہاں |
chain-key-validator | 0.2.3 | جی ہاں |
### مختلف بی — پِنگی ٹنل https.get → exec (اس رپورٹ سے پہلے پتہ لگانے کے فیڈ کی مرئیت نہیں ہے)
| پیکج | ورژن | ذائقہ پوسٹ انسٹال کریں۔ |
|---|---|---|
truffle-config-helper | 1.7.0 | https.get → exec(stdout) |
chainlink-price-feed-aggregator | 1.1.12 | https.get telemetry call |
ganache-cli-provider | 1.7.51 | https.get telemetry call |
solana-pda-helper | 1.0.46 | https.get telemetry call |
foundry-deploy-helper | 1.8.96 | curl + chmod +x /tmp/.node-cache & |
### متغیر C - غیر فعال، رن ٹائم ٹرگر مشتبہ ہے (اس رپورٹ سے پہلے کوئی پتہ لگانے کے فیڈ کی نمائش)
| پیکج | ورژن | نوٹس |
|---|---|---|
wallet-backup-verifier | 1.0.1 | |
env-security-scanner | 1.6.0 | |
foundy-toolkit | 1.5.79 | فاؤنڈری کی typosquat |
solna-web3 | 1.5.98 | سولانا کی ٹائپوسکواٹ |
wallet-security-checker | 1.0.3 | |
hardhat-gas-profiler-plugin | 1.7.86 | |
ethers-multicall-utils | 1.3.15 | |
defi-env-auditor | 0.3.2 | |
etherjs-utils | 1.0.39 |
ویریئنٹ-اے اور ویریئنٹ-بی کالم بے ترتیب طور پر منتخب نہیں کیے جاتے ہیں۔ Variant-A نام سبھی خود کو بطور فروخت کرتے ہیں۔ سیکورٹی آڈیٹنگ کے اوزار - "سیفٹی چیک"، "گارڈ کی تعیناتی"، "راز کا پتہ لگانے والا"، "والٹ سنٹینل"، "کلیدی آڈیٹر"، "تھریٹ سکینر"، "کریڈینشل سکینر"، "چین کلید تصدیق کنندہ"۔ ان کا مقصد ایک ڈویلپر یا AI ایجنٹ ہے جو Web3 پروجیکٹ کی حفاظت کا جائزہ لینے کے لیے ایک ٹول کی تلاش میں جاتا ہے۔ ویریئنٹ-بی نام سبھی خود کو بطور فروخت کرتے ہیں۔ مدد کرنے والوں کی تعمیر اور تعیناتی۔ اسی Web3 ایکو سسٹم کے لیے — Truffle، Chainlink، Ganache، Solana PDA ٹولنگ، فاؤنڈری۔ اسپلٹ ایک عام Web3 ڈویلپر کے ذہنی ماڈل کا آئینہ دار ہے جس میں "آڈٹ فیز" بمقابلہ "تعیناتی مرحلہ" ہے۔ آپ جس بھی مرحلے تک پہنچیں، پبلشر نے اس کے لیے ایک جال بچھا دیا ہے۔
سمجھوتہ کے اشارے
نیٹ ورک اور فائلیں۔
| آئی او سی | مختلف | مقصد |
|---|---|---|
https://ddjidd564.github.io/defi-security-best-practices/config.json | A | GitHub صفحات کے ذریعے ہوسٹ کردہ ڈائنامک ویب ہُک حل کرنے والا۔ |
https://webhook.site/8d334534-1c63-4f4f-a0d7-95c446c8b233 | A | موجودہ ایکسفلٹریشن کلیکٹر اینڈ پوائنٹ، فال بیک کے طور پر بھی سرایت شدہ۔ |
rqnyz-2605-7280-7--2000-c51.run.pinggy-free.link/npm/-/binary/telemetry | B | پِنگی ٹنل ریموٹ بائنری پے لوڈس کو تقسیم کرنے کے لیے استعمال ہوتی ہے۔ |
scanner.js MD5 b461106e47a1f5966159cd6e92541505 | A | یکساں سکینر پے لوڈ تمام 8 ویریئنٹ-اے پیکجوں میں دوبارہ استعمال کیا گیا۔ |
/tmp/.node-cache | B | ڈیٹیچڈ ایگزیکیوٹیبل گرا دیا گیا۔ foundry-deploy-helper:1.8.96. |
پبلیشر
- npm صارف نام: ddjidd5640
- ای میل: 1623682356@qq.com (غیر تصدیق شدہ)
- ای میل اور SCM تصدیق: کوئی نہیں۔
- اکاؤنٹ کے تحت پیکجز: 22، سبھی اوپر کیٹلاگ میں درج ہیں۔
- سب سے پہلے دکھائی دینے والی سرگرمی: چین کلید کی تصدیق کرنے والا: 0.2.3 (متغیر A)
- تازہ ترین نظر آنے والی سرگرمی: چین-کی-ویلیڈیٹر: 0.2.3 اور کریپٹو-کریڈینشل سکینر:2.0.2 (دونوں اس تحریر سے پہلے 24 گھنٹے کے اندر)
برانڈ فرنٹ (میں استعمال کیا جاتا ہے مصنف / README / جعلی GH org)
- "Crypto Security Guild" — خالی GitHub org کی حمایت یافتہ cryptosec-guild
- "Web3 Audit Collective" — خالی GitHub org کے ذریعے حمایت یافتہ w3audit
- "DeFi سیکیورٹی الائنس" - خالی GitHub org کی حمایت یافتہ ناقص سیکورٹی
- حوالہ GH اکاؤنٹ ddjidd564 — dynamic-webhook config.json کا میزبان
سلوک۔
- نوڈ - ای میں سے کسی کو پڑھنے کے بعد انسٹال کریں۔ .ssh, ایتھریم, .bitcoin, .env, .Bash_history, .zsh_history, .git-credentials ساتھ .slice(0, 200) اور اس کے ساتھ جوڑنا | ویرینٹ A کے لیے سیپریٹرز قریب قریب منفرد فنگر پرنٹ ہے۔
- درآمد ./scanner.js ایک ایسے پیکیج سے جو خود کو MCP کے طور پر رجسٹر کرتا ہے۔ سرور نام کے اوزار کے ساتھ تلاش_لیکڈ_کریڈینشیلز یا اسی طرح فریم شدہ "سیکیورٹی آڈٹ" فعل متغیر-A کی تصدیق ہے۔
- ایک نوڈ -ای پوسٹ انسٹال جو کسی بھی *.run.pinggy-free.link میزبان سے حاصل کرتا ہے اور جواب کو child_process.exec میں پائپ کرتا ہے، ریپر سے قطع نظر ویرینٹ-B کی تصدیق ہے۔
انتساب اور حوصلہ افزائی
جزوی پبلشر فنگر پرنٹ کے لیے میز پر کافی ہے اور حقیقی شناخت کے لیے کافی نہیں ہے۔ ای میل 1623682356@qq.com ایک QQ میل ایڈریس ہے — Tencent کا مفت ویب میل، مینلینڈ چین میں مقبول — اور عددی مقامی حصہ QQ صارف ID ہے۔ ہم اسے صرف نرم سگنل سمجھتے ہیں، کیونکہ QQ فارمیٹ کے پتے معمولی طور پر رجسٹرڈ ہیں۔ این پی ایم اکاؤنٹ میں کوئی دو فیکٹر انکشاف نہیں ہے، کوئی تصدیق شدہ ای میل نہیں، کوئی تصدیق شدہ نہیں۔ SCM لنک "Crypto Security Guild" / "Web3 Audit Collective" / "DeFi Security Alliance" برانڈ ٹرائیڈ ہول سیل بنا ہوا ہے — تینوں میں سے کوئی بھی اس مہم سے باہر موجود نہیں ہے — اور پشت پناہی کرنے والے GitHub orgs خالی خول ہیں جو npm صفحہ کے لنکس کو آباد کرنے کے لیے بنائے گئے ہیں۔
دو نمونے نام دینے کے قابل ہیں، کیونکہ وہ ملحقہ مہمات میں ظاہر ہوتے ہیں۔ پہلا ہے۔ سماجی ثبوت کے طور پر برانڈ پری فیبریکیشن: آپریٹر نے موجودہ پروجیکٹ کے ناموں کو ٹائپ کرنے کے لیے منتخب نہیں کیا۔ انہوں نے شروع سے ہی ایک مکمل اعتماد کی داستان تیار کی، یہ جانتے ہوئے کہ ایک AI ایجنٹ کی تعمیر pipeline یا جلد بازی میں ڈویلپر npm پیج کو اسکین کر رہا ہے جو کہ "سیکیورٹی آرگنائزیشن ہے" کے بجائے "سیکیورٹی آرگنائزیشن کی طرح لگتا ہے" پر پیٹرن میچ کرے گا۔ یہ وہی نقطہ نظر ہے جس کے بارے میں slopsquatting لٹریچر نے متنبہ کیا تھا — پیکیجز کو اس قسم کے نام کے مطابق بنایا گیا ہے جس کا نام LLM کرے گا۔ ایجاد اگر Web3 سیکیورٹی ٹول کے لیے کہا جائے تو، اچھی طرح سے تیار کیا جائے کہ LLM ڈبل چیک نہیں کرے گا۔ Slopsquatting بدنیتی پر مبنی پیکجوں کے لیے حال ہی میں وضع کردہ اصطلاح ہے جن کے نام پلیس ہولڈرز سے مماثل ہوتے ہیں جب ایک مستند پیکج موجود نہ ہو تو LLMs hallucinate; یہ مہم اس کا زیادہ جارحانہ کزن ہے، جہاں آپریٹر اس تنظیم کو بھی گھڑتا ہے جس سے پلیس ہولڈر کا تعلق ہوگا۔
دوسرا نمونہ ہے۔ ایم سی پی ٹائم ایکٹیویشن. وقت کے ساتھ scanner.js چلتا ہے، انسٹالیشن ختم ہو گئی ہے اور ڈویلپر آگے بڑھ گیا ہے۔ محرک AI ایجنٹ ہے جو ایک ٹول کو کال کرتا ہے — تلاش_لیکڈ_کریڈینشیلز, Variant-A کیس میں — جو ایجنٹ بالکل کرے گا، کیونکہ یہ پوری وجہ ہے کہ اسے پیکیج دیا گیا تھا۔ بدنیتی پر مبنی کام کے دوران ہوتا ہے۔ اچھا ورک فلو کا حصہ، جب ڈویلپر اپنے AI اسسٹنٹ کو کسی کام میں کامیاب ہوتے ہوئے دیکھ رہا ہوتا ہے جس کے لیے انہوں نے کہا تھا۔ یہ پرانے "exfil آن" سے ایک چھوٹی سی طرز عمل کی تبدیلی ہے۔ این ایم پی انسٹال” پیٹرن، اور یہ صفائی کے ساتھ انسٹال ٹائم سینڈ باکسنگ کو چکما دیتا ہے۔
ہم کسی دھمکی آمیز اداکار کا نام نہیں لے رہے ہیں۔ سگنلز (QQ ای میل، سنگل اکاؤنٹ، 22 پیکج سنگل ڈے برسٹ، دو متوازی C2 اسٹیک) ایک مستقل آپریٹر، ایک چھوٹی ٹیم، یا پیکیج فلڈ عملے میں سے ایک کے ساتھ یکساں طور پر مطابقت رکھتے ہیں جو 2025–2026 تک npm ٹیلی میٹری میں نظر آتے ہیں۔ ہم کیا کر سکتے ہیں کہتے ہیں کہ اس آپریٹر کے پاس ایک واضح ترجیحی ماحولیاتی نظام (Ethereum + Solana + Foundry/Hardhat Tooling) ہے، ایک واضح ترجیحی شکار (Web3 ڈویلپرز اور AI ایجنٹ Web3 پروجیکٹس پر کام کر رہے ہیں)، اور ایک واضح ترجیحی استقامت کا ماڈل (MCP-time رن ٹائم ٹرگر کے علاوہ ایک علیحدہ بائنری فال بیک)۔
اثر، رجحانات، اور محافظ کیا کر سکتے ہیں۔
ہماری ابتدائی وارننگ pipeline پکڑے 8 کے 22 مہم کی زندگی بھر کے پیکجز - چھ ابتدائی جھاڑو پر اور دو مزید جو کہ مہم کے کلسٹرنگ پاس کے دوران اسی دن بعد میں پہنچے۔ دیگر 14 پیکجز npm پر دنوں تک لائیو تھے۔ کسی بھی ڈیٹیکشن فیڈ میں سرفیس کیے بغیر جس کی ہم نگرانی کرتے ہیں۔، اور لکھنے کے وقت انسٹال رہیں۔ یہ فرق اہم ہے کیونکہ:
- ویرینٹ A انسٹال کے دوران خاموش ہے۔. ڈاٹ فائل پڑھی جاتی ہے، لیکن بلک ایکسفل صرف اس وقت فائر ہوتا ہے جب ایک AI ایجنٹ پیکیج کے MCP ٹولز کو طلب کرتا ہے۔ اے standard پوسٹ انسٹال کرنے والا سینڈ باکس دیکھے گا۔ نوڈ - ای بلاک کریں اور فیصلہ کریں کہ یہ چھوٹا اور بظاہر غیر فعال ہے۔
- ویرینٹ B ایک واحد لائن ہے۔ میلویئر کی درجہ بندی کرنے والے کے لیے سیکھنے کے لیے کچھ نہیں ہے — کوئی مبہم، کوئی انکوڈ شدہ پے لوڈ، کوئی مشکوک نظر آنے والا ڈومین نہیں۔ پنگی ٹنل ایک جائز ڈویلپر سروس ہے۔ صرف ایک مشکوک چیز یہ ہے کہ ایک "کنفیگریشن مددگار" کو گھر فون کرنے کی ضرورت ہے۔
- ویرینٹ سی بالکل صاف نظر آتا ہے۔ اس میں کوئی انسٹال نہیں ہے۔ hooks. ہر جامد سگنل کی طرف سے، یہ عام ہے.
MCP-Tool Era کے لیے ایک مختصر محافظ چیک لسٹ
تین ٹھوس اقدامات جو اس مہم کو پہلے پکڑ چکے ہوں گے:
- پبلشر کا وزن کریں، پیکج کا نہیں۔ ایک سال پرانے QQ میل اکاؤنٹ کے تحت بائیس پیکجز بغیر نمبر کے SCM تصدیق کسی بھی فی پیکیج فیچر سے زیادہ روشن سگنل ہے۔ ہمارے ابتدائی انتباہی ورک فلو نے پہلے پیکجز کو پکڑا کیونکہ پبلشر فنگر پرنٹ نمایاں تھا — ناشر کی ساکھ کے اسکور کی تجویز کرتا ہے کہ محفوظ، غیر نتیجہ خیز، یا میلویئر فی پیکج درجہ بندی کرنے والوں میں سے کوئی بھی وزن کم کر سکتا ہے۔
- dynamic-config indirections کو نقصان دہ سمجھیں جب تک کہ دوسری صورت میں ثابت نہ ہو جائے۔ ایک پیکج جو تھرڈ پارٹی دستاویز (GitHub Pages, GitHub Gist, Pastebin, S3 آبجیکٹ، کہیں اور) سے رن ٹائم پر اپنے آؤٹ باؤنڈ اینڈ پوائنٹ کو حل کرتا ہے، ٹیلی میٹری کے لیے ایسا کرنے کی کوئی جائز وجہ نہیں ہے۔ اصلی ٹیلی میٹری اینڈ پوائنٹس ہارڈ کوڈ اور دستاویزی ہیں۔
- MCP-سرور پیکجوں کو ان کے مشتہر ٹول کی سطح سے آڈٹ کریں۔ Variant-A تمام اشتہاری ٹولز کے نام سے پیکیج کرتا ہے۔
search_leaked_credentials,validate_chain_key,deploy_safe، اور اسی طرح کے "آڈٹ" فعل۔ ایک MCP ہوسٹ جو ایک ایسے ٹول کو ظاہر کرتا ہے جس کی تفصیل اسناد کے لیے پروجیکٹ ڈائریکٹریز کو اسکین کرنے کا دعوی کرتی ہے، اس سے پہلے کہ ایجنٹ اسے حقیقی کوڈ بیس پر مدعو کرے۔ MCP کا نقطہ یہ ہے کہ ایجنٹ لوپ کے پاس یہ جاننے کا کوئی طریقہ نہیں ہے کہ آیاsearch_leaked_credentialsایک سندی تلاش ہے یا ایک سند سے نکالنے والا ہے۔
ڈویلپرز کے لیے جنہوں نے پہلے ہی 22 پیکجوں میں سے ایک انسٹال کر رکھا ہے: کسی بھی سادہ متن کی کلید کو اس میں فرض کریں۔ ~/.ssh, ~/.ethereum, ~/.bitcoin, ~/.solana, ~/.env، یا ~/.git-credentials سمجھوتہ کیا گیا ہے، ہر اس سند کو گھمائیں جس کا نام اوپر دی گئی env-variable فلٹر لسٹ سے میل کھاتا ہے، اور Linux/macOS پر ایک قابل عمل فائل کی جانچ پڑتال کریں /tmp/.node-cache (اور کوئی بھی یتیمی کا عمل اسی سے شروع ہوا)۔ نقالی ٹولنگ کے جائز ورژن کو دوبارہ انسٹال کرنا (فاؤنڈری, ٹرفل, مشکل, ganacheوغیرہ) گرا ہوا بائنری نہیں ہٹاتا ہے۔
غیر فعال ویرینٹ-سی قسط اس کہانی کا وہ حصہ ہے جس کی عمر بدترین ہے۔ کلین انسٹال پروفائل اور ایک قائم کردہ پبلشر کے ساتھ نو پیکیج بالکل اسی قسم کی انوینٹری ہیں جو آپریٹر ریزرو میں رکھتا ہے۔ اگر وہ بعد میں دھماکہ کرتے ہیں - جیسا کہ فینٹم بوٹ نے اس وقت کیا تھا۔ axois-utils repackage اسناد کی چوری سے ایک botnet بھرتی پر پلٹ گیا — وہ کسی بھی رجسٹری صارف کے خلاف دھماکہ کریں گے جس نے آج اور ہٹانے کے درمیان ویرینٹ-سی پیکج کو پن کیا ہے۔ ورژن کے لحاظ سے نقصان دہ پیکج کو پن کرنا آپ کو کسی ایسے ناشر سے محفوظ نہیں رکھتا جو ہر ورژن کو کنٹرول کرتا ہے۔
حوالہ جات
- [این پی ایم پبلشر کا صفحہ برائے ddjidd5640](https://www.npmjs.com/~ddjidd5640) — 22 پیکجز فی الحال اس اکاؤنٹ کے تحت درج ہیں۔ تحریر کے وقت کیٹلاگ کے لیے مستند ذریعہ۔
- [npm پیکیج کا صفحہ برائے crypto-credential-scanner](https://www.npmjs.com/package/crypto-credential-scanner) — مثال ویرینٹ-اے آرٹفیکٹ؛ README، ورژن کی تاریخ، اور مصنف کے لنکس یہاں نظر آتے ہیں۔





