محققان امنیت سایبری پرده از یک حمله تهاجمی برداشته‌اند که طی آن، مهاجمان با هک حساب یک توسعه‌دهنده قانونی در گیت‌هاب و تزریق گردش‌کارهای مخرب به مخازن او، زیرساخت توزیع‌شده‌ای برای هدف قرار دادن سرورهای cPanel و WebHost Manager (WHM) ساخته‌اند. این کمپین که شرکت امنیتی Socket آن را کشف کرده، نشان می‌دهد چگونه ابزارهای اتوماسیون توسعه نرم‌افزار می‌توانند به زیرساخت حمله تبدیل شوند.

سرآغاز کمپین: هک ۱۰ بسته Packagist

این فعالیت مخرب طی ۱۲ و ۱۳ ژوئیه ۲۰۲۶ رخ داد و شامل تزریق نسخه‌های توسعه (dev) مخرب به ۱۰ بسته Packagist مرتبط با توسعه‌دهنده قانونی PHP و DevOps با نام dinushchathurya بود. بسته‌های هدف‌قرارگرفته شامل موارد زیر بودند:

  • dinushchathurya/nationality-list
  • dinushchathurya/srilankan-divisional-secretariats
  • dinushchathurya/srilankan-gn-divisions
  • dinushchathurya/srilankan-local-authorities
  • dinushchathurya/srilankan-mobile-number-validator
  • dinushchathurya/srilankan-state-hospitals
  • dinushchathurya/srilankan-universities
  • dinushchathurya/uk-mobile-number-validator
  • dinushchathurya/uk-post-code
  • dinushchathurya/websmslk

Socket در بیانیه‌ای تأکید کرد که کتابخانه‌های PHP مسیر اجرای حمله نبودند؛ بلکه مهاجمان ده‌ها گردش کار (workflow) مخرب GitHub Actions را به مخازن کد منبع توسعه‌دهنده هک‌شده اضافه کرده بودند. این رویکرد نشان می‌دهد مهاجمان به‌جای آلود کردن مستقیم سیستم کاربران بسته‌ها، از زیرساخت خود گیت‌هاب برای اجرای حملات استفاده کرده‌اند.

نمونه‌ای از گردش‌کار مخرب GitHub Actions در مخازن هک‌شده

مکانیزم نفوذ و اسکن سرورهای آسیب‌پذیر

این گردش‌کارها پس از فعال‌سازی با یک ارسال (push) به مخزن یا اجرای دستی، رانرهای میزبانی‌شده در گیت‌هاب (GitHub-hosted runners) را راه‌اندازی می‌کنند. سپس یک بار حجم (payload) لینوکس از زیرساخت کنترل‌شده توسط مهاجم دانلود شده و اسکن سرورهای آسیب‌پذیر cPanel و WHM آغاز می‌شود. این اسکن‌ها هدفشان شناسایی سرورهای در معرض CVE-2026-41940 است؛ یک آسیب‌پذیری دور زدن احراز هویت که به مهاجمان راه‌دور اجازه می‌دهد کنترل سطح بالایی از پنل مدیریت را به دست آورند.

بار حجم پس از دور زدن احراز هویت، به جمع‌آوری گسترده‌ای از اطلاعات حساس می‌پردازد. این اطلاعات شامل اعتبارنامه‌ها، فایل‌های پیکربندی، متغیرهای محیطی، دسترسی‌های پایگاه داده، اطلاعات SSH، توکن‌های Git، کلیدهای ابری، اعتبارنامه‌های خدمات پرداخت و سایر اسرار ارزشمند است.

جزئیات فنی گردش‌کارهای مخرب

کیریل بوچنکو، پژوهشگر Socket، توضیح داد که بین ۱۲ و ۱۳ ژوئیه ۲۰۲۶، Packagist به‌طور خودکار نسخه‌های توسعه مخرب را در هر ده بسته مرتبط با توسعه‌دهنده هک‌شده همگام‌سازی کرد. این همگام‌سازی بازتاب‌دهنده تغییراتی بود که بازیگر تهدید به مخازن GitHub توسعه‌دهنده ارسال کرده بود.

بررسی‌ها نشان داد که هر یک از نسخه‌های توسعه‌یافته آسیب‌دیده حاوی ۵۵ تا ۶۲ فایل گردش‌کار مخرب GitHub Actions است که در مجموع ۵۸۳ فایل برای هر ده نسخه بسته به جا می‌آورد. فایل‌های خودکارساز YAML در این مجموعه وظایف زیر را انجام می‌دهند:

  • راه‌اندازی رانرهای میزبانی‌شده در گیت‌هاب هنگام دریافت push یا اجرای دستی گردش کار
  • شناسایی معماری پردازنده هر رانر (x86 ۳۲-بیت و ۶۴-بیت، ARM ۳۲-بیت و ۶۴-بیت)
  • دانلود بار حجم لینوکس سازگار از سرور فرمان و کنترل (C2) با آدرس 43.228.157[.]68
دیاگرام ارتباط مهاجمان با سرور C2 و جمع‌آوری اعتبارنامه‌ها

بوچنکو افزود: «این گردش‌کارها به‌طور مداوم وضعیت اجرا را به بازیگر تهدید گزارش می‌دهند و نتایج جدید جمع‌آوری‌شده را از طریق درخواست‌های HTTP POST آپلود می‌کنند.» فایل‌های خروجی که مهاجمان پایش می‌کنند شامل موارد زیر است:

  • اعتبارنامه‌های AWS
  • توکن‌های GitHub و GitLab
  • اعتبارنامه‌های API گوگل و OpenAI
  • کلیدهای Stripe
  • اعتبارنامه‌های Mailgun و SendGrid
  • اطلاعات پایگاه داده و داده‌های SSH
  • Git remotes و نتایج اجرای کد از راه دور

وسعت کمپین فراتر از یک توسعه‌دهنده

برخلاف سایر کمپین‌های بسته‌های مخرب سنتی که به سیستم کاربران بسته‌ها متکی هستند، این فعالیت جدید روی رانرهای میزبانی‌شده در گیت‌هاب اجرا می‌شود. این یعنی مهاجمان از GitHub Actions به‌عنوان موتور محرک یک کمپین نفوذی برای جستجوی سرورهای آسیب‌پذیر cPanel و WHM سوءاستفاده کرده‌اند.

نشانه‌ها حاکی از یک کمپین بسیار گسترده‌تر است که از یک توسعه‌دهنده PHP فراتر می‌رود. بررسی‌ها نشان می‌دهد حدود ۶۱۰۰ فایل گردش‌کار میزبانی‌شده در گیت‌هاب حاوی یک شناسه DNSHook یکتا با مقدار f5b0b742-240a-4811-8a5b-b0ba6060685d هستند. این شناسه مشترک نشان می‌دهد مهاجمان از یک الگوی واحد و خودکارسازی‌شده برای گسترش حملات خود در صدها مخزن استفاده کرده‌اند.

Socket این کمپین را موردی از «عملیات فرصت‌طلبانه سرقت اعتبارنامه در سمت سرور» توصیف کرد. مهاجمان می‌توانند از داده‌های سرقتی برای نفوذهای بعدی یا مسیرهای کسب درآمد استفاده کنند و زنجیره‌ای از حملات زنجیره‌ای را ایجاد نمایند.

زنگ خطر برای توسعه‌دهندگان و مدیران سرور

همزمان با این افشاگری، Socket جزئیات کمپین دیگری با نام رمز Operation Muck and Load را نیز منتشر کرد که از شبکه‌ای متشکل از ۲۰۰ مخزن GitHub در ۱۹۰ حساب کاربری برای تحویل بدافزارها استفاده می‌کند. این دو کمپین نشان می‌دهند که زیرساخت‌های توسعه نرم‌افزار و پلتفرم‌های میزبانی کد، اهداف جذابی برای مهاجمان شده‌اند.

مدیران سرورهای cPanel و WHM باید فوراً نسخه‌های نرم‌افزاری خود را بررسی کرده و پچ‌های امنیتی مربوط به CVE-2026-41940 را اعمال کنند. توسعه‌دهندگان نیز باید گردش‌کارهای GitHub Actions موجود در مخازن خود را برای شناسایی فایل‌های YAML مشکوک و شناسه DNSHook ذکرشده بررسی نمایند. امنیت زنجیره تأمین نرم‌افزار دیگر صرفاً یک نگرانی ثانویه نیست؛ بلکه خط مقدم دفاع سایبری در برابر حملات پیچیده و خودکارسازی‌شده محسوب می‌شود.