پژوهشگران امنیت سایبری از شناسایی افزونههای مخرب VS Code با نام Solidity Pro خبر دادهاند که برای سرقت کیف پولهای رمزارزی و اطلاعات احراز هویت کاربران مورد استفاده قرار گرفتهاند. بررسیها نشان میدهد این افزونههای مخرب VS Code در نسخههای مختلف، با دریافت و اجرای پیلودهای رمزگذاریشده و سپس تبدیلشدن به یک بدافزار رباینده اطلاعات (Infostealer)، طیف گستردهای از اطلاعات حساس شامل کیف پولهای رمزارزی، کلیدهای API، توکنهای دسترسی و کلیدهای خصوصی SSH را هدف قرار دادهاند.
افزونههای مخرب VS Code با نام Solidity Pro شناسایی شدند
پژوهشگران امنیت سایبری دو افزونه مخرب با نام Solidity Pro (solidity-pro) را شناسایی کردهاند که با شناسههای زیر منتشر شده بودند:
- helper-beeps.solidity-pro
- solidity-pro
هر دو افزونه در حال حاضر از Open VSX حذف شدهاند، اما مخزن گیتهاب مربوط به web3devtoolsx/solidity-pro همچنان در دسترس است.
بر اساس گزارش Yeeth Security، نسخههای اولیه این افزونهها، از 1.0.0 تا 2.4.x، برای دریافت و اجرای یک پیلود پایتون رمزگذاریشده با Endpointهای میزبانیشده روی ورکرهای کلودفلر (Cloudflare Workers) ارتباط برقرار میکردند. پس از دریافت پیلود، افزونه آن را رمزگشایی کرده و روی سیستم قربانی اجرا میکرد.
تبدیل Solidity Pro به بدافزار رباینده اطلاعات
قابلیتهای این افزونهها از نسخه 3.0.0 به بعد، تغییر کرد و آنها به یک بدافزار رباینده اطلاعات (Infostealer) تمامعیار تبدیل شدند. این بدافزار میتواند پروفایلهای مرورگر، کیف پولهای رمزارزی، توکنهای سامانههای کنترل نسخه، کلیدهای API، کلیدهای SSH و توکنهای رباتهای تلگرام را جمعآوری کند. دادههای سرقتشده نیز از طریق یک ربات تلگرام به زیرساخت مهاجمان ارسال میشوند.
افزونههای مخرب VS Code در این مرحله طیف گستردهای از اطلاعات حساس را هدف قرار میدهند، از جمله:
- توکنهای ghp_ و github_pat_ مربوط به گیتهاب
- توکنهای glpat- مربوط به گیت لب (GitLab)
- کلیدهای AWS و توکنهای نشست
- توکنهای cfat_ مربوط به کلودفلر
- کلیدهای OpenAI شامل sk-، sk-proj- و sk-ant-
- توکنهای رباتهای تلگرام
- عبارتهای بازیابی (Mnemonic و Seed Phrase) کیف پولهای رمزارزی
- اطلاعات ذخیرهشده کیف پول در متا ماسک (MetaMask)، فانتوم (Phantom)، ربی (Rabby)، کوینبیس (Coinbase)، تراست (Trust) و کپلر (Keplr)
- کلیدهای بیتکوین با فرمت WIF و xprv
- کلیدهای خصوصی SSH با برچسب PRIVATE KEY
- اطلاعات احراز هویت موجود در URLها و توکنهای احراز هویت چندعاملی (MFA Tokens) مربوط به 1Password
روشهای فرار از شناسایی افزونههای مخرب VS Code
این خانواده بدافزاری برای دور زدن بررسیهای مارکتپلیس (Marketplace)، اسکنهای ایستا و بررسیهای اولیه در سندباکس (Sandbox)، از مجموعهای از تکنیکهای فرار از شناسایی استفاده میکند. افزونههای مخرب VS Code با استفاده از مبهمسازی شدید کد (Heavy Obfuscation)، انتشار نسخههای ظاهراً سالم برای جلب اعتماد کاربران و فعالسازی تصادفی با تأخیر (Randomized Delayed Activation)، شناسایی کد مخرب را دشوار میکنند. در این روش، کد مخرب ممکن است چند ساعت یا حتی چند روز پس از نصب افزونه فعال شود.
به گفته Yeeth Security، زمانی که کد مخرب فعال میشود، کاربر پیشتر افزونه را نصب کرده و به آن اعتماد کرده است. از سوی دیگر، اسکنرهای خودکار که معمولاً هر پکیج را تنها برای چند دقیقه بررسی میکنند، تا آن زمان فرآیند اسکن را به پایان رساندهاند و دیگر در حال بررسی آن نیستند.
همچنین این شرکت توضیح داده است که مبهمسازی کد تنها با هدف دشوارکردن تحلیل آن انجام نمیشود در این تکنیک، رشتههای متنی در بخشهای مختلف جدولهای IIFE قرار داده میشوند و هنگام اجرای کد، دوباره به شکل اصلی خود بازمیگردند. علاوه بر این، نام متدها در نسخههای مختلف تغییر میکند تا سامانههای شناسایی مبتنی بر امضا نتوانند به یک الگوی ثابت برای شناسایی کد مخرب تکیه کنند.
شباهت کمپین Solidity Pro با فعالیتهای WhiteCobra
شرکت Yeeth Security اعلام کرده است که شیوه فعالیت مشاهدهشده در این کمپین، شباهت زیادی به الگوی عملیاتی WhiteCobra دارد. WhiteCobra در سپتامبر 2025 شناسایی شد و از افزونههای مخرب VS Code برای توزیع بدافزار رباینده اطلاعات Lumma استفاده میکرد.
سوءاستفاده مهاجمان از نام ابزارهای Solidity در اکوسیستمهای متنباز نیز سابقه دارد. Yeeth Security در ژوئن 2026، افزونهای با نام ethdevtools.solidity-language-support را شناسایی کرد که خود را بهعنوان ابزار پشتیبانی از زبان Solidity برای توسعهدهندگان اتریوم (Ethereum) معرفی میکرد، اما در واقع یک بدافزار رباینده محتوای کلیپبورد بود.
این بدافزار با استفاده از قابلیت فعالسازی با تأخیر، عبارتهای Seed مبتنی بر BIP-39، کلیدهای خصوصی اتریوم و آدرسهای کیف پول را هدف قرار میداد. علاوه براین، این بدافزار بهمحض شناسایی یک آدرس رمزارزی معتبر در کلیپبورد، محتوای آن را با آدرس کیف پول متعلق به مهاجم جایگزین میکرد.
این عملیات از طریق API رسمی vscode.env.clipboard.writeText انجام میشد و برای اجرای آن نیازی به ایجاد پردازه فرزند (Child Process)، برقراری ارتباط شبکه یا نوشتن فایل روی سیستم نبود. به همین دلیل، اسکنرهای ایستا که عمدتاً ایمپورتهای (Imports) مشکوک در Node.js را بررسی میکنند، ممکن بود این فعالیت را شناسایی نکنند.
گسترش حملات مخرب در اکوسیستم VS Code و npm
همزمان با شناسایی این کمپین، چندین افزونه مشکوک VS Code و پکیج npm دیگر نیز شناسایی شدهاند که نشان میدهد سوءاستفاده از زنجیره تأمین ابزارهای توسعه همچنان ادامه دارد. در این میان، افزونههای مخرب VS Code با روشهای مختلف، از اجرای کد مخرب گرفته تا دریافت پیلودهای از راه دور، توسعهدهندگان را هدف قرار دادهاند.
یکی از این نمونهها پکیج npm با نام ascii-fetcher است که کد مخرب را در وابستگی @jaymara/jsononifier قرار داده بود. این کد یک دستور جاسازیشده (Embedded Command) را رمزگشایی میکرد و در نمونه شناساییشده، calc.exe را از طریق child_process.exec و با استفاده از گزینه windowsHide اجرا میکرد؛ گزینهای که باعث میشود پنجره اجرای برنامه برای کاربر نمایش داده نشود.
در نمونهای دیگر، مجموعهای شامل 10 افزونه VS Code شناسایی شد که انواع دراپر مبتنی بر ویندوز، BAT، جاوااسکریپت (JavaScript) و HTA را توزیع میکردند. دو مورد از این افزونهها نیز یک وابستگی npm را در خود جای داده بودند که با استفاده از هوک پس از نصب (Postinstall Hook)، یک پیلود از راه دور را دریافت و اجرا میکرد.
افزونه دیگری با نام DigitalBarberTrim.html-entity-codec نیز در برخی نسخهها، پس از شناسایی نسخههای مبتنی بر VS Code مانند Cursor، Windsurf، Codium و Positron، یک فایل VSIX از راه دور را روی سیستم قربانی قرار میداد. این افزونه در برخی نسخههای دیگر، تنها یک نسخه ساده و تقریباً بدون محتوای قابلتوجه (Nearly Empty Stub) ارائه میکرد تا احتمال شناسایی فعالیت مخرب آن کاهش یابد.
همچنین افزونه Zlmiles.zlmiles-liquid که اکنون از مارکتپلیس VS حذف شده است، از یک کیت بیلدر (Builder Kit) مشکوک برای توزیع یک نصبکننده MSI استفاده میکرد. این نصبکننده روی دامنهای متعلق به Replit میزبانی شده بود.
توصیههای امنیتی برای مقابله با افزونههای مخرب
کاربرانی که این افزونهها را نصب کردهاند، باید آنها را حذف کرده و نمودار وابستگیهای پروژه را برای شناسایی وابستگیهای مشکوک و غیرمطمئن بررسی کنند. در این بررسی، افزونههای مخرب VS Code و وابستگیهایی که بدون دلیل مشخص یا بهصورت غیرعادی به پروژه اضافه شدهاند، باید با دقت بیشتری بررسی شوند.
همچنین توصیه میشود دامنههای شناختهشده فرماندهی و کنترل (C2) مسدود شوند و برای اجرای ابزارها و دستوراتی مانند cscript، mshta، cmd، curl و powershell، هشدار امنیتی (Alert) در نظر گرفته شود تا فعالیتهای مشکوک با سرعت بیشتری شناسایی شوند.













