مصاحبهٔ کاری جعلی با بدافزار توی git hook
خلاصهٔ کاملتر
شروع ماجرا یه پیام مستقیم در لینکدین بوده: یه نقش پایتون بهصورت دورکاری با حقوق پیشنهادی ماهی ۱۰ تا ۱۵ هزار دلار. نویسنده میگه همون اول چند پرچم قرمز دیده — رقم بالا و اینکه ریکروتر پیش از هر گفتوگویی عدد حقوق رو رو کرده — ولی چون اسم یه استارتاپ Y Combinator وسط بوده، با احتیاط ادامه داده. بعد از فرستادن رزومه، یه لینک گوگلدرایو شامل فایل فشرده و یه PDF دستورالعمل دریافت کرده که ظاهر کاملاً حرفهای داشته و بخشی از تسکهاش هم عملیات گیت بوده.
محتویات فایل فشرده در نگاه اول یه بکاند معمولی FastAPI با SQLAlchemy بوده و بررسی فایل وابستگیها هم هیچ بستهٔ تایپواسکوات یا مشکوکی نشون نداده. چیزی که ماجرا رو لو داده، عادت شخصی نویسنده بوده: اجرای tree -a روی هر پوشهٔ ناشناس برای دیدن مسیرهای مخفی. همونجا معلوم شده پوشهٔ .git پر از hookهای از پیش پیکربندیشدهست، از جمله pre-commit — یعنی همین که قربانی اولین دستور گیتِ خواستهشده در PDF رو اجرا کنه، اسکریپت فعال میشه.
منطق اون اسکریپت به گفتهٔ نویسنده ساده و بیسروصداست: اول سیستمعامل میزبان رو تشخیص میده، بعد بسته به اینکه مک، لینوکس یا ویندوز باشه، مرحلهٔ بعدی رو از یه سرور بیرونی میگیره و در پسزمینه و بدون هیچ خروجی روی صفحه اجرا میکنه. مرحلهٔ دوم یه فایل دیگه رو داخل پوشهٔ Documents کاربر میذاره، اجراییاش میکنه و با nohup طوری اجراش میکنه که حتی بعد از بستن ترمینال هم زنده بمونه.
مرحلهٔ سوم Node.js رو نصب میکنه، یه parser.js مبهمسازیشده و یه package.json میگیره، وابستگیها رو نصب میکنه و پارسر رو بیصدا اجرا میکنه. نکتهٔ جالب اینه که آدرس مرحلهٔ بعدی یه پارامتر شناسه داره و تغییر اون، اسکریپت متفاوتی برمیگردونه — یعنی مهاجمها برای هر قربانی شناسهٔ جدا و پیلود سفارشی دارن.
چون خود پارسر مبهمسازی شده بوده، نویسنده سراغ package.json رفته که ناچار باید JSON استاندارد باشه. فهرست وابستگیها به گفتهٔ او خودش گویاست: دسترسی به کلیپبورد با clipboardy، کار با فایلسیستم و پروسهها، و از همه عجیبتر hardhat که یه محیط توسعهٔ اتریومه. حدس نویسنده اینه که هدف، پیدا کردن و خالیکردن کیفپولهای ارز دیجیتال یا افزونههای مرورگر مرتبطه، نه ماینینگ.
بررسی تاریخچهٔ کامیتها هم نشون داده مهاجمها صرفاً یه ریپازیتوری عمومی بیگناه رو کلون کرده و پوشهٔ مخرب رو روش سوار کردن؛ اسم شرکت هم فقط برای معتبر جلوهدادن پیشنهاد استفاده شده بود.
نویسنده اضافه میکنه این یه کمپین گستردهست و نسخههای دیگهای هم دیده شده: مثلاً آرشیوهایی با پوشهٔ .vscode که دستورهای راهاندازی داخلش تنظیم شده، طوری که صرفاً باز کردن پوشه در ویرایشگر برای آلودهشدن کافیه. نکتهٔ عملیای که از تجربهاش میگیره اینه: مخزنی که از یه غریبه میگیری، فقط requirements.txt نیست؛ فایلهای مخفی و پیکربندی ابزارها هم بخشی از سطح حملهان و باید قبل از اجرای هر دستوری دیده بشن.
نکات کلیدی:
- تسک تیکهوم با حقوق غیرعادی و فشار برای اجرای دستورهای گیت، الگوی شناختهشدهٔ این کمپینه
- hookهای گیت داخل پوشهٔ .git با کلون یا کپی پروژه منتقل میشن و با اولین دستور اجرا میشن
- پیلود چندمرحلهایه: سیستمعامل رو تشخیص میده و در پسزمینه ماندگار میشه
- شناسهٔ اختصاصی در آدرس دانلود یعنی هر قربانی پیلود سفارشی خودش رو میگیره
- وابستگیهایی مثل کلیپبورد و ابزار توسعهٔ اتریوم به هدف سرقت کیفپول اشاره دارن
- نسخهٔ دیگری از حمله با پیکربندی .vscode فقط با باز کردن پوشه فعال میشه
- قبل از اجرای کد ناشناس، مسیرهای مخفی و پیکربندی ابزارها رو هم بازرسی کن




