أزالت مايكروسوفت إضافتين شائعتين من VSCode، وهما “Material Theme – Free” و “Material Theme Icons – Free”، من سوق Visual Studio Marketplace، بعد اكتشاف شفرة برمجية ضارة بداخلهما.
تحذيرات للمستخدمين وإيقاف تلقائي للإضافات
تُعتبر هاتان الإضافتان من بين الأكثر استخدامًا، حيث بلغ عدد عمليات تثبيتهما قرابة 9 ملايين مرة. ومع إزالة مايكروسوفت لهما، بدأ المستخدمون في تلقي إشعارات تفيد بتعطيلهما تلقائيًا في VSCode.
المطور Mattia Astorino، المعروف باسم equinusocio، هو المسؤول عن عدة إضافات على سوق VSCode، والتي بلغ مجموع عمليات تثبيتها أكثر من 13 مليون مرة.
باحثون أمنيون يكتشفون الشفرة الضارة
جاءت الأخبار حول وجود تعليمات برمجية خبيثة في الإضافات من قِبل الباحثين الأمنيين أميت أسراف وإيتاي كروك، اللذين يمتلكان خبرة في تحليل إضافات VSCode بحثًا عن البرمجيات الضارة.
في تقرير نُشر مؤخرا، أوضح الباحثون أنهم اكتشفوا شفرة مريبة داخل الإضافات وأبلغوا مايكروسوفت على الفور.
وفي منشور على منصة Hacker News، أكد موظف في مايكروسوفت قائلًا:
“لقد أزلنا الإضافتين من سوق VSCode وحظرنا المطور.”
وأضاف:
“أحد أعضاء المجتمع أجرى تحليلًا أمنيًا متعمقًا ووجد عدة مؤشرات خطيرة تشير إلى نية خبيثة، وأبلغنا بذلك. أكّد باحثونا الأمنيون صحة هذه الادعاءات، واكتشفوا شفرة برمجية مشبوهة إضافية.”
“قمنا بحظر المطور من سوق VS Marketplace، وإزالة جميع إضافاته، وإلغاء تثبيتها تلقائيًا من جميع إصدارات VS Code التي كانت تستخدمها.”
ملحوظة: لم يكن قرار الإزالة مرتبطًا بحقوق الطبع والنشر أو التراخيص، بل كان فقط بسبب الاشتباه في وجود نوايا خبيثة.
هل تعرضت الإضافات لهجوم عبر سلسلة التوريد؟
وفقًا للباحثين، فقد كشفت أدوات الفحص المتخصصة عن نشاط مشبوه في الشفرة المصدرية للإضافات. وأشار أميت أسراف إلى أن الشفرة الخبيثة ربما تم إدخالها عبر تحديث جديد، ما قد يدل على هجوم سلسلة التوريد عبر إحدى التبعيات، أو ربما تعرض حساب المطور للاختراق.
كما أوضح الباحثون أن الإضافات المخصصة للثيمات يجب أن تحتوي فقط على ملفات JSON ثابتة، وليس على تعليمات برمجية قابلة للتنفيذ، ما جعل هذا النشاط يبدو مريبًا منذ البداية.
تحليل الشفرة المشبوهة في الملفات
عند تحليل الملفات بواسطة BleepingComputer، تم العثور على ملف “release-notes.js” يحتوي على شفرة JavaScript معقدة ومشفرة بشدة، وهو أمر غير مألوف في البرمجيات مفتوحة المصدر ويعد علامة خطر.
التحليل الجزئي لفك التشفير أظهر إشارات إلى أسماء مستخدمين وكلمات مرور، لكن لم يتم التأكد من كيفية استخدامها بسبب التعقيد الكبير في التشفير.
رد فعل مايكروسوفت وإزالة جميع إضافات المطور
أكدت مايكروسوفت أنها ستصدر تقريرًا تفصيليًا حول الإضافة وأي نشاط خبيث تم اكتشافه، وذلك عبر مستودع VSMarketplace GitHub قريبًا.
وفي الوقت ذاته، قام المطور Mattia Astorino بالرد على هذه المزاعم، مشيرًا إلى أن المشكلة تعود إلى تبعية قديمة لمنصة Sanity.io والتي يبدو أنها تعرضت للاختراق.
وقال في تعليق له على مستودع VSMarketplace في GitHub:
“لم يتم تضمين أي شيء ضار داخل Material Theme، فقط كانت هناك تبعية قديمة لـ Sanity.io تم استخدامها منذ عام 2016 لعرض ملاحظات الإصدار.”
وأضاف:
“هذه التبعية اجتازت جميع الفحوصات الأمنية طوال هذه السنوات، لكنها الآن تبدو مخترقة، ومع ذلك، لم يتواصل معنا أحد من مايكروسوفت لإزالتها. بدلاً من ذلك، قاموا بحذف كل شيء مما تسبب في مشاكل لملايين المستخدمين.”
“إزالة التبعية القديمة كانت ستأخذ 30 ثانية فقط، لكن مايكروسوفت لم تمنحنا فرصة لإصلاحها.”
إزالة نسخة “Fanny Themes” البديلة
بعد الحظر، حاول المطور نشر إضافة جديدة تمامًا باسم “Fanny Themes” بدون أي تبعيات، لكن مايكروسوفت أزالتها أيضًا من سوق VSCode.
في حديثه مع BleepingComputer، كرر المطور موقفه قائلًا:
“ملف release-notes.js كان يستخدم منذ 2016 لإنشاء عرض ويب لملاحظات الإصدار عبر Sanity.io، ولم ألمسه منذ ذلك الوقت.”
“لم يكن هناك أي شيء ضار سوى تبعية @sanity القديمة التي تم اختراقها، لكني لم أكن على علم بذلك.”