انتشار افزونههای مخرب توسط هکرهای کره شمالی
به گزارش کارگروه بینالملل سایبربان؛ به گفته محققان، عوامل تهدید کره شمالی مرتبط با کمپین «Contagious Interview»، 108 بسته و افزونه مرورگر وب منحصر به فرد شامل «npm»، «Packagist»، «Go» و گوگل کروم (Google Chrome) را به عنوان بخشی از فعالیت مداوم خود منتشر کردند که «PolinRider» نامیده میشود.
کارلو زانکی (Karlo Zanki)، محقق امنیتی «Socket»، در تحلیلی گفت:
«این کمپین همچنان فعال است و بستههای مخرب جدید احتمالاً همچنان ظاهر میشوند، زیرا عوامل تهدید، حسابهای نگهدارنده را به خطر میاندازند، مخازن قانونی را تغییر میدهند و نسخههای بسته آلوده را در جایی منتشر میکنند که دسترسی به رجیستری را حفظ یا به دست میآورند.»
162 اثر انتشار مخرب، نسخههای انتشار متعددی مربوط به 108 بسته و افزونه منحصر به فرد، از جمله 19 کتابخانه npm، 10 بسته Composer، 61 ماژول Go و یک افزونه گوگل کروم را در بر میگیرد.
Contagious Interview نام مستعاری است که به یک کمپین همسو با کره شمالی اختصاص داده شده که استخدام شغلی را برای هدف قرار دادن توسعهدهندگان نرمافزار و افراد شاغل در بخشهای ارزهای دیجیتال، با استفاده از مصاحبههای شغلی و ارزیابیهای متقاعدکننده برای فریب آنها به اجرای کد مخرب، به سلاح تبدیل میکند. این فعالیت حداقل از سال ۲۰۲۳ فعال بوده است. مهاجمان خود را به عنوان استخدامکننده یا همکار در پلتفرمهایی مانند لینکدین، گیتهاب یا وبسایتهای فریلنسری جا میزنند و اغلب شرکتهای صوری پیچیده و پروفایلهای کارمندان تولید شده توسط هوش مصنوعی را برای ایجاد اعتماد و در نهایت ارائه بدافزار راهاندازی میکنند.
PolinRider اولین بار توسط تیم «OpenSourceMalware» در مارس ۲۰۲۶ شناسایی شد و آن را به عنوان شامل عوامل تهدیدی توصیف کرد که بارهای مخرب جاوا اسکریپت مبهم را در صدها مخزن عمومی گیتهاب متعلق به چندین مالک منحصر به فرد قرار میدهند تا نوع جدیدی از «BeaverTail»، یک بدافزار جاوا اسکریپت شناخته شده مرتبط با Contagious Interview، را ارائه دهند.
تا ۱۱ آوریل ۲۰۲۶، این فعالیت ۱۹۵۱ مخزن عمومی گیتهاب مرتبط با ۱۰۴۷ مالک منحصر به فرد را به خطر انداخته، در حالی که با خوشه دیگری به نام «TaskJacker» ادغام شده که فایلهای وظیفه مخرب «VS Code» را در مخازن موجود کاربران گیتهاب قرار میدهد. وظایف VS Code شامل گزینه «runOn: 'folderOpen'» برای اجرای کد دلخواه هنگام باز شدن پوشه به عنوان یک پوشه فضای کاری در یک IDE مانند VS Code یا Cursor است.
OpenSourceMalware اعلام کرد:
«عامل تهدید از اعتبارنامههای دزدیده شده گیتهاب استفاده نمیکند. در عوض، قربانیان از طریق یک افزونه مخرب VS Code یا بسته npm به خطر افتادهاند.»
اعتقاد بر این است که مهاجمان حسابهای نگهدارنده را، احتمالاً از طریق تصاحب دامنه منقضی شده یا مسیر بازیابی حساب دیگر، تصاحب میکنند تا این طرح را اجرا کنند.
پس از اجرا، بدافزار کامپیوتر آلوده را برای یافتن فایلهای خاصی مانند «postcss.config.mjs»، «tailwind.config.js»، «eslint.config.mjs»، «next.config.mjs»، «babel.config.js» و «app.js» جستجو و در صورت یافتن، کد جاوا اسکریپت مخرب را به آنها اضافه میکند. همچنین از یک اسکریپت دستهای ویندوز برای تغییر مخفیانه آخرین کامیت استفاده میکند، در حالی که طوری وانمود میکند که انگار توسط نویسنده اصلی ساخته شده است. گمان میرود که از ابزارهای مشابهی برای بازنویسی تاریخچه گیت برای سایر سیستم عاملها مانند لینوکس و macOS استفاده میشود.
Socket گفت:
«روش اصلی در کل این کمپین ثابت مانده است: عوامل تهدید، لودرهای جاوا اسکریپت مبهم را در مخازن قانونی قرار میدهند، کد را از طریق فضای خالی یا فایلهای فونت جعلی .woff2 پنهان و از طریق ابزارهای توسعهدهنده مانند فایلهای وظیفه VS Code، اجرا را آغاز میکنند.»
در آخرین موج، این بار داده به عنوان یک لودر بدافزار جاوا اسکریپت عمل میکند که به زیرساختهای بلاکچین، از جمله سرویسهای TRON، Aptos و BNB Smart Chain، دسترسی پیدا میکند تا یک بار داده رمزگذاری شده مرحله دوم را که در DEV#POPPER RAT و OmniStealer باز میشود، دریافت کند. این زنجیره حمله توسط «eSentire» در مارس 2026 به تفصیل شرح داده شد.
زانکی اظهار داشت:
«عاملان تهدید از بازنویسی تاریخچه گیت، از جمله اعمال اجباری و کامیتهای تاریخگذاری نشده، برای قدیمیتر و کمتر مشکوک نشان دادن تغییرات مخرب استفاده میکنند. این امر باعث میشود صفحه فرود گیتهاب و تاریخچه کامیت قابل مشاهده، شاخصهای غیرقابل اعتمادی از نفوذ باشند؛ مدافعان باید گزارشهای فعالیت مخزن، فرادادههای انتشار بسته، پیکربندی وظیفه VS Code و تغییرات مشکوک در فایلهای پیکربندی را بررسی کنند.»
این تحول در حالی رخ داد که JFrog مجموعهای از بستههای npm مرتبط با Contagious Interview را کشف کرد که برخی از آنها به عنوان ابزارهای چندپرشونده Rollup برای فعال کردن دسترسی از راه دور و سرقت دادهها، خود را پنهان میکردند. در اوایل این هفته، مجموعه دیگری از بستههای npm و بستههای Go شناسایی شدند که شامل وظایف اجرای خودکار VS Code برای اجرای بارهای جاوا اسکریپت در قالب فایلهای فونت جعلی بودند، که نشاندهنده همپوشانی تاکتیکی بین Fake Font، TaskJacker و PolinRider است.
کاربرانی که این بستهها را نصب کردهاند باید محیط را به عنوان یک محیط آسیبپذیر در نظر بگیرند، کدهای مخفی افشا شده را از یک دستگاه سالم به سیستم جدید منتقل، نسخههای آسیبدیده را حذف و از یک فایل قفل شناختهشده و سالم بازسازی و ایستگاههای کاری و مخازن توسعهدهندگان را برای مسیرهای اجرای پنهان یا کامیتهای مشکوکی که فایلهای «.vscode/tasks.json»، «config.js»، «vite.config.js» و «eslint.config.js» را تغییر دادهاند، بررسی کنند.