پژوهشگران امنیت سایبری چهارده بستهٔ npm تروجانیزه را کشف کردند که تحت پوشش ماژول‌هایی با نام‌های مرتبط به «تقویم» و «streak» ایمپلنت لینوکسی RedC2 4.0 را به‌صورت پنهان روی سامانه‌ها نصب می‌کردند. بررسی فوری وابستگی‌ها و حذف بسته‌های مشکوک برای جلوگیری از گسترش آلودگی ضروری است.

نحوهٔ اجرای واردسازی ساده

طبق گزارش واحد TrendAI شرکت Trend Micro، کافی است یک‌بار ماژول مخرب در درخت وابستگی وارد (import) شود تا فایل باینری همراه اجرا گردد و به‌عنوان فرایندی جداشده در پس‌زمینه فعالیت کند. این بسته‌ها بدون نیاز به install hook یا فراخوانی تابع صادراتی عمل می‌کنند؛ یک واردسازی انتقالی نیز کافی است تا ایمپلنت بارگذاری و فعال شود.

فهرست بسته‌های آلوده

  • streak-metrics-math@1.0.0, 1.0.1
  • kit-map-vim@1.0.0
  • streak-map-cache@1.0.0
  • streak-map-kit@1.0.0
  • map-streak-kit@1.0.0
  • streak-cache-map@1.0.0
  • streak-calc-metrics@1.0.0
  • streak-calc-math@1.0.0
  • streak-math-abz@1.0.0
  • streak-metricsaz@1.0.0
  • streak-math-metrics@1.0.0
  • streak-metricazbd@1.0.0
  • streak-metricsazb@1.0.0
  • streak-kit-map@1.0.0

مکان و نام فایل‌های باینری مخرب

فایل‌های باینری با نام‌هایی مانند math-core.bin، math-calc.bin، calc-math.dat و calc-mapping.bin معمولاً در پوشهٔ dist/ یا زیرشاخهٔ dist/internal/ قرار دارند. این فایل‌ها ظاهراً یک شتاب‌دهندهٔ محاسباتی بومی را تقلید می‌کنند، اما در واقع نشانگر لینوکسی RedShell متعلق به RedC2 4.0 را اجرا کرده و ارتباط با سرور کنترل از راه دور برقرار می‌کنند.

نقش loader در بسته‌ها

فایل ورودی بسته (dist/index.mjs) به‌عنوان لودری تروجان عمل می‌کند: این فایل چند تابع کمکی صادر می‌کند و به‌محض بارگذاری ماژول ایمپلنت بسته‌شده را اجرا می‌نماید، بدون نیاز به install hook یا فراخوانی تابع صادرشده.

ساختار پوشه و فایل‌های مخرب در بسته‌های npm تروجانیزه

قابلیت‌های RedC2 4.0

RedC2 یک چارچوب فرمان و کنترل چندپلتفرمی است که نسخهٔ 4.0 نشانگر لینوکسی (RedShell) را معرفی کرده و قابلیت‌های زیر را ارائه می‌دهد:

  • شِل تعاملی از طریق /bin/sh و اجرای دستورات
  • جمع‌آوری اطلاعات حساس مانند کلیدهای SSH و اعتبارنامه‌های مرورگر
  • انتقال فایل، اجرای پی‌لود مرحله‌ای و اجرا در حافظه (in-memory)
  • پراکسی SOCKS5، تونل‌زنی میزبان به میزبان و قابلیت چرخش شبکه (pivoting)
  • پشتیبانی از Beacon Object Files (BOF)، اسمبلی‌های .NET و shellcode

نسخهٔ ویندوز امکاناتی مانند دورزدن UAC، دست‌کاری آنتی‌ویروس و حرکت جانبی را اضافه می‌کند. تبلیغات اولیه دربارهٔ این ابزار توسط فردی با نام «MarlboroMan» در فوروم‌هایی مانند Hack Forums منتشر شده است.

Red Agent — افزونهٔ هوش مصنوعی

RedC2 4.0 افزونه‌ای به نام Red Agent دارد که از یک مدل زبان بزرگ برای خودکارسازی وظایف پس از نفوذ استفاده می‌کند. این افزونه به اپراتور اجازه می‌دهد با دستورات زبان طبیعی روندهایی مثل کشف شبکه و استخراج مدارک را ساده و سرعت بخشد.

تهدید زنجیرهٔ تأمین و نحوهٔ نفوذ

این بسته‌ها عملکرد واقعی نیز ارائه می‌دهند، بنابراین به‌راحتی وارد پروژه‌ها می‌شوند و از نظر بررسی انسانی کمتر مشکوک جلوه می‌کنند. چنین حمله‌هایی نمونه‌ای از تهدید زنجیرهٔ تأمین نرم‌افزار هستند؛ منابعی مثل OWASP و صفحهٔ Software supply chain در ویکی‌پدیا برای مطالعهٔ بیشتر مفیدند.

اقدامات فوری و چک‌لیست برای توسعه‌دهندگان و تیم‌های امنیتی

  • اسکن وابستگی‌ها: با npm ls و ابزارهای اسکن مانند Snyk، Dependabot و npm audit فهرست وابستگی‌ها را بررسی کنید.
  • حذف یا قفل‌سازی: از lockfile (مثلاً package-lock.json) استفاده و بسته‌های مشکوک را حذف یا با نمونه‌های معتبر جایگزین کنید.
  • ایزوله‌سازی اجرا: بسته‌ها را در محیط‌های ایزوله (کانتینر یا sandbox) اجرا کنید و اجازهٔ اجرای باینری‌های غیرمنتظره را محدود کنید.
  • اسکن باینری‌ها: پوشه‌های dist/ و زیرشاخه‌ها را برای فایل‌های باینری یا دادهٔ غیرمنتظره، بررسی و قرنطینه کنید.
  • مانیتورینگ و پاسخ‌دهی: رفتار شبکه، فرایندها و تماس‌های خروجی را پایش کنید؛ در صورت مشاهدهٔ ارتباطات مشکوک به آدرس‌های ناشناس، فوراً آن‌ها را قطع و تحقیق کنید.
  • آموزش و سیاست‌ها: تیم توسعه را دربارهٔ تهدیدات زنجیرهٔ تأمین آموزش دهید و سیاست‌های انتشار داخلی را بازنگری کنید.

منابع و پیوندهای مرتبط

گزارش فنی Trend Micro و تحلیل‌های تکمیلی جزئیات ساختار بسته‌ها و رفتار RedShell را شرح می‌دهند. برای مرجع دربارهٔ فرمان و کنترل، صفحهٔ Command and control (C2) در ویکی‌پدیا مفید است.

اقدام سریع ضروری است: توسعه‌دهندگان وابستگی‌ها را بررسی کنند، مدیران پروژه بسته‌های مشکوک را حذف یا قرنطینه کنند و تیم‌های امنیتی روندهای تشخیصی را فوراً آغاز نمایند تا از گسترش احتمالی این زنجیرهٔ آلودگی جلوگیری شود.