شرکت امنیتی JFrog با انتشار یک گزارش رسمی، از شناسایی پکیجهای آلودهای در VS Code خبر داد که فرآیند مخرب خود را تنها با باز کردن پوشهٔ پروژه آغاز میکنند. این بدافزارها با سوءاستفاده از قابلیت تسکهای خودکار ادیتور، اطلاعات حیاتی سیستم را بدون نیاز به اجرای حتی یک خط کد به سرقت میبرد.
مهاجمان با نفوذ به پکیجهای پرکاربرد مخازن npm و Go، یک تسک پنهان به نام eslint-check را در پوشهٔ تنظیمات پروژه جای میدهند. eslint-check با گزینهٔ runOn: ‘folderOpen’ پیکربندی شده و بهمحض اینکه توسعهدهنده پوشهٔ آلوده را بهعنوان محیط کاری VS Code باز کند، کد مخرب بهطور خودکار اجرا میشود. برای دور زدن سیستمهای امنیتی، یک اسکریپت با پسوند woff2 وجود دارد که در قالب فونت معمولی سیستم، هویت خود را پنهان کرده است. پس از فعالسازی، بدافزار کدهای رمزگذاریشدهٔ بعدی خود را از طریق تراکنشهای بلاکچین دریافت میکند که با راهاندازی یک بکدور، مسیر را برای نفوذ نهایی هموار میسازد.
مهاجم در این مرحله یک بدافزار پایتونی پیچیده را روی دستگاه قربانی مستقر میکند که دسترسیهای زیر را هدف قرار میدهد:
- سرقت کدهای اعتبارسنجی Git
- لاگهای دسکتاپ GitHub و توکنهای API
- برداشت رمزهای عبور ذخیرهشده در مرورگرهای فایرفاکس و کروم
- دسترسی به کیف پولهای دیجیتال و کدهای تأیید هویت
آلودگی مخزن npm در قالب پکیجهایی مانند html-to-gutenberg و fetch-page-assets شناخته میشود که البته پاکسازی شدهاند. اما در اکوسیستم Go، حداقل ۱۶ پکیج رسمی آلوده شناسایی شده که به آخرین نسخهٔ رسمی این کتابخانه پیوست شده است. متخصصان JFrog به توسعهدهندگان توصیه میکنند تا پیش از باز کردن هرگونه پروژهٔ ناشناسی، پوشهٔ vscode و فایل tasks.json را برای یافتن دستورات خودکار بررسی کنند. همینطور بهتر است تا گزینهٔ اجرای خودکار تسکها در VS Code غیرفعال باشد و در صورت نصب پکیجهای مشکوک، تمام توکنهای گیتهاب و کلیدهای API تغییر یابد.
با گسترش ابزارهای خودکار توسعه، هکرها بهجای زیرساختهای عظبم، محیط لوکال توسعهدهندگان را بهعنوان سکوی حملات خود انتخاب کردهاند. این تغییر رویکرد نشان دهنده لزوم وجود تفکری استراتژیک، در نحوه ارزیابی و ممیزی آسیبپذیریهای امنیتی پروژه است.

