بازگشت GhostAction؛ ورکفلوهای سارق اعتبارنامه در دهها هزار مخزن گیتهاب کاشته شدند
اخبار داغ فناوری اطلاعات و امنیت شبکهبیش از ۵۰۰ حساب کاربری، یک ورکفلوی مخرب و یک آدرس IP ثابت
پژوهشگران امنیتی از ادامه یک کمپین سرقت اعتبارنامه خبر دادهاند که در آن، حسابهای دو نگهدارنده شناختهشده پروژههای متنباز بهخطر افتاده و از آنها برای کاشتن یک ورکفلوی مخرب در بیش از ۳۴۰ مخزن استفاده شده است. بر اساس گزارش شرکت Socket، تا تاریخ ۹ اکتبر ۲۰۲۶، بیش از ۵۰۰ حساب گیتهاب شناسایی شدهاند که از ۷ اکتبر به این سو، این ورکفلوی مخرب را در دهها هزار مخزن ثبت (Commit) کردهاند.
دو حساب پرنفوذ، دو موج حمله در یک روز
شرکت StepSecurity جزئیات نخستین موجها را اینگونه شرح داده است:
- موج نخست: با استفاده از حساب تاکاشی کیتائو، نویسنده موتور بازیسازی پرطرفدار pyxel (با ۱۸٬۴۰۰ ستاره)، مهاجم از ساعت ۱۳:۲۰ به وقت جهانی، ورکفلوی مخرب را در ۲۷ مخزن قرار داد.
- موج دوم: هشت ساعت بعد، با استفاده از حساب هنری وو (henrywoo)، نویسنده اصلی کتابخانه athenadriver شرکت اوبر، همان ورکفلو در بازهای تنها ۱۶ دقیقهای (از ۲۱:۱۰ تا ۲۱:۲۶) در ۳۱۸ مخزن منتشر شد.
GhostAction چیست؟ بازگشت یک کمپین شناختهشده
این فعالیت به کمپین GhostAction نسبت داده شده؛ یک حمله گسترده زنجیره تأمین نرمافزار که نخستین بار در سپتامبر ۲۰۲۵ آشکار شد. آن کمپین، ۸۱۷ مخزن متعلق به ۳۲۷ کاربر گیتهاب را تحت تأثیر قرار داد و به استخراج ۳٬۳۲۵ راز (Secret)، از جمله توکنهای PyPI، npm و DockerHub، از طریق حسابهای توسعهدهندگان بهخطرافتاده منجر شد.
مانند دفعه قبل، هر دو حساب بهخطرافتاده، یک ورکفلو را منتشر کردهاند که نام آن «Security Audit» (فایل security-audit.yml) یا «GitHub Actions Security» (فایل github_actions_security.yml) است. این ورکفلوها طراحی شدهاند تا دادههای حساس را از طریق HTTP ساده (بدون رمزنگاری) به یک آدرس IP ثابت و کدگذاریشده (193.32.204[.]199) ارسال کنند.
چه چیزی سرقت میشود؟
دادههای برداشتشده شامل رازهای نامگذاریشده GitHub Actions (از جمله رازهای CI/CD) و اعتبارنامههای ابری، هوش مصنوعی و SaaS موجود در درخت کاری و کل تاریخچه گیت هستند؛ از جمله:
- کلیدهای AWS
- کلیدهای API سرویسهای هوش مصنوعی مانند Anthropic، OpenAI و OpenRouter
- توکنهای گیتهاب و گیتلب
زنجیره حمله، گامبهگام
کل این زنجیره حمله به این شکل رخ میدهد:
۱. مهاجم اعتبارنامههای گیتهاب یک نگهدارنده را به دست میآورد؛ بهاحتمال زیاد یک توکن دسترسی شخصی (PAT) نشتکرده از لاگهای بدافزارهای سارق اطلاعات یا مجموعههای دادههای افشاشده.
۲. در یک مرحله شناسایی، فایلهای ورکفلوی مخزن برای یافتن رازها اسکن میشوند.
۳. ورکفلویی که خود را بهعنوان یک «ممیزی امنیتی» جا میزند، با هویت خود قربانی، به شاخه پیشفرض مخزن تزریق میشود.
۴. بار مخرب جاسازیشده، دادهها را استخراج کرده و از طریق curl به یک نقطه پایانی تحت کنترل مهاجم میفرستد.
درون ورکفلو چه میگذرد؟
به گفته StepSecurity، این ورکفلو هم با رویداد workflow_dispatch و هم با هر Push بدون فیلتر (روی هر شاخه یا برچسب) فعال میشود، با گزینه fetch-depth: 0 مخزن را کامل دریافت میکند و یک مرحله واحد با نام «Audit» اجرا میکند که چهار کار انجام میدهد:
- رازهای نامگذاریشده مخزن را که در مرحله شناسایی یافته شدهاند، به دادهها اضافه میکند
- درخت کاری را برای ۱۳ الگوی اعتبارنامه مرتبط با کلیدهای AWS، سرویسهای هوش مصنوعی، سرویسهای کنترل نسخه، و کلیدهای API ابری و SaaS اسکن میکند
- کل تاریخچه گیت را برای همان ۱۳ الگو بررسی میکند تا اعتبارنامههایی را که ممکن است سهواً ثبت و سپس حذف شده باشند، جمعآوری کند
- شناسههای کلید دسترسی AWS را با کلیدهای مخفی متناظرشان جفت میکند
آمار GitGuardian: ۷۷۲ مخزن و ۲٬۵۷۷ راز هدف
شرکت GitGuardian در اوایل همین هفته گزارش داده بود که کمپین GhostAction، ورکفلوی مخرب را در فاصله ۳۱ اوت تا ۳۰ سپتامبر ۲۰۲۶، در ۷۷۲ مخزن عمومی متعلق به ۳۷۳ کاربر و سازمان گیتهاب منتشر کرده است.
این ورکفلوهای تزریقشده، ۲٬۵۷۷ راز را هدف گرفتهاند؛ از جمله:
- کلیدهای خصوصی SSH
- اعتبارنامههای Azure
- اعتبارنامههای رجیستری کانتینر DockerHub و GHCR
- اعتبارنامههای پایگاه داده
- کلیدهای دسترسی AWS
- اعتبارنامههای FTP
- اعتبارنامههای Google Cloud و Firebase
- توکنهای گیتهاب
- توکنهای رباتهای تلگرام، Slack و Discord
- کلیدهای مرتبط با Cloudflare، npm، PyPI و ارائهدهندگان هوش مصنوعی
یک نمونه: ماینر مونرو در تصویر داکر
در دستکم یک مورد مشاهدهشده در ۳۰ اوت ۲۰۲۶، عوامل تهدید مخزن kuafuai/DevOpsGPT را دستکاری کرده و یک ماینر ارز دیجیتال XMRig را درون تصویر داکر این پروژه جاسازی کردهاند. تا زمان نگارش گزارش، هیچ انتشار بسته مخربی با استفاده از اعتبارنامههای انتشار بهخطرافتاده گزارش نشده است.
خطر فورکها: آلودگی که به پاییندست منتقل میشود
Socket هشدار داده فورکها نیز در معرض خطر هستند: «۲۷۹ فورک در فضای نام henrywoo، هرکدام فایل ورکفلو را در خود دارند. اگر Actions فعال باشد، Pushهای بعدی میتوانند برداشت اعتبارنامه را فعال کنند.»
فورکهای پاییندست نیز در صورتی که ورکفلوی مخرب را به ارث ببرند — چه هنگام ایجاد جدید و چه با همگامسازی با مخزن بالادستی آلوده — در معرض خطر هستند. به گفته این شرکت، فورکهای خصوصی و آینههای پاییندست بیشترین آسیبپذیری را دارند، چراکه اعتبارنامههای ثبتشده در واقع بیشتر در مخازن خصوصی یافت میشوند.
یک نکته مهم دیگر: در هر دو حساب، هر اجرا — چه اعتبارنامهای پیدا شود و چه نشود — یک شناسه مخزن را بازمیگرداند؛ بنابراین اپراتور، مستقل از هرگونه سرقت اعتبارنامه، نقشهای از زمینههای اجرایی قابلدسترس در اختیار دارد.
توصیههای امنیتی
توسعهدهندگان باید مخازن خود را از نظر وجود هرکدام از این دو ورکفلو از تاریخ ۳۱ اوت ۲۰۲۶ بررسی کنند و در صورت وجود، فرض را بر بهخطر افتادن بگذارند. اقدامات پیشنهادی:
- اعتبارنامه گیتهاب بهخطرافتاده را باطل (Revoke) کنید.
- تمام اعتبارنامهها و رازهای مرتبط را بچرخانید (Rotate).
- ورکفلوی مخرب را از تمام شاخهها حذف کنید.
- فورکهای مخازن آلوده را نیز بررسی کنید.
- بهویژه برای مخازن خصوصی و فورکهای پاییندست، وجود فایلهای
security-audit.ymlوgithub_actions_security.ymlرا وارسی کنید. - ترافیک خروجی به آدرس
193.32.204[.]199را در لاگهای شبکه و CI/CD جستوجو کنید. - توکنهای دسترسی شخصی را با حداقل سطح دسترسی و مدتزمان محدود صادر کنید و از نشت آنها در بدافزارهای سارق اطلاعات مراقب باشید.
- ثبت اعتبارنامهها در تاریخچه گیت را، حتی اگر بعداً حذف شده باشند، بهعنوان افشا در نظر بگیرید.
چرا این کمپین اهمیت دارد؟
این کمپین چند ویژگی نگرانکننده را کنار هم میآورد. نخست، مهاجم از هویت قانونی خود قربانی استفاده میکند؛ ورکفلو با نام و دسترسی خود نگهدارنده منتشر میشود و به همین دلیل، در نگاه اول هیچ نشانهای از نفوذ خارجی ندارد. دوم، نام فریبنده «Security Audit» بهظاهر یک ابزار امنیتی را نمایندگی میکند و ممکن است در بررسیهای سطحی نادیده گرفته شود.
سوم، اسکن کل تاریخچه گیت، نه فقط وضعیت فعلی مخزن، به این معناست که حتی اعتبارنامههایی که سالها پیش به اشتباه ثبت و سپس پاک شدهاند، همچنان در معرض سرقت هستند؛ موضوعی که اهمیت چرخش اعتبارنامهها، فراتر از صرف حذف آنها از کد، را برجسته میکند. چهارم، حضور کلیدهای API سرویسهای هوش مصنوعی در فهرست اهداف، نشان میدهد این اعتبارنامهها اکنون بهاندازه کلیدهای ابری سنتی، برای مهاجمان ارزشمند شدهاند.
در نهایت، ارتباط این کمپین با سرقت توکنها از طریق بدافزارهای سارق اطلاعات، نشان میدهد زنجیره تأمین نرمافزار و امنیت حسابهای توسعهدهندگان، دو روی یک سکهاند: یک توکن نشتکرده از یک دستگاه شخصی آلوده، میتواند به آلوده شدن صدها مخزن متنباز منجر شود.
جمعبندی
بازگشت GhostAction، با مقیاسی بهمراتب بزرگتر از موج نخست (بیش از ۵۰۰ حساب و دهها هزار مخزن)، نشان میدهد حملات زنجیره تأمین مبتنی بر سوءاستفاده از GitHub Actions، به یک روش پایدار و مؤثر برای مهاجمان تبدیل شده است. توسعهدهندگان و سازمانها باید ورکفلوهای مخازن خود را بهطور دورهای بازبینی کنند، توکنهای دسترسی را با حداقل سطح لازم صادر کنند، و هرگونه اعتبارنامهای را که ممکن است حتی یکبار در تاریخچه گیت ثبت شده باشد، بهعنوان افشاشده تلقی و تعویض کنند.
برچسب ها: امنیت_اطلاعات, امنیت_سایبری, GitLab, Cyberattack, cybersecurity, حمله سایبری, news