حساب NPM (مدیر بستههای نود) توسعهدهنده ‘qix’ مورد نفوذ قرار گرفت و به هکرها اجازه داد تا نسخههای مخرب بستههای او را منتشر کنند.
مهاجمان نسخههای مخرب دهها بسته جاوااسکریپت بسیار محبوب، از جمله ابزارهای پایهای را منتشر کردند. این حمله به دلیل اینکه بستههای آسیبدیده مجموعاً بیش از ۱ میلیارد بار دانلود هفتگی دارند، بسیار گسترده بود.
این حمله به زنجیره تأمین نرمافزار به طور خاص اکوسیستم جاوااسکریپت/Node.js را هدف قرار داده است.
حمله زنجیره تأمین NPM
توسعهدهنده محبوب qix قربانی فیشینگ شد. کد مخرب تزریقشده به بستههای npm اکنون تراکنشهای رمزارز را هنگام امضا ربوده است.
روش حمله:
• قلابگذاری روی توابع کیف پول (درخواست/ارسال)
• تعویض آدرس گیرنده در تراکنشهای ETH/SOL
• جایگزینی… pic.twitter.com/Jn9H4HWP8v— Scam Sniffer | Web3 Anti-Scam (@realScamSniffer) ۸ سپتامبر ۲۰۲۵
بدافزار Crypto Clipper
کد مخرب یک «کریپتو کلیپر» بود که برای سرقت رمزارز با تعویض آدرس کیف پول در درخواستهای شبکه و ربودن مستقیم تراکنشهای رمزارزی طراحی شده بود. این کد همچنین به شدت مبهمسازی شده بود تا از شناسایی جلوگیری کند.
بدافزار سرقت رمزارز دو بردار حمله دارد. زمانی که افزونه کیف پول رمزارز پیدا نشود، بدافزار با جایگزینی توابع fetch و درخواست HTTP بومی مرورگر با لیستهای گستردهای از آدرسهای کیف پول متعلق به مهاجم، تمام ترافیک شبکه را رهگیری میکند.
با استفاده از تعویض آدرس پیشرفته، این بدافزار الگوریتمهایی را به کار میگیرد تا آدرسهای جایگزینی پیدا کند که از نظر بصری بسیار شبیه به آدرسهای معتبر هستند و این امر باعث میشود تشخیص کلاهبرداری با چشم غیرمسلح تقریباً غیرممکن باشد، به گفته پژوهشگران امنیت سایبری.
اگر کیف پول رمزارز شناسایی شود، بدافزار تراکنشها را قبل از امضا رهگیری میکند و زمانی که کاربران تراکنشی را آغاز میکنند، آن را در حافظه تغییر میدهد تا وجوه به آدرسهای مهاجم منتقل شود.
این حمله بستههایی مانند ‘chalk’، ‘strip-ansi’، ‘color-convert’ و ‘color-name’ را هدف قرار داد که از اجزای اصلی و پایهای هستند و در اعماق درخت وابستگی بیشمار پروژهها قرار دارند.
این حمله به طور تصادفی زمانی کشف شد که یک خط لوله ساخت با خطای “fetch تعریف نشده است” شکست خورد، زیرا بدافزار تلاش داشت با استفاده از تابع fetch دادهها را خارج کند.
«اگر از کیف پول سختافزاری استفاده میکنید، به هر تراکنش قبل از امضا توجه کنید و در امان هستید. اگر از کیف پول سختافزاری استفاده نمیکنید، فعلاً از انجام هرگونه تراکنش روی زنجیره خودداری کنید»، توصیه کرد چارلز گیومه، مدیرعامل Ledger.
توضیحی درباره هک فعلی npm
در هر وبسایتی که از این وابستگی هکشده استفاده میکند، این فرصت به هکر داده میشود تا کد مخرب تزریق کند، بنابراین مثلاً وقتی روی دکمه “swap” در یک وبسایت کلیک میکنید، ممکن است کد تراکنش ارسالی به کیف پول شما را با تراکنشی که پول را به… ارسال میکند، جایگزین کند.
— 0xngmi (@0xngmi) ۸ سپتامبر ۲۰۲۵
بردار حمله گسترده
در حالی که محتوای مخرب بدافزار به طور خاص رمزارز را هدف قرار میدهد، بردار حمله بسیار گستردهتر است. این حمله هر محیطی را که برنامههای جاوااسکریپت/Node.js اجرا میکند، تحت تأثیر قرار میدهد؛ مانند برنامههای وب در مرورگرها، برنامههای دسکتاپ، برنامههای سمت سرور Node.js و اپلیکیشنهای موبایل مبتنی بر فریمورکهای جاوااسکریپت.
بنابراین یک برنامه وب تجاری معمولی میتواند بدون اطلاع، این بستههای مخرب را شامل شود، اما بدافزار تنها زمانی فعال میشود که کاربران در آن سایت با رمزارز تعامل داشته باشند.
یونیسواپ و بلاکاستریم از نخستین شرکتهایی بودند که به کاربران اطمینان دادند سیستمهایشان در معرض خطر نیست.
در خصوص گزارشهای حمله زنجیره تأمین NPM:
اپلیکیشنهای یونیسواپ در معرض خطر نیستند
تیم ما تأیید کرده است که از هیچ نسخه آسیبپذیری از بستههای آسیبدیده استفاده نمیکنیم
همیشه هوشیار باشید
— Uniswap Labs (@Uniswap) ۸ سپتامبر ۲۰۲۵