هکرها اخیرا پروژههای GitHub را توسط کامیتهای مخرب ( Commit یک نسخه مستقل از پروژه گیت هاب است که به تمامی فایلها و پوشههایی که بخشی از آن نسخه هستند، اشاره دارد) و درخواستهای pull مورد هدف قرار دادهاند تا بکدورهای خود را به این پروژهها تزریق کنند.
مخزن گیت هاب Exo Labs، یک استارتآپ هوش مصنوعی و یادگیری ماشین، اخیراً هدف این حمله قرار گرفته است. این حملات یادآور حمله جذاب xz Utils میباشد که در بهار 2024 رخ داده است.
الکس چیما، یکی از بنیانگذاران آزمایشگاههای EXO، بیست و هشتم نوامبر ۲۰۲۴ در یک بیانیه عمومی در خصوص تغییرات ایجاد شده در مخزن کد GitHub EXO، هشدار داد.
درخواست pull با عنوان ” clarify mlx requirement for deepseek models” یا ” روشن کردن الزامات mlx برای مدلهای deepseek [1]” تلاش میکند تا فایل پایتونی models.py را در کد بیس Exo با افزودن دنبالهای از اعداد به آن، تغییر دهد.
هر یک از این اعداد یک کاراکتر یونیکد هستند، به این معنا که کد پایتون به سادگی به معادل عددی خود تبدیل میشود.
همانطور که مشخص شد، این دنباله از کاراکترها در نهایت به کد زیر تبدیل میشوند (URL تغییر کرد):
قطعه کد نسبتاً پیچیده سعی میکند به evildojo(.)com متصل شود و پیلود “stage1” را دانلود کند. چناچه تغییر کد، تایید و در مخزن رسمی EXO ادغام میگردید (که نگردید)، هر کسی که از برنامه استفاده میکند آنگاه میتوانست کد را از راه دور توسط URL در سیستم خود اجرا کند و یک بکدور کاربردی مستقر نماید.
لینک درخواست pull در حال حاضر تنها منجر به خطای 404 میشود. به گفته افرادی که سعی در دسترسی به این URL داشتند، هرگز محتوایی در این آدرس وجود نداشته است! اینجاست که کار مشکل میشود و هیچ پاسخ قاطعی در دست نیست.
به نظر میرسد این کامیت از جانب یک کاربر GitHub به نام “evildojo666” ارسال شده که به تازگی اکانت او حذف شده است.
صفحه آرشیو (از سایت archive.md) برای این نام کاربری در GitHub و دامنه evildojo(.)com به مایک بل، محقق امنیتی، هکر اخلاقی و مهندس نرم افزار مستقر در تگزاس اشاره دارد که البته او هرگونه ارتباطی با این کامیتها را رد کرده است.
مایک بل در شبکه اجتماعی X ادعا کرده است که شخصی با جعل هویت او، این کدهای مخرب را ارسال کرده است تا وجهه او را تخریب کند.
در این ماجرا میتوان حق را به مایک بل داد چرا که هر کسی میتواند با استفاده از جزئیات و عکس پروفایل شخص دیگری، یک اکانت GitHub ایجاد کند و شروع به ارسال تغییرات کد و درخواستها به پروژهها نماید.
یکی دیگر از اکانتهای حذف شده از گیت هاب، “darkimage666” میباشد که توسط یک پلتفرم تجزیه و تحلیل بدافزار و مهندسی معکوس شناسایی شده است. این اکانت همچنین جعل هویت Bell بود و به نظر میرسید که هدف از این اکانت نیز تلاش برای توزیع بکدورهای ناشی از کامیتها به پروژههای منبع باز میباشد.
شواهد حاکی از آن است که علاوه بر Exo Labs، دیگر مخازن گیت هاب نیز با استفاده از کامیتهای مخرب مورد حمله قرار گرفتهاند و مهاجمان بیش از دو اکانت دارند.
به عنوان مثال، پروژه محبوب yt-dlp به روشی مشابه مورد حمله قرار گرفته است. متخصصان Malcore در حال حاضر حداقل 18 درخواست pull را با هدف نفوذ به برخی پروژهها کشف کردهاند. بسیاری از اکانتهای مرتبط با این کامیتها اکنون حذف شده اند، اما ردپای آنها به اندونزی منتهی میشود.
[1] Deepseek Coder یک ابزارهوش مصنوعی برای شناسایی و رفع خطاهای برنامهنویسی طراحی شده است. این ابزار از زبانهای برنامهنویسی رایج مانند Python، Java، C++ و… پشتیبانی و مشکلات کدنویسی را به سرعت شناسایی میکند.