شامگاه ۱۵ سپتامبر، حملهای جدید علیه پرکاربردترین رجیستری مؤلفههای جاوااسکریپت — یعنی npm — آغاز شد. تعدادی از پکیجها، از جمله پکیجهایی با میلیونها بار دانلود هفتگی، به کدی مخرب که وظیفهاش سرقت توکنها و کلیدهای احراز هویت است آلوده شدند. ویژگی قابلتوجه این بدافزار، قابلیت انتشار خودکار آن است؛ بهگونهای که میتواند سایر پکیجهای npm را نیز آلوده کند. یکی از پکیجهای آلودهشده، پکیج محبوب @ctrl/tinycolor است. به گفتهی شرکت Aikido Security، نزدیک به ۱۵۰ پکیج مورد نفوذ قرار گرفتهاند — از جمله پکیجهای متعلق به شرکت Crowdstrike.
روش انتشار
در حال حاضر، نحوهی آلودگی اولیه و «نقطهی شروع» مشخص نیست. از آنجا که الگوی این حمله شباهت زیادی به رخداد اخیر موسوم به s1ngularity دارد، احتمال میرود که پای فیشینگ هم در میان باشد. با این حال، زنجیرهی بعدیِ آلودگی بهصورت زیر است:
انتشار دادههای سرقتشده
اطلاعات جمعآوریشده از دو روش همزمان استخراج میشود:
واکنش به رخداد
آلودگی پکیج tinycolor و دهها پکیج دیگر در شب ۱۵ تا ۱۶ سپتامبر شناسایی شد. تا صبح روز بعد، مدیریت npm فرآیند پاکسازی را آغاز کرد و نسخههای آلوده به نسخههای سالم بازگردانده شدند. در تاریخچهی npm، نسخهی آلوده قابلمشاهده نیست، اما اسناد GitHub وجود آن را تأیید میکنند. با توجه به اینکه در زمان نگارش این گزارش طی پنج ساعت گذشته اعلان جدیدی منتشر نشده، میتوان گفت که این حملهی گسترده تا حدی مهار شده است. با این حال، از آنجا که با یک کرمروبهرو هستیم، امکان تکرار مجدد آن وجود دارد — مگر اینکه npm بهطور کامل جلوی انتشار فایلهای مخرب را بگیرد.
راهکارهای امنیتی
کاربرانی که پکیجهای آلوده را دانلود کردهاند، باید فوراً اقدامات زیر را انجام دهند:
راهکارهای امنیتیکسپرسکیاین تهدید را با عنوان Worm.Script.Shulud.* شناسایی میکنند. فهرست کامل پکیجهای آلوده در GitHub در دسترس است.