شهد مجتمع Arch Linux AUR هذا الأسبوع واحدة من أكبر الهجمات على سلسلة التوريد، حيث استولى المهاجمون على أكثر من 400 حزمة وأعادوا كتابة ملفات البناء الخاصة بها لتثبيت برمجية خبيثة مكتوبة بلغة Rust. هذه البرمجية تعمل كـ Infostealer لجمع بيانات الاعتماد من أجهزة المطورين، وفي حال حصولها على صلاحيات الجذر يمكنها تحميل eBPF Rootkit لإخفاء نفسها عن أدوات المراقبة التقليدية.
أسلوب الاختراق: تبني الحزم المهجورة
الهجوم لم يعتمد على ثغرات أو استغلالات مباشرة، بل استغل نموذج الثقة في AUR. فقد قام المهاجمون بتبني الحزم المهجورة، ثم تعديل ملفات PKGBUILD وملفات التثبيت لإضافة أوامر خبيثة مثل npm install atomic-lockfile. هذا الأمر يجلب حزمة npm مزيفة تحمل ملف ELF باسم “deps”، والذي ينفذ مباشرة أثناء عملية البناء. تم رصد أمثلة مؤكدة مثل حزم alvr وpremake-git.
قدرات البرمجية الخبيثة
التحليل العكسي أظهر أن البرمجية تستهدف بيئات المطورين بشكل مباشر، حيث تجمع:
- بيانات المتصفحات المبنية على Chromium مثل Chrome وEdge وBrave.
- جلسات تطبيقات Electron مثل Slack وDiscord وTeams.
- رموز GitHub وnpm وHashiCorp Vault، إضافة إلى بيانات اعتماد OpenAI/ChatGPT.
- مفاتيح SSH وسجلات الأوامر.
- بيانات Docker وPodman وملفات VPN.
يتم إرسال البيانات المسروقة عبر HTTP إلى خدمة temp.sh، بينما يتم التحكم عن بعد عبر خدمة Tor مخفية. وللاستمرارية، تنشئ البرمجية خدمة systemd تعمل دائمًا، سواء على مستوى النظام أو المستخدم.
الجذرية eBPF والقدرات الإضافية
رغم أن بعض التقارير بالغت في وصف الجذرية، إلا أنها اختيارية وتُفعّل فقط عند امتلاك صلاحيات الجذر. عند تفعيلها، تخفي العمليات والاتصالات باستخدام خرائط BPF مثل hidden_pids وhidden_names، وتمنع أدوات التصحيح من الارتباط بالعملية. كما تم رصد ملف ثانٍ مرتبط بـ monero-wallet-gui يُشتبه بأنه مُعدّن للعملات الرقمية.
الموجة الثانية واتساع النطاق
xبعد الموجة الأولى التي استخدمت atomic-lockfile، ظهرت موجة ثانية عبر bun install js-digest، مرتبطة بنفس الناشر في npm. هذه الموجة حملت حمولة مختلفة لكنها بنفس الهدف: سرقة بيانات المطورين. عدد الحزم المتأثرة تجاوز 400 وفقًا لقوائم المجتمع، وما زال الحصر مستمرًا.
توصيات للمستخدمين والمطورين
♦التحقق من أي حزمة AUR تم تثبيتها أو تحديثها بعد 11 يونيو عبر القوائم المجتمعية.
البحث في سجلات البناء عن أوامر مثل npm install atomic-lockfile أو bun install js-digest.
♦إذا تم تشغيل الحزمة، يجب اعتبار الجهاز مخترقًا: تدوير جميع بيانات الاعتماد (SSH، GitHub، npm، Docker، Vault، إلخ).
♦فحص خدمات systemd غير المعروفة وملفات /var/lib/ وخرائط BPF في /sys/fs/bpf/.
♦إذا كان التنفيذ بصلاحيات الجذر، يجب إعادة تثبيت النظام من وسائط موثوقة.
قراءة ملفات PKGBUILD قبل البناء، خصوصًا للحزم التي تم تبنيها حديثًا أو عادت للنشاط بعد فترة طويلة من الخمول.
الدرس الأوسع: الثقة ليست كافية
الهجوم يوضح أن نموذج الثقة في AUR، الذي يعتمد على اسم الحزمة وتاريخها، لم يعد كافيًا. تبني الحزم المهجورة أصبح وسيلة فعالة للهجمات، ما يستدعي إعادة النظر في آليات التحقق والمراجعة داخل المجتمعات مفتوحة المصدر.






























