در تاریخ ۲۳ سپتامبر ۲۰۲۶، یک عامل تهدید (Threat Actor) یک کرم جدید در زنجیره تأمین (Supply Chain) را از طریق انتشار بستههای آلوده منتشر کرد. تحلیلهای اولیه نشان میدهد که این بستهها پیشینهای از انتشار نسخههای سالم داشتهاند و احتمالاً توسط مهاجمان مورد نفوذ قرار گرفتهاند.
ویژگیهای فنی و مکانیزم انتشار
این بدافزار یک فایل باینری چندپلتفرمی است که با زبان Golang نوشته شده و قابلیت تکثیر خود (Self-propagation) را از طریق انتشار مستقیم بستهها و سوءاستفاده از GitHub Actions دارد. این بدافزار تحت نام supplychain.local ردیابی میشود.
- لودر (Loader): هر دو بسته آلوده دارای یک لودر هستند که در کد سطح بالای برنامه ادغام شده است. بدافزار هنگام فراخوانی بسته اجرا میشود، اما در زمان نصب (Install time) تلاشی برای اجرا نمیکند.
- ساختار اجرایی: دروپرهای (Droppers) موجود در بستهها، یک باینری sckit متناسب با پلتفرم سیستم (ARM یا x86 برای ویندوز، لینوکس و macOS) را از یک دایرکتوری مخفی به نام
.sckitاجرا میکنند. - پیکربندی: این باینریها با آرگومانهای
stage0و--config64اجرا شده و یک رشته Base64 شامل اطلاعات شناسایی بسته منبع و دامنههای فرمان و کنترل (C2) را دریافت میکنند.
استراتژیهای تکثیر و نفوذ
این بدافزار به گونهای طراحی شده است که از طریق GitHub و انتشار مستقیم در مخازن npm و PyPI گسترش یابد. برخی از متدهای شناسایی شده عبارتند از:
- GitHub Actions: بدافزار دارای یک قالب (Template) برای GitHub Action است تا با هر Push در یک مخزن سازشیافته، به طور خودکار اجرا شود.
- اسکریپتهای Postinstall: استفاده از استابهای (Stubs) جاوااسکریپت و پایتون (مانند فایل
bootstrap.cjs) برای اجرای بدافزار در مخازن آلوده دیگر. - سرقت اعتبارنامهها: بدافزار با استفاده از Regular Expression در زبان Go، به دنبال متغیرهای محیطی (Environment Variables) مربوط به اعتبارنامههای انتشار بسته میگردد تا بتواند از طریق دستوراتی نظیر
npm publishیاtwine upload، نسخههای آلوده را در npm و PyPI منتشر کند.