محققان امنیت سایبری از شناسایی آسیبپذیری Cordyceps در گردشکارهای (Workflow) CI/CD خبر دادهاند؛ یک الگوی حمله بحرانی که میتواند برای مهاجمان امکان کنترل گردش کار، اجرای کد مخرب و نفوذ به زنجیره تأمین نرمافزارهای متنباز را فراهم کند. بر اساس تحقیقات شرکت Novee Security، این ضعف امنیتی دهها سازمان بزرگ فناوری از جمله مایکروسافت، گوگل، آپاچی و کلودفلر را تحت تأثیر قرار داده است. بررسی حدود 30 هزار مخزن گیتهاب نشان میدهد بیش از 300 مخزن در برابر آسیبپذیری Cordyceps بهطور کامل قابل سوءاستفاده هستند. به گفته محققان، سوءاستفاده از این ضعف امنیتی به احراز هویت یا دسترسیهای ویژه نیاز ندارد و مهاجمان تنها با استفاده از یک حساب کاربری رایگان میتوانند تأییدیهها را جعل کرده، کد دلخواه خود را به مخازن ارسال کنند و اعتبارنامههای حساس را سرقت نمایند. چنین قابلیتی در نهایت امکان اجرای کد تحت کنترل را فراهم کرده و میتواند امنیت زنجیره تأمین نرمافزار را در مقیاسی گسترده تحت تأثیر قرار دهد.
ریشه آسیبپذیری Cordyceps در پیکربندیهای نادرست CI/CD
بررسیهای Novee Security نشان میدهد منشأ اصلی آسیبپذیری Cordyceps به پیکربندیهای ضعیف CI/CD بازمیگردد؛ جایی که برای درخواستهای Pull یا PR ، مجوزهایی در نظر گرفته میشود که بیش از حد مورد نیاز هستند. در حالت عادی، PR مکانیزمی برای پیشنهاد ادغام تغییرات کد از یک شاخه (Branch) به شاخه اصلی پروژه است، اما زمانی که یک PR غیرقابلاعتماد بتواند گردش کارهای دارای دسترسی بالا را فعال کند، زمینه برای حملاتی مانند تزریق فرمان (Command Injection)، افزایش سطح دسترسی (Privilege Escalation) و نفوذ به زنجیره تأمین نرمافزار فراهم میشود.
محققان تأکید میکنند این آسیبپذیری Cordyceps در لایههای بنیادین زیرساخت متنباز پنهان شده است؛ همان زیرساختی که بخش بزرگی از صنعت نرمافزار بر آن متکی است. نکته مهم اینجاست که چنین ضعفی معمولاً از دید ابزارهای اسکن امنیتی پنهان میماند، زیرا از نظر فنی هر سازوکار بهتنهایی دقیقاً مطابق طراحی خود عمل میکند. به بیان سادهتر، مشکل در خود بخشها نیست، بلکه در نحوه کنار هم قرار گرفتن آنهاست. گردش کار همان دستوری را اجرا میکند که برایش تعریف شده، اما زمانی که دادههای غیرقابلاعتماد از یک مرز اعتماد (Trust Boundary) عبور میکنند و این موضوع بهدرستی بررسی یا کنترل نشده باشد، یک ضعف امنیتی جدی شکل میگیرد.
نمونههای واقعی از مایکروسافت، گوگل، آپاچی و کلودفلر
در یکی از نمونههای اعلامشده، شرکت Novee Security در Microsoft Azure Sentinel مشاهده کرد که یک کامنت (Comment) روی یک PR میتواند باعث اجرای کد مهاجم بهصورت ناشناس روی زیرساخت یکپارچهسازی و استقرار مداوم (CI) مایکروسافت شود و در نهایت یک کلید GitHub App بدون تاریخ انقضا را سرقت کند.
در مثالی مشابه، در مخزن adk-samples مربوط به کیت توسعه عاملهای هوش مصنوعی گوگل (Google AI Agent Development Kit)، PR میتوانست کد مهاجم را روی زیرساخت CI گوگل اجرا کند و در نهایت امکان کنترل کامل یک مخزن در Google Cloud را به دست آورد.
در سایر موارد مرتبط با آسیبپذیری Cordyceps نیز محققان به چند سناریوی مهم اشاره کردهاند:
- در پروژه Doris آپاچی، دو سناریوی حمله بدون کلیک (Zero-Click) وجود دارد که در آن تنها یک کامنت روی هر درخواست Pull یا حتی یک PR فورکشده (Forked PR) میتواند منجر به اجرای کد مهاجم شود و اطلاعات محرمانه هاردکدشده مربوط به زیرساخت CI یا یک توکن با دسترسی کامل نوشتن را استخراج کند.
- در کلودفلر Workers SDK یک درخواست Pull با نام شاخه دستکاریشده میتواند امکان اجرای دستورات دلخواه را روی اجرایکنندههای CI کلودفلر فراهم کند.
- در پروژه Black متعلق به بنیاد نرمافزار پایتون (Python Software Foundation)، تنها یک درخواست Pull از سوی هر کاربری میتواند باعث اجرای کد مهاجم روی سیستمهای ساخت (Build) این پروژه شود و در نهایت توکن خودکارسازی (Automation Token) را سرقت کند؛ توکنی که درنهایت میتواند برای تأیید درخواستهای Pull مورد استفاده قرار گیرد.
واکنش شرکتها به آسیبپذیری Cordyceps و اقدامات اصلاحی پس از افشای مسئولانه
پس از افشای مسئولانه آسیبپذیری Cordyceps، شرکتهای مایکروسافت و گوگل تأثیرپذیری این ضعف را تأیید کردند. همزمان، کلودفلر، پایتون و آپاچی نیز بهترتیب اقدام به اعمال ایمنسازی امنیتی (Hardening) و انتشار پچهای امنیتی کردند تا سطح ریسک این سناریوها کاهش یابد.
در ادامه، محققان تأکید کردهاند که ماهیت کدنویسی عاملمحور باعث میشود آسیبپذیری Cordyceps بهصورت مداوم و در مقیاس گسترده بازتولید شود و با سرعتی قابلتوجه در مخازن گسترش پیدا کند. به گفته آنها، از آنجا که کاربران ناشناس میتوانند از این ضعف برای بهدست آوردن کنترل زنجیره تأمین نرمافزار استفاده کنند، این وضعیت عملاً به شکل نوعی کنترل پنهان (Puppeteering) بر مخازن بزرگترین شرکتهای جهان درآمده است؛ جایی که گردشکارها بهصورت نامحسوس دستکاری میشوند، بدون آنکه در نگاه اول نشانهای از عملکرد غیرعادی مشاهده شود.