کمپین GlassWorm با هدف GitHub، npm و VSCode صدها مخزن و افزونه را آلوده کرده و دادههای توسعهدهندگان را سرقت میکند.
پژوهشگران امنیت سایبری از بازگشت کمپین زنجیره تأمین GlassWorm خبر دادهاند که بیش از ۴۳۳ مخزن، پکیج و افزونه در GitHub، npm و VSCode/OpenVSX را هدف قرار داده است. این حملات با استفاده از کاراکترهای Unicode نامرئی برای مخفیسازی کد مخرب، به سرقت اطلاعات حساس از جمله کلیدهای SSH، توکنها و دادههای کیف پول رمزارز منجر میشوند. مهاجمان با سوءاستفاده از حسابهای GitHub و انتشار پکیجهای آلوده، بدافزار را در زنجیره توسعه نرمافزار توزیع کردهاند.
پژوهشگران امنیت سایبری از یک موج جدید حملات زنجیره تأمین با نام GlassWorm خبر دادهاند که اکوسیستم متنباز را در مقیاس گسترده هدف قرار داده است. این کمپین که پیشتر نیز در سال ۲۰۲۵ مشاهده شده بود، اکنون با دامنهای وسیعتر بازگشته و صدها مخزن، پکیج و افزونه توسعه نرمافزار را آلوده کرده است.
طبق گزارش مشترک شرکتهای Aikido، Socket، Step Security و جامعه OpenSourceMalware، در این موج جدید حداقل ۴۳۳ مؤلفه آلوده شناسایی شده است. این مؤلفهها شامل مخازن GitHub، پکیجهای npm و افزونههای محیط توسعه Visual Studio Code و OpenVSX هستند.
دامنه گسترده آلودگی
بر اساس دادههای منتشرشده، این حمله در چندین پلتفرم اصلی توسعه نرمافزار گسترش یافته است:
- ۲۰۰ مخزن Python در GitHub
- ۱۵۱ مخزن JavaScript/TypeScript در GitHub
- ۷۲ افزونه در VSCode و OpenVSX
- ۱۰ پکیج در npm
این آمار نشان میدهد مهاجمان بهصورت هماهنگ چندین بخش از زنجیره توسعه نرمافزار را هدف قرار دادهاند.
روش نفوذ و انتشار بدافزار
نقطه شروع این حملات، نفوذ به حسابهای GitHub توسعهدهندگان است. مهاجمان پس از دسترسی به این حسابها، با استفاده از تکنیک force-push، کدهای مخرب را به مخازن اضافه میکنند.
در مرحله بعد، این کدهای آلوده بهصورت پکیجهای npm یا افزونههای VSCode/OpenVSX منتشر میشوند. یکی از تکنیکهای کلیدی در این کمپین استفاده از کاراکترهای Unicode نامرئی است که باعث میشود کد مخرب از دید توسعهدهندگان و حتی برخی ابزارهای امنیتی پنهان بماند.
زیرساخت فرماندهی مبتنی بر بلاکچین
یکی از ویژگیهای منحصربهفرد این حمله، استفاده از بلاکچین Solana بهعنوان کانال فرماندهی و کنترل (C2) است. در این روش، بدافزار هر پنج ثانیه یکبار بلاکچین را بررسی میکند تا دستورات جدید را دریافت کند.
این دستورات در قالب memo در تراکنشهای بلاکچین قرار داده میشوند. تحلیلها نشان میدهد بین ۲۷ نوامبر ۲۰۲۵ تا ۱۳ مارس ۲۰۲۶، حداقل ۵۰ تراکنش برای بهروزرسانی payloadها ثبت شده است.
پس از دریافت دستور، بدافزار اقدام به دانلود محیط اجرایی Node.js کرده و یک information stealer مبتنی بر JavaScript را اجرا میکند.
اهداف بدافزار
بدافزار GlassWorm طیف وسیعی از دادههای حساس را هدف قرار میدهد، از جمله:
- اطلاعات کیف پولهای رمزارزی
- کلیدهای SSH
- توکنهای دسترسی و API
- اعتبارنامههای توسعهدهندگان
- دادههای محیط توسعه
این اطلاعات میتوانند برای سرقت داراییهای دیجیتال، نفوذ به سیستمهای سازمانی و گسترش حملات مورد استفاده قرار گیرند.
شواهد نسبتدهی حمله
تحلیلهای فنی نشان میدهد احتمالاً یک عامل تهدید واحد پشت این کمپین قرار دارد. این نتیجه بر اساس موارد زیر به دست آمده است:
- استفاده از یک آدرس بلاکچین Solana مشترک برای C2
- شباهت در payloadها و کدهای مخرب
- استفاده از زیرساخت مشترک در حملات
همچنین بررسی کامنتهای موجود در کد نشان میدهد مهاجمان احتمالاً به زبان روسی صحبت میکنند. نکته جالب این است که بدافزار در صورت شناسایی locale روسی روی سیستم، از اجرا خودداری میکند. با این حال، این نشانهها برای نسبتدهی قطعی کافی نیستند.
گسترش حمله به سیستمهای macOS
در ادامه این کمپین، مهاجمان سیستمهای macOS را نیز هدف قرار دادهاند. در این مرحله، نسخههای آلوده (trojanized) از نرمافزارهای مرتبط با کیف پولهای سختافزاری مانند Trezor و Ledger منتشر شده است.
این اقدام نشان میدهد هدف اصلی مهاجمان سرقت داراییهای رمزارزی و اطلاعات حساس کاربران است.
شاخصهای آلودگی و تشخیص
شرکت Step Security توصیه کرده توسعهدهندگانی که از مخازن GitHub یا پکیجهای مستقیم استفاده میکنند، سیستمهای خود را بررسی کنند.
برخی از شاخصهای مهم آلودگی عبارتاند از:
- وجود متغیر lzcdrtfxyqiplpd در کد
- وجود فایل ~/init.json برای حفظ پایداری بدافزار
- نصب غیرمنتظره Node.js در مسیر home (مانند ~/node-v22*)
- وجود فایلهای مشکوک مانند i.js در پروژهها
همچنین بررسی تاریخچه commitها میتواند نشانههای نفوذ را آشکار کند، بهویژه زمانی که تاریخ commit بهطور غیرعادی جدیدتر از تاریخ author باشد.
اهمیت امنیت زنجیره تأمین
این حمله بار دیگر اهمیت امنیت در زنجیره تأمین نرمافزار را برجسته میکند. در اکوسیستمهای متنباز، اعتماد به مخازن و پکیجها نقش حیاتی دارد، اما همین اعتماد میتواند به نقطه ضعف تبدیل شود.
حملاتی مانند GlassWorm نشان میدهند که مهاجمان بهجای حمله مستقیم به سازمانها، به سراغ ابزارها و وابستگیهایی میروند که توسعهدهندگان بهطور روزمره از آنها استفاده میکنند.
در چنین شرایطی، استفاده از ابزارهای امنیتی، بررسی دقیق کدها، محدودسازی دسترسیها و بهروزرسانی مداوم وابستگیها از جمله اقدامات ضروری برای کاهش ریسک محسوب میشود.