هجوم WhiteCobra به بازار VSCode با افزونههای سرقت رمزارز
یک threat actor با نام WhiteCobra کاربران VSCode، Cursor و Windsurf را با قرار دادن ۲۴ افزونه مخرب در Visual Studio Marketplace و Open VSX registry هدف قرار داده است.
این کمپین همچنان فعال است، زیرا مهاجم بهطور مداوم کدهای مخرب جدیدی را برای جایگزینی افزونههای حذفشده بارگذاری میکند.
در یک پست عمومی، Zak Cole توسعهدهنده اصلی Ethereum اعلام کرد که پس از استفاده از یک افزونه بهظاهر معتبر (contractshark.solidity-lang) برای ویرایشگر Cursor، کیف پول او خالی شده است.
Cole توضیح داد که این افزونه همه نشانههای یک محصول سالم را داشت؛ از جمله یک icon حرفهای طراحیشده، توضیحات دقیق و بیش از ۵۴,۰۰۰ downloads در OpenVSX (رجیستری رسمی Cursor).
طبق گزارش پژوهشگران Koi Security (ارائهدهنده راهکارهای endpoint security)، گروه WhiteCobra همان مهاجمی است که در جولای از طریق یک افزونه جعلی برای Cursor editor موفق به سرقت ۵۰۰,۰۰۰ دلار رمزارز شد.
حملات WhiteCobra
ویرایشگرهای کد VS Code، Cursor و Windsurf همگی از VSIX extension پشتیبانی میکنند؛ این فرمت پیشفرض بستهها برای انتشار افزونه در VS Code Marketplace و OpenVSX platform است.
این cross-compatibility همراه با نبود فرآیند submission review مناسب در این پلتفرمها، آنها را به محیطی ایدهآل برای مهاجمانی مثل WhiteCobra جهت اجرای کمپینهای گسترده تبدیل کرده است.
طبق یافتههای Koi Security، WhiteCobra افزونههای مخربی با فرمت VSIX تولید میکند که بهدلیل توضیحات دقیق و download count جعلی، کاملاً معتبر بهنظر میرسند.
لیست افزونههای شناساییشده در کمپین جدید WhiteCobra
Open-VSX (Cursor/Windsurf):
- ChainDevTools.solidity-pro
- kilocode-ai.kilo-code
- nomic-fdn.hardhat-solidity
- oxc-vscode.oxc
- juan-blanco.solidity
- kineticsquid.solidity-ethereum-vsc
- ETHFoundry.solidityethereum
- JuanFBlanco.solidity-ai-ethereum
- Ethereum.solidity-ethereum
- juan-blanco.solidity
- NomicFdn.hardhat-solidity
- juan-blanco.vscode-solidity
- nomic-foundation.hardhat-solidity
- nomic-fdn.solidity-hardhat
- Crypto-Extensions.solidity
- Crypto-Extensions.SnowShsoNo
VS Code Marketplace:
- JuanFBlanco.awswhh
- ETHFoundry.etherfoundrys
- EllisonBrett.givingblankies
- MarcusLockwood.wgbk
- VitalikButerin-EthFoundation.blan-co
- ShowSnowcrypto.SnowShoNo
- Crypto-Extensions.SnowShsoNo
- Rojo.rojo-roblox-vscode
خالیسازیِ کیفپول با اجرای فایل اصلی (extension.js) آغاز میشود که بهگفته پژوهشگران تقریباً همان boilerplate پیشفرض «Hello World» است که همراه هر قالب افزونه VSCode عرضه میشود.
با این حال، یک فراخوان ساده وجود دارد که اجرای برنامه را به اسکریپت ثانویه (prompt.js) واگذار میکند. بارِ آلوده مرحله بعدی از Claudflare Pages دانلود میشود. این بارِ آلوده وابسته به پلتفرم است و نسخههایی برای Windows، macOS on ARM و macOS on Intel در دسترس است.
در Windows، یک اسکریپت PowerShell اسکریپت Python را اجرا میکند که به نوبه خود shellcode را اجرا میکند تا بدافزار LummaStealer را راهاندازی کند.
LummaStealer یک بدافزارِ استخراجاطلاعات است که هدف آن برنامههای کیفپول رمزارز، web extensions، اعتبارات ذخیرهشده در مرورگرها و دادههای برنامههای پیامرسان است.
در macOS، بارِ آلوده یک باینری مخرب Mach-O است که بهصورت محلی اجرا میشود تا یک خانواده بدافزاری نامشخص را بارگذاری کند.
مطابق playbook داخلی WhiteCobra، مجرمان سایبری اهداف درآمدی بین $۱۰,۰۰۰ تا $۵۰۰,۰۰۰ تعیین میکنند، راهنمای راهاندازی زیرساخت command-and-control (C2) را فراهم میسازند و استراتژیهای social engineering و تبلیغات/پروموشن را تشریح میکنند.
این موضوع تأیید میکند که گروه تهدید بهشکل سازمانیافته فعالیت میکند و از افشا یا takedown بازداشته نمیشود. بهگفته Koi Security، گروه WhiteCobra توانایی دارد ظرف کمتر از سه ساعت یک کمپین جدید را پیادهسازی کند.
پژوهشگران هشدار میدهند که وجود سازوکارهای احراز هویت و verification دقیقتر برای تفکیک افزونههای مخرب از افزونههای مشروع در repositories ضروری است، زیرا رتبهبندیها، تعداد دانلود و reviews میتوانند دستکاری شوند تا اعتماد کاذب ایجاد شود.
توصیههای عمومی هنگام دانلود افزونههای کدنویسی شامل بررسی نشانههای impersonation و typosquatting، و ترجیحاً استفاده از پروژههای شناختهشده با سابقه اعتماد مناسب است. در حالت کلی، باید نسبت به پروژههای جدیدی که در مدت کوتاه تعداد زیادی دانلود و positive reviews جمعآوری کردهاند، مشکوک بود.