لم يعد التصيد الإملائي مجرد احتيال على السذج الذين يخطئون في كتابة عنوان URL. الآن، يقوم المهاجمون بتسجيل أسماء نطاقات شبه متطابقة مع مكتبات البرامج الشائعة. عندما يرتكب مطور خطأً إملائيًا أثناء تثبيت حزمة، يقوم نظام التكامل المستمر الخاص به بتنزيل تعليمات برمجية ضارة دون أن يلاحظها أحد. تتصاعد المشكلة من مستخدم واحد إلى سلسلة التوريد بأكملها.
كيف يستغل المهاجمون العمليات الآلية 🔍
ينشر المهاجمون حزمًا في المستودعات العامة مثل npm أو PyPI بأسماء مثل requets بدلاً من requests. أدوات CI/CD، التي تنفذ عمليات التثبيت دون إشراف بشري، هي الهدف المثالي. نظرًا لعدم التحقق من كل تبعية، يقوم النظام بتنزيل الحزمة الضارة. بمجرد دخولها، يمكن للتعليمات البرمجية سرقة بيانات الاعتماد، أو حقن أبواب خلفية، أو تعديل الملف الثنائي النهائي. الكشف معقد لأن الاسم شبه مطابق للاسم الشرعي.
المطور الذي أخطأ في الكتابة ونشر بابًا خلفيًا 🛠️
تخيل مطورًا نعسانًا يكتب pip install collerful-stuff بدلاً من colorful-stuff. يقبل نظام CI الخاص به ذلك بسعادة، دون أن يسأل. يتم تثبيت الحزمة الضارة، وتحيي المهاجم، وتفتح له شبكة VPN خاصة إلى قاعدة بيانات الإنتاج. كل ذلك بسبب اختلاف حرف واحد. الأسوأ هو أن المطور يلوم لوحة المفاتيح، لكن المذنب الحقيقي هو النظام الذي يثق بشكل أعمى في أي اسم يشبه الاسم الصحيح.