آلودگی زنجیره تأمین npm؛ نسخه مخرب ابزار رسمی Jscrambler اطلاعات توسعهدهندگان را سرقت میکند
اخبار داغ فناوری اطلاعات و امنیت شبکهپژوهشگران امنیت سایبری نسبت به آلودگی نسخه 8.14.0 بسته رسمی Jscrambler در مخزن npm هشدار دادهاند. این نسخه که در تاریخ ۱۱ ژوئیه ۲۰۲۶ منتشر شد، حاوی کد مخربی است که تنها با نصب بسته، یک بدافزار بومی (Native) را روی سیستم اجرا کرده و اطلاعات حساس توسعهدهندگان را سرقت میکند. بررسیها نشان میدهد این حادثه یک حمله زنجیره تأمین (Supply Chain Attack) بوده و احتمالاً در نتیجه نفوذ به حساب انتشار npm یا فرآیند انتشار نرمافزار رخ داده است، نه مخزن اصلی کد پروژه.
Jscrambler چیست؟
Jscrambler یک ابزار شناختهشده برای مبهمسازی (JavaScript Obfuscation)، محافظت از کدهای JavaScript و افزایش امنیت برنامههای تحت وب است. بسته npm این محصول بهطور گسترده در پروژههای توسعه نرمافزار و خطوط CI/CD مورد استفاده قرار میگیرد و به همین دلیل، آلودگی آن میتواند تعداد زیادی از توسعهدهندگان و سازمانها را تحت تأثیر قرار دهد.
حمله چگونه انجام میشود؟
نسخه آلوده این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید.0 شامل یک اسکریپت preinstall مخرب است که پیش از تکمیل فرآیند نصب npm بهصورت خودکار اجرا میشود.
این اسکریپت بدون اطلاع کاربر:
- یک فایل باینری متناسب با سیستمعامل (Windows، Linux یا macOS) را استخراج میکند.
- فایل اجرایی را در پوشه موقت سیستم ذخیره میکند.
- بدافزار را اجرا کرده و ارتباط آن را با سرور فرماندهی و کنترل (C2) برقرار میکند.
از آنجا که این عملیات در مرحله نصب انجام میشود، کاربر معمولاً هیچ نشانهای از اجرای بدافزار مشاهده نمیکند.
بدافزار چه اطلاعاتی را سرقت میکند؟
بررسیهای انجامشده نشان میدهد بدافزار از نوع InfoStealer بوده و طیف گستردهای از اطلاعات حساس توسعهدهندگان را هدف قرار میدهد.
دادههای قابل سرقت شامل موارد زیر هستند:
- کلیدهای دسترسی سرویسهای ابری (AWS، Azure و Google Cloud)
- توکنهای GitHub و npm
- API Key های ابزارهای هوش مصنوعی و MCP
- اطلاعات ذخیرهشده در مرورگرها
- نشستهای فعال Discord و Slack
- دادههای افزونه Bitwarden
- کلیدها و اطلاعات کیف پولهای ارز دیجیتال
- سایر اطلاعات احراز هویت موجود روی سیستم
به گفته محققان، اگر نسخه آلوده روی یک سیستم اجرا شده باشد، باید تمام اعتبارنامههای موجود روی آن دستگاه را افشاشده تلقی کرد.
منشأ حمله چه بوده است؟
تحقیقات اولیه نشان میدهد هیچ Commit یا Tag مخربی در مخزن GitHub پروژه وجود ندارد و نسخه آلوده مستقیماً در مخزن npm منتشر شده است.
این موضوع احتمال یکی از سناریوهای زیر را تقویت میکند:
- سرقت حساب npm منتشرکننده
- نفوذ به سامانه انتشار (CI/CD)
- سوءاستفاده از فرآیند انتشار بسته
در نتیجه، کد منبع اصلی پروژه سالم بوده اما نسخه منتشرشده در npm آلوده شده است.
کدام نسخهها آلوده هستند؟
بر اساس آخرین بررسیها:
نسخههای آلوده:
- 8.14.0
- 8.16.0
- 8.17.0
- 8.18.0
- 8.20.0
نسخههای سالم:
- 8.13.0
- 8.15.0
- 8.22.0 (آخرین نسخه پاک)
محققان هشدار دادهاند که برخی نسخههای بعدی نیز اگرچه فاقد اسکریپت preinstall هستند، اما همان بدافزار را از مسیر دیگری در زمان اجرای برنامه فعال میکنند.
چه اقداماتی باید انجام شود؟
کارشناسان امنیت به توسعهدهندگان توصیه میکنند:
- در صورت استفاده از نسخههای آلوده، فوراً به نسخه 8.22.0 یا نسخه سالم قبلی مهاجرت کنند.
- فایلهای lock پروژه و کش npm را پاکسازی کنند.
- تمام Token ها، API Key ها و Secret های موجود روی سیستم را تعویض کنند.
- نشستهای فعال GitHub، npm، سرویسهای ابری، Slack و Discord را باطل کنند.
- در صورت نگهداری کیف پول ارز دیجیتال روی سیستم آلوده، داراییها را به کیف پول جدید منتقل کنند.
- لاگهای CI/CD را برای شناسایی نصب نسخه آلوده بررسی کنند.
چرا این حادثه اهمیت دارد؟
حمله به Jscrambler تنها یک آلودگی ساده در npm نیست؛ بلکه نمونهای دیگر از رشد حملات زنجیره تأمین علیه ابزارهای مورد اعتماد توسعهدهندگان است.
از آنجا که این بسته در بسیاری از خطوط توسعه و استقرار خودکار (CI/CD) استفاده میشود، اجرای بدافزار روی یک سرور Build میتواند منجر به افشای کلیدهای ابری، توکنهای انتشار نرمافزار و اطلاعات حساس سازمان شود.
این حادثه بار دیگر نشان میدهد حتی بستههای رسمی و شناختهشده نیز میتوانند در صورت نفوذ به فرآیند انتشار، به ابزاری برای حمله به هزاران سازمان تبدیل شوند.
جمعبندی تحلیلی
آلودگی نسخه 8.14.0 بسته Jscrambler یکی از مهمترین رخدادهای امنیتی اخیر در اکوسیستم npm محسوب میشود. استفاده از اسکریپت preinstall برای اجرای یک InfoStealer بومی، نشاندهنده افزایش پیچیدگی حملات زنجیره تأمین علیه جامعه توسعهدهندگان است. سازمانهایی که از Jscrambler در فرآیند توسعه یا CI/CD استفاده کردهاند، باید این حادثه را بهعنوان یک رخداد امنیتی جدی تلقی کرده و علاوه بر بهروزرسانی بسته، تمامی اعتبارنامههای در معرض خطر را بازنشانی کنند
برچسب ها: jscrambler, امنیت_اطلاعات, نشت_اطلاعات, امنیت_سایبری, Cyberattack, cybersecurity, اسکریپت