آخرین اخبار
همهٔ اخبار
بدافزار و تروجان گزارش بحرانیت ۸/۱۰

حمله زنجیره تأمین به بسته‌های MemTensor؛ سرقت اطلاعات توسعه‌دهندگان از طریق npm و PyPI

حمله زنجیره تأمین به بسته‌های MemTensor؛ سرقت اطلاعات توسعه‌دهندگان از طریق npm و PyPI

عوامل تهدید (Threat Actors) ناشناسی موفق شدند دو بسته قانونی MemTensor را در مخازن npm و PyPI آلوده کنند تا یک ایمپلنت (Implant) مبتنی بر زبان Go به نام sckit را در سیستم‌های کاربران توزیع نمایند. این بدافزار به‌صورت چندپلتفرمی طراحی شده و بر روی سیستم‌عامل‌های ویندوز، لینوکس و macOS قابل اجرا است.

مکانیزم انتشار و اجرا

بر اساس گزارش‌های امنیتی، نسخه‌های 0.1.21، 0.1.23 و 0.1.25 در مخزن npm حاوی یک Payload پنهان هستند. این کد مخرب زمانی فعال می‌شود که Agent Gateway استارت بخورد یا زمانی که پلاگین یک رویداد Memory-Recall را مدیریت کند. در این فرآیند، محیط پردازش میزبان (Host Process Environment) و متن Prompt کاربر مستقیماً به فایل اجرایی مخرب ارسال می‌شود.

در مقابل، در بسته PyPI، به محض اینکه ماژول memos در یک اپلیکیشن Import شود، فایل باینری Go که به‌صورت استاتیک لینک شده است، اجرا می‌گردد.

اهداف و قابلیت‌های sckit

هدف نهایی این حمله، اجرای یک Payload سرقت اطلاعات (Credential Stealing) است که قادر است داده‌های حساس را از سرویس‌های ابری (Cloud Services)، پلتفرم‌های کد منبع، مخازن بسته‌ها و ابزارهای توسعه‌دهندگان جمع‌آوری کرده و به سرور خارجی skyleen[.]fr ارسال کند. اهداف اصلی این بدافزار عبارتند از:

  • توکن‌های npm و PyPI
  • دسترسی‌های GitHub و GitLab
  • کلیدهای AWS و Vault
  • Secretهای SSH

تحلیل فنی حمله زنجیره تأمین

تحلیل‌ها نشان می‌دهد که مهاجم توانسته است توکن‌های انتشار (Publish Tokens) را از طریق خط لوله‌های انتشار (Release Pipelines) در GitHub Actions مربوط به MemTensor به دست آورد. این اتفاق زمانی رخ داده که مهاجم با ارسال Commitهای خاص، باعث شده تا Workflow مربوطه توکن‌های npm یا PyPI را افشا کند.

نکته تکان‌دهنده این است که این ایمپلنت می‌تواند مانند یک کرم (Worm) عمل کرده و از طریق GitHub و انتشار مستقیم بسته‌ها در npm و PyPI تکثیر شود. این بدافزار همچنین دارای قالب‌هایی (Templates) برای نصب خود در گردش‌های کاری GitHub Actions است.

توصیه‌های امنیتی برای SOC و تیم‌های DevOps

با توجه به اینکه نسخه‌های آلوده همچنان در دسترس هستند، اقدامات زیر توصیه می‌شود:

  • Pinning: نسخه‌های مورد استفاده را به نسخه‌های امن بازگردانید (نسخه 0.1.20 برای npm و 2.0.33 برای PyPI).
  • Secret Rotation: تمامی توکن‌ها و کلیدهای احتمالی افشا شده را سریعاً تغییر دهید.
  • Incident Response: هرگونه پردازش مرتبط با sckit را متوقف کرده و دامنه skyleen[.]fr و تمامی زیردامنه‌های آن را مسدود کنید.