نقصی بدون کلیک به مالکان مخزن اجازه می‌دهد افزونه‌های قفل‌شده را در چهار عامل کدنویسی هوش مصنوعی جایگزین کنند

The Hacker News
اشتراک‌گذاری:
نقصی بدون کلیک به مالکان مخزن اجازه می‌دهد افزونه‌های قفل‌شده را در چهار عامل کدنویسی هوش مصنوعی جایگزین کنند

محققان امنیتی در Air Security در ۱۸ سپتامبر آسیب‌پذیری‌ای را افشا کردند که به هر کسی که مخزن منبع یک افزونه را کنترل می‌کند اجازه می‌دهد کدی را که یک عامل کدنویسی هوش مصنوعی نصب می‌کند، به‌طور خاموش جایگزین کند — حتی زمانی که آن عامل افزونه را به یک هش کامیت خاص و بازبینی‌شده قبلی «قفل» کرده باشد. این نقص، که Plugin4Shell نام گرفته، پنج محصول عاملی از چهار شرکت را تحت تأثیر قرار می‌دهد: Claude Code از Anthropic، Codex از OpenAI، Gemini CLI از Google، Microsoft Copilot و GitHub Copilot.

چگونه قفل شکسته می‌شود

این باگ از یک ویژگی مبهم در نحوه حل مراجع توسط Git سوءاستفاده می‌کند: اگر کامیت مطابقی به‌صورت محلی وجود نداشته باشد، می‌تواند یک هش کامیت درخواستی را به‌عنوان نام شاخه تفسیر کند. عاملان کدنویسی هوش مصنوعی افزونه‌ها را به هش‌های کامیت خاص قفل می‌کنند تا تضمین کنند کدی که بازبینی شده همان کدی است که بعداً نصب می‌شود. اما چون عاملان هرگز تأیید نمی‌کنند که محتوای دریافتی واقعاً بایت‌به‌بایت با هش قفل‌شده مطابقت دارد، مهاجمی که مخزن افزونه را کنترل می‌کند می‌تواند شاخه‌ای با نام هش کامیت قفل‌شده بسازد و آن شاخه را به کد مخرب کاملاً متفاوتی اشاره دهد.

یک محدودیت مهم وجود دارد: خود GitHub نام‌های شاخه‌ای که شبیه هش کامیت هستند را مسدود می‌کند، بنابراین افزونه‌های میزبانی‌شده مستقیماً روی GitHub از این طریق قابل بهره‌برداری نیستند. این حمله علیه افزونه‌های میزبانی‌شده روی میزبان‌های Git جایگزین مانند Bitbucket یا سرورهای Git خودمیزبان کار می‌کند.

یک پنجره افشای پنج‌ماهه، سپس یک واکنش دوپاره

Air Security در می ۲۰۲۶ حملات اثبات مفهومی کارآمد علیه هر چهار پلتفرم عامل آسیب‌دیده ساخت و در ژوئن به فروشندگان اطلاع داد و حدود سه ماه پیش از افشای عمومی در ۱۸ سپتامبر به آن‌ها زمان داد. واکنش فروشندگان در آن بازه به‌شدت متفاوت بود. Anthropic پچی در نسخه ۲.۱.۱۷۹ Claude Code منتشر کرد و OpenAI نسخه ۰.۱۴۶.۰ Codex را پچ کرد. Microsoft که از همان نقص در Copilot مطلع شده بود، تا این هفته پچی منتشر نکرده است. Google در جهت مخالف پیش رفت: به‌جای پچ کردن Gemini CLI، این شرکت محصول را کاملاً بازنشسته می‌کند.

چرا این دوپارگی مهم‌تر از خود باگ است

برای تیم‌هایی که روی هر یک از این پلتفرم‌ها می‌سازند، نکته عملی بررسی منابع افزونه است: اگر سازمان شما از افزونه‌های شخص ثالث با Claude Code یا Codex استفاده می‌کند، مطمئن شوید روی نسخه‌های پچ‌شده هستید. اگر از GitHub Copilot یا Gemini CLI با افزونه‌های میزبانی‌شده غیر از GitHub استفاده می‌کنید، آن منابع افزونه را تا زمان انتشار پچ، بدون محافظت و غیرقابل‌اعتماد در نظر بگیرید.

در ابتدا توسط The Hacker News گزارش شده است. برای جزئیات بیشتر مقالهٔ اصلی را بخوانید.

مشاهدهٔ منبع اصلی
اشتراک‌گذاری: