هجوم جديد يستهدف أكثر من 6,000 مطور عبر إضافة “Ethcode” في Visual Studio Code

كشف باحثون في مجال الأمن السيبراني عن هجوم جديد على سلسلة التوريد استهدف إضافة “Ethcode” في محرر Visual Studio Code، والتي جرى تحميلها أكثر من 6,000 مرة. وبحسب شركة ReversingLabs، وقع هذا الاختراق من خلال طلب دمج (Pull Request) على GitHub قدّمه مستخدم باسم “Airez299” بتاريخ 17 يونيو 2025.

إضافة “Ethcode”، التي أُطلقت أول مرة في عام 2022 من قبل المطور “7finney”، تُستخدم لتطوير وتنفيذ العقود الذكية بلغة Solidity على سلاسل الكتل القائمة على آلة Ethereum الافتراضية (EVM). وتُعد EVM محركاً لامركزياً مصمماً لتشغيل العقود الذكية على شبكة Ethereum.

وكان آخر تحديث غير خبيث لمشروع “Ethcode” على GitHub في 6 سبتمبر 2024، إلا أن الطلب الأخير الذي حمل عنوان “تحديث حديث لقاعدة الكود عبر دمج viem وإطار اختبار” تضمن تغييرات ظاهرها تحسينات تقنية، كإضافة إطار اختبار Mocha وتحديث التبعيات، لكنه أخفى بين أكثر من 4,000 سطر برمجي سطرين خبيثين أسفر عنهما اختراق الإضافة بالكامل.

نسخ متعددة عبر حسابات npm وهمية بأسماء مثل 0xlab و0xlabss و1xlab

التعديل الخبيث تضمّن إضافة تبعية خبيثة تُدعى “keythereum-utils” في ملف package.json واستدعاءها في ملف TypeScript الأساسي للإضافة. هذه المكتبة، التي تم حذفها لاحقاً من سجل npm، كانت مشفّرة بشكل كبير وتحتوي على كود لتحميل حمولة ضارة من مرحلة ثانية عبر PowerShell مخفي، من خدمة استضافة ملفات عامة.

وقد تبيّن أن المكتبة أُرفقت بنسخ متعددة عبر حسابات npm وهمية بأسماء مثل 0xlab و0xlabss و1xlab، والتي تم حذفها لاحقاً. وقد بلغ عدد مرات تحميل هذه الحزمة 495 مرة.

وأوضح الباحث الأمني “Petar Kirhmajer” أنه بعد فك تشفير الكود، اتضح أن السكربت ينشئ جلسة PowerShell خفية لتحميل وتنفيذ ملف دفعي خبيث. ورغم عدم تحديد طبيعة الحمولة الثانية بدقة، يرجّح أنها مخصصة لسرقة أصول العملات المشفرة أو تلويث العقود الذكية التي يعمل عليها المطورون.

 إلغاء نشر حزمة Ethcode بعد اكتشاف تبعية خبيثة

وعقب الكشف المسؤول عن الثغرة، أزالت مايكروسوفت الإضافة من سوق إضافات Visual Studio Code، ثم أعادت نشرها بعد حذف التبعية الخبيثة. وقال أحد القائمين على المشروع في طلب تحديث جديد بتاريخ 28 يونيو: “مايكروسوفت قامت بإلغاء نشر حزمة Ethcode بعد اكتشاف تبعية خبيثة. هذا التحديث يزيل مكتبة keythereum المحتملة التهديد من المشروع.”

تُعد هذه الحادثة مثالاً على تصاعد الهجمات على سلاسل توريد البرمجيات، حيث يستغل المهاجمون ثقة المطورين في مستودعات مفتوحة مثل npm وPyPI لزرع برمجيات خبيثة في بيئات التطوير.

وأشارت ReversingLabs إلى أن حساب GitHub الذي استخدمه Airez299 أُنشئ في نفس يوم تقديم طلب الدمج، دون أي نشاط سابق، ما يعزز فرضية أنه حساب مؤقت أُنشئ خصيصاً لتنفيذ هذا الهجوم.

تضاعفت نسبة البرمجيات التي تستهدف إتلاف البيانات

وتعكس الإحصاءات الأخيرة مدى اتساع هذا التهديد، إذ سجّلت Sonatype اكتشاف 16,279 برمجية خبيثة مفتوحة المصدر خلال الربع الثاني من 2025، بزيادة 188% مقارنة بالعام الماضي، بينما تم اكتشاف 17,954 حزمة في الربع الأول من العام ذاته. من بين هذه الحزم، أكثر من 4,400 حزمة صممت لسرقة البيانات الحساسة مثل بيانات الاعتماد والرموز السرية.

كما تضاعفت نسبة البرمجيات التي تستهدف إتلاف البيانات لتصل إلى 3% من الإجمالي، أي أكثر من 400 حزمة خبيثة فريدة تسعى لتدمير الملفات أو حقن كود خبيث أو تخريب التطبيقات والبنى التحتية.

وارتبطت مجموعة “Lazarus” الكورية الشمالية بـ107 حزم خبيثة جرى تحميلها أكثر من 30,000 مرة، بينما ارتبط أكثر من 90 حزمة npm بمجموعة صينية تُدعى Yeshen-Asia تنشط منذ ديسمبر 2024 وتستهدف جمع بيانات النظام وقوائم العمليات الجارية.

ويؤكد هذا التوجه تصاعد مستوى الاحتراف والاعتماد على أدوات الأتمتة واستغلال البنية التحتية المحمية بخدمات مثل Cloudflare، حيث يستخدم كل حساب مؤلف حزمة خبيثة واحدة فقط، وتواصل جميعها مع نطاقات مرتبطة بـ yeshen.asia.

في سياق متصل، اكتشفت شركة Socket ثماني إضافات مزيفة على متجر إضافات Mozilla Firefox تتعلق بالألعاب، وتتنوع خطورتها ما بين برامج إعلانية وسرقة رموز Google OAuth، إلى إعادة توجيه نحو مواقع قمار أو عرض تحذيرات وهمية، إضافة إلى تتبع المستخدمين عبر عناصر غير مرئية تحتوي على معرفات فريدة.

وحذّر الباحث “Kush Pandya” من خطورة الإضافات البرمجية قائلاً: “لا تزال الإضافات متصفحاً مفضلاً للهجمات بسبب صلاحياتها الواسعة وإمكانية تنفيذها ضمن سياق أمان المتصفح. وقد تطورت هذه التهديدات بسرعة من مجرد عمليات إعادة توجيه إلى سرقة بيانات اعتماد OAuth.”

محمد وهبى
محمد وهبى
المقالات: 353

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.