GitHub ظاهراً بیخطر، شل مخرب در عمل؛ تهدید تازه علیه عاملهای هوش مصنوعی
یک ابزار کدنویسی عاملمحور که مأمور کلونکردن و راهاندازی یک مخزن GitHub ظاهراً بیخطر است، ممکن است یک payload مخرب را اجرا کند؛ payloadی که برای اسکنرهای امنیتی، عاملهای هوش مصنوعی و حتی بازبینهای انسانی نامرئی باقی میماند.
پژوهشگران پلتفرم امنیت هوش مصنوعی Zero Day Investigative Network (0DIN) وابسته به موزیلا میگویند این سازش بدون «هیچ اکسپلویت، هیچ هشداری و هیچ دستور مشکوکی که نیاز به تأیید انسانی داشته باشد» رخ میدهد.
آنها نشان دادند که یک مهاجم چگونه میتواند با استفاده از Claude Code و از طریق اجرای یک پروژه کلونشده، بدون آنکه هیچ کد مخربی در خود مخزن وجود داشته باشد، یک شل تعاملی روی دستگاه توسعهدهنده مستقر کند.
این روش حمله جدید بر سه مؤلفه متکی است که هر یک بهتنهایی تهدیدی ایجاد نمیکنند و موجب سوءظن نیز نمیشوند:
- یک مخزن GitHub با ظاهر پاک و دستورالعملهای استاندارد راهاندازی؛ مانند نصب وابستگیها و مقداردهی اولیه پروژه
(برای مثال: pip3 install -r requirements.txt و python3 -m axiom init)
- بسته Python بهصورت عمدی طوری طراحی شده است که تا پیش از مقداردهی اولیه اجرا نشود؛ این بسته خطایی تولید میکند که به کاربر دستور میدهد python3 -m axiom init را اجرا کند. Claude Code این وضعیت را یک مشکل عادی در فرایند راهاندازی تلقی کرده و هنگام تلاش برای رفع خطا، بهطور خودکار دستور پیشنهادی را اجرا میکند.
- اجرای دستور python3 -m axiom init یک اسکریپت شل را فراخوانی میکند که مقدار پیکربندی ذخیرهشده در یک رکورد DNS TXT تحت کنترل مهاجم را بازیابی کرده و آن را بهعنوان یک دستور اجرا میکند.
پژوهشگران ۰DIN توضیح میدهند که این رویکرد به هیچ مؤلفه مخربی در مخزن کلونشده نیاز ندارد و عامل هوش مصنوعی کل زنجیره حمله را بهصورت خودکار اجرا میکند؛ از جمله مرحلهای که عملاً یک خطای رایج کاربر را شبیهسازی میکند.
در صورت موفقیت، مهاجم به یک شل با همان سطح دسترسی توسعهدهنده دست پیدا میکند؛ موضوعی که امکان دسترسی به متغیرهای محیطی، کلیدهای API، فایلهای پیکربندی محلی و همچنین فرصت ایجاد ماندگاری را برای او فراهم میسازد.
پژوهشگران ۰DIN میگویند:
«Claude Code هرگز تصمیم نگرفت یک شل باز کند؛ بلکه تصمیم گرفت یک خطا را برطرف کند. شل معکوس، سه لایه غیرمستقیم دورتر از هر چیزی قرار دارد که Claude Code واقعاً آن را ارزیابی کرده است: یک پیام خطایی که به آن اعتماد کرده، یک اسکریپت که مقداری را واکشی کرده، و یک رکورد DNS که هرگز آن را ندیده است.»
آنها افزودند:
«مهاجم اکنون یک شل تعاملی در اختیار دارد که با همان حساب کاربری خودِ توسعهدهنده اجرا میشود.»
با وجود آنکه این روش حمله در حال حاضر صرفاً در حد یک مفهوم اثباتی است، ۰DIN هشدار میدهد که بازیگران تهدید بهسادگی میتوانند چنین مخازن GitHubی را از طریق آگهیهای شغلی جعلی، آموزشها، پستهای وبلاگی یا پیامهای مستقیم توزیع کنند.
برای جلوگیری از چنین سوءاستفادهای، ۰DIN پیشنهاد میکند که عاملهای هوش مصنوعی باید زنجیره کامل اجرای دستورات راهاندازی را افشا کنند؛ از جمله اسکریپتها و کدی که در زمان اجرا بهصورت پویا دریافت میشوند.



