دستورالعمل های زامبی در صفحات وب با دقت ساخته شده می تواند GitHub Copilot CLI را فریب دهد تا اسرار را به اشتراک بگذارد.
CLI را در حالت خلبان خودکار اجرا کنید و از شانس خود استفاده کنید
GitHub Copilot CLI ممکن است اسرار توسعهدهنده را فاش کند، اگر با دستورالعملهایی مواجه شود که به او میگوید این کار را انجام دهد، بسته به مدل اصلی. ابزار عامل کدگذاری در اوایل سال جاری به دلیل حساس بودن به تزریق سریع غیرمستقیم پرچمگذاری شد. این زمانی است که یک مدل متنی را از منبعی غیر از کاربر دریافت می کند که به آن دستور می دهد تا اقداماتی خارج از محدوده عملکرد مورد نظر خود انجام دهد. این بیشتر یکسان است، با یک پیچ و تاب.
به گفته محققان امنیتی Adversa AI، GitHub Copilot CLI از همان آسیبپذیری که دو ماه پیش در Grok شناسایی شد، رنج میبرد: Cryptographic Context Injection (CCI). تصور کنید یک کاربر GitHub Copilot CLI روی یک پروژه کار می کند و عامل را در حالت خلبان خودکار اجرا می کند. در سایر ابزارهای کدگذاری عاملی مانند Anthropic's Claude، این پیش فرض است، اما برای GitHub Copilot CLI اختیاری باقی می ماند. با توجه به این شرایط، شرط بعدی این است که ابزار CLI یک صفحه وب را با مجموعهای از دستورالعملهای مخرب که با یک کلید خصوصی منتشر شده در همان سایت رمزگذاری شدهاند، بخواند.
رونی اوتفسکی در یک پست وبلاگی ارائه شده به The Register توضیح داد: "حفاظ های استاتیک متن را می خوانند؛ آنها آن را اجرا نمی کنند." "CCI دستورالعمل های مخرب را به عنوان متن رمزی قوی همراه با مواد کلیدی و دستورالعملی برای رمزگشایی ارسال می کند و عامل را وادار می کند که رمزگشایی را در زمان اجرای کد خود اجرا کند." طبقهبندیکنندههای محتوای فعال که ممکن است متن دریافتشده را بهعنوان دفاع مدل بخوانند، کد رمزگذاریشده را از دست میدهند، برخلاف رمزگذاریهایی مانند base64 یا رمزهای جایگزین که میتوان آنها را لغو کرد، زیرا مدل در آموزش نحوه رمزگشایی را آموخته است.
قرعهکشی مدل زنجیره حمله به این صورت است: کاربر Copilot CLI را اجرا میکند و از آن میخواهد یک URL خاص واکشی کند. این صفحه حاوی محتوای رمزگذاری شده، دستورالعمل های رمزگشایی برای استفاده از پایتون و دو کلید رمزگشایی احتمالی است. کلید اول جعلی است. این قالبی است که عامل سعی می کند با خواندن فایل های هدفمند از دیسک (به عنوان مثال، فایل .env کاربر) بسازد. آن اسرار سپس به رشته کلید اضافه می شوند. رمزگشایی اولیه با این کلید ساختگی انجام می شود اما ناموفق است.
بنابراین کلید دوم امتحان میشود، رمزگشایی کار میکند، و به عامل دستورالعملهایی برای واکشی یک URL دیگر برای زمینه بیشتر ارائه میشود – اما آن URL حاوی اسرار جمعآوریشده است و درخواست شبکه آنها را به مهاجم منتقل میکند. با این حال، این همیشه کار نمی کند. این به مدل بستگی دارد، که همیشه برای کاربر واضح نیست. GitHub Copilot CLI در حال حاضر از مدل خود مایکروسافت، mai-code-1.1-flash استفاده میکند که زنجیره حمله کامل را در 50 درصد تلاشها اجرا میکرد، یا یکی از دو مدل OpenAI GPT-5.6، که هر دو بار حمله را رد کردند.
Utevsky وضعیت را به عنوان یک قرعه کشی مدل توصیف می کند. Utevsky گفت: «در حساب پرداختی که آزمایش کردیم، مدل آسیبپذیر پیشفرض نبود و باید با دست انتخاب میشد. اما در حسابی که انتخاب مدل روی Auto باقی مانده است، روتر مدل آسیبپذیر را در برخی از جلسات و یک مدل امن را در برخی دیگر بدون هیچ اقدامی از سوی کاربر به دور از پیشفرضها اختصاص داد.
کاربر انتخاب نمیکند و نمیبیند که کدام مدل جلسه را مدیریت کرده است." Adversa میگوید که آسیبپذیری را از طریق برنامه پاداش باگ GitHub در 17 سپتامبر 2026 گزارش کرده است و تیم تریاژ GitHub این یافته را تأیید کرد اما از تلقی آن به عنوان یک آسیبپذیری خودداری کرد. سخنگوی GitHub با توجه به اینکه کاربر تا چه حد اقدام به ثبت نام کرده است، گفت: «GitHub برای مشارکتهای جامعه تحقیقاتی امنیتی ما ارزش قائل است و متعهد به بررسی مسائل امنیتی گزارششده است.
پس از بررسی، متوجه شدیم که این امر مستلزم آن است که کاربر عمدا Copilot CLI را هدایت کند تا محتوای کنترل شده یا نامعتبر توسط مهاجم را واکشی کند و تأیید کند که میخواهد اقدام را راهاندازی کند، و بنابراین آسیبپذیری محصول نیست. در حالی که این یک مشکل امنیتی با خود محصول نیست، ما همیشه به دنبال فرصت هایی برای بهبود محصولات خود هستیم." Adversa با آن تماس مخالف است و می گوید که زنجیره حمله در حال حاضر همانطور که توضیح داده شد کار می کند.
متن اصلی (انگلیسی)
Zombie instructions on carefully constructed web pages could trick GitHub Copilot CLI into sharing secrets
Run the CLI in autopilot mode and take your chances