بسته npm با نام tensorlake که یک SDK توسعه نرمافزار TypeScript برای برنامهها و سرویسهای ابری Tensorlake است، در جریان یک حمله زنجیره تأمین (Supply Chain Attack) موسوم به ChainDrop / Shai-Hulud مورد آلودگی قرار گرفت.
تحلیل فنی بدافزار
نسخه 0.5.144 این بسته حاوی بدافزاری مبهم (Obfuscated) است که وظایف متعددی از جمله سرقت اطلاعات حساس (Credentials)، استخراج اسرار (Secrets)، ایجاد تداوم (Persistence) و اجرای کد از راه دور (RCE) را بر عهده دارد. تحلیلها نشان میدهد که این نسخه از یک preinstall hook برای اجرای فایل setup.mjs استفاده میکند که در نهایت یک لودر مبهم را برای فعالسازی کرم سرقت اطلاعات و تکثیر خودکار (Self-propagating) با استفاده از محیط زمان اجرای Bun اجرا میکند.
دامنه هدف و سرقت دادهها
این بدافزار برای سرقت اطلاعات از منابع مختلفی طراحی شده است، از جمله:
- فایلهای محلی سیستم
- محیطهای CI/CD
- خوشههای Kubernetes
- سرویسهای مدیریت اسرار مانند HashiCorp Vault
علاوه بر این، بدافزار فایل باینری HackBrowserData را در سیستم قربانی قرار داده و دادههای جمعآوری شده را استخراج میکند. این ترکیب باعث میشود ریسک حمله فراتر از سرقت یک کلید API ساده باشد و هر منبعی که برای پروسه در حال اجرا در دسترس باشد، در معرض خطر قرار گیرد.
مکانیسم تکثیر و کنترل (C2)
این کرم برای گسترش خود، بستههای مرتبط با هویت انتشاردهنده (Publishing Identity) قربانی را شناسایی کرده، اثباتات Sigstore را جعل میکند و نسخههای آلوده را مجدداً منتشر میکند. همچنین با ایجاد ورکفلوهای جعلی در GitHub Actions (تحت نامهای Copilot یا Dependabot)، تداوم حضور خود را تضمین میکند.
برای ارتباط با سرور فرماندهی و کنترل (C2)، این بدافزار از یک قرارداد اتریوم (Ethereum Contract) برای حل کردن دامنه iseekaigogo[.]com استفاده میکند و در صورت شکست، از GitHub به عنوان مکانیزم پشتیبان برای ذخیره دادههای رمزنگاری شده استفاده میکند.
تاکتیک «توکن گروگان» و تداوم در IDE
یکی از ویژگیهای خطرناک این حمله، وجود یک مؤلفه hostage token است. این بخش از طریق یک مانیتور PowerShell، بهطور مداوم اعتبار توکن GitHub سرقت شده را بررسی میکند. اگر قربانی توکن را ابطال (Revoke) کند، مانیتور از طریق دستور Invoke-Expression کدهای تخریبی را اجرا میکند تا از بازپسگیری دسترسی توسط کاربر جلوگیری کند.
علاوه بر این، بدافزار فایلهای .claude/settings.json و .vscode/tasks.json را در مخازنی که به آنها دسترسی دارد تغییر میدهد تا در صورت باز شدن پروژه در Claude Code یا VS Code، مجدداً اجرا شود.
کاربرانی که نسخه آلوده را نصب کردهاند، باید فوراً آن را حذف کرده و تمامی توکنها و رمزهای عبور خود را تغییر (Rotate) دهند.