حملهی Hades به PyPI: بدافزاری که خودش اجرا میشه
خلاصهٔ کاملتر
به گزارش این تحلیل، تیم تحقیقاتی Socket در تاریخ ۲۰۲۶-۰۶-۰۷ یه کمپین هماهنگِ زنجیرهی تأمین روی PyPI رو افشا کرده که اسمش رو Hades Cluster گذاشتن. مهاجمها تونستن روی ۱۹ پکیج معتبر — بیشترشون تو حوزهی تحقیقات علمی، بیوانفورماتیک و یادگیری عمیق — اختیار انتشار بهدست بیارن و در مجموع ۳۷ نسخهی آلوده (wheel) آپلود کنن. این کمپین به یه خانوادهی بزرگتر به اسم Miasma یا Mini Shai-Hulud مربوطه.
نکتهی اصلی و خطرناک این حمله، ترفند اجرای خودکارشه. به جای اینکه منتظر بمونه شما پکیج رو import کنین، بدافزار از رفتار startup خود پایتون سوءاستفاده میکنه: یه فایل پیکربندی مخفی با پسوند .pth رو داخل پوشهی پکیجها میذاره. پایتون این نوع فایلها رو موقع راهاندازی مفسر میخونه و اجرا میکنه، پس همین که مفسر پایتون تو یه محیط آلوده بالا بیاد، کد مهاجم خودکار اجرا میشه — حتی اگه اصلاً سراغ اون پکیج نرفته باشین.
بعد از فعال شدن، این قلاب startup میره و رانتایم Bun رو دانلود میکنه و یه دزد اطلاعات (credential stealer) رو راه میندازه. به گفتهی منبع، هدف این دزد، اسرار توسعهدهندههاست: توکنهای ابری AWS، GCP و Azure، توکنهای GitHub و npm، توکنهای PyPI، کلیدهای SSH و سکرتهای CI/CD. یعنی هر جایی که این پکیجها روی یه سیستم توسعه یا روی یه runner از GitHub Actions اجرا شن، باید کل اون محیط رو در معرض خطر جدی فرض کرد.
نویسنده توضیح میده دادههای دزدیدهشده چطور بیرون فرستاده میشن: بدافزار بهصورت خودکار مخزنهای جدیدی روی GitHub میسازه که توصیفشون عبارتهای مرتبط با تم Hades ـه (مثل جملهی «Hades - The End for the Damned») و دادهها رو اونجا آپلود میکنه. جالب اینکه برای پنهان کردن مسیر واقعی خروج داده، ترافیک طعمه (decoy) هم به سمت سرورهای Anthropic میفرسته تا کانال اصلی نشت رو ماسک کنه. اسمهای تماتیک دیگهای مثل cerberus، charon، thanatos و stygian هم بهعنوان شاخص تو این کمپین دیده شدن.
برای تشخیص آلودگی، چند تا نشانهی مشخص هست: وجود فایلی به اسم hades-setup.pth یا فایل _index.js، اجراهای پایتون که از طریق فایلهای .pth شروع شدن، و دیده شدن نسخههای آلودهی پکیجها (مثل bramin، coolbox، magique، magique-ai، pantheon-agents، ufish و بقیه) تو فایلهای قفل وابستگی مثل requirements.txt یا poetry.lock. پیدا شدن هر کدوم از این پکیجها تو لاکفایل یا کش محلی یعنی باید فرض کنین اعتبارنامههای اون محیط لو رفتن.
به گفتهی منبع، توصیهی اصلی برای واکنش روشنه: هر سیستم آلوده رو فوراً ایزوله کنین، همهی توکنهای ابری و VCS قابلدسترس رو بچرخونین (rotate)، پکیج آلوده رو حذف و محیط پایتون رو پاکسازی کنین، و لاگهای دسترسی پاییندستی رو بررسی کنین. حتی اگه نسخهی نصبشده تمیز باشه ولی اسم پکیج تو لیست آلودهها باشه، باید مطمئن شین هیچ wheel کششده یا تغییر محلی آلودهای کشیده نشده.
نکات کلیدی:
- کمپین Hades Cluster روی ۱۹ پکیج معتبر PyPI دست انداخته و ۳۷ نسخهی آلوده منتشر کرده
- بدافزار با فایلهای .pth به محض راهاندازی مفسر پایتون خودکار اجرا میشه، بدون نیاز به import
- بعد از اجرا رانتایم Bun رو دانلود میکنه و توکنهای ابری، GitHub، npm، PyPI و کلیدهای SSH رو میدزده
- دادهی دزدیدهشده به مخزنهای تازهساختهی GitHub با تم Hades میره و ترافیک طعمه به سمت سرورهای Anthropic فرستاده میشه
- نشانهها: فایل hades-setup.pth، فایل _index.js و وجود پکیجهای آلوده تو لاکفایل؛ واکنش: ایزوله، چرخش همهی توکنها و پاکسازی محیط




