امنیت سایبری و شبکه

تحلیل آسیب‌پذیری تزریق زمینه رمزنگاری (CCI) در GitHub Copilot CLI؛ تهدیدی نوظهور برای نشت اطلاعات

پژوهشگران امنیتی در Adversa AI به تازگی یک بردار حمله نوین و پیچیده را در GitHub Copilot CLI شناسایی کرده‌اند که با عنوان «تزریق زمینه رمزنگاری» یا Cryptographic Context Injection (CCI) شناخته می‌شود. این آسیب‌پذیری به مهاجمان اجازه می‌دهد تا با استفاده از «دستورالعمل‌های زامبی» پنهان شده در صفحات وب، مدل‌های هوش مصنوعی را برای افشای اسرار سیستم و داده‌های حساس ترغیب کنند.

ماهیت حمله CCI و مکانیسم عملکرد آن

حمله CCI در واقع گونه‌ای تکامل‌یافته از تزریق پرامپت غیرمستقیم (Indirect Prompt Injection) است. در این سناریو، زمانی که کاربر از حالت Autopilot در ابزارهای برنامه‌نویسی مبتنی بر عامل (Agentic Tools) استفاده می‌کند، ابزار ممکن است محتوایی را از یک منبع خارجی (مانند یک صفحه وب مخرب) فراخوانی کند. تفاوت اصلی در این است که برخلاف روش‌های سنتی که در آن متن به صورت شفاف ارسال می‌شود، در CCI دستورات مخرب به صورت رمزنگاری‌شده (Ciphertext) در صفحه وب جاسازی شده‌اند.

مکانیسم حمله به این صورت است که ابزار برنامه‌نویسی توسط دستورالعمل‌های موجود در صفحه، ترغیب می‌شود تا فرآیند رمزگشایی را در محیط اجرایی خود اجرا کند. از آنجایی که گاردریل‌های ایستا (Static Guardrails) تنها متن را می‌خوانند و آن را اجرا نمی‌کنند، نمی‌توانند کدهای مخرب رمزنگاری‌شده را شناسایی کنند. این امر باعث می‌شود عامل هوش مصنوعی ناخودآگاه محیط اجرایی خود را برای عملیات مخرب مهیا کند.

زنجیره حمله: از استخراج فایل تا نشت داده‌ها

حمله در چندین گام دقیق طراحی شده است: ابتدا کاربر از Copilot CLI می‌خواهد محتوای یک URL خاص را تحلیل کند. این صفحه شامل دستورات رمزگشایی با استفاده از پایتون و دو کلید است. کلید اول یک کلید جعلی است که عامل را وادار می‌کند فایل‌های حساس محلی (مانند .env) را بخواند و آن‌ را در رشته کلید تزریق کند. پس از شکست در رمزگشایی اول، عامل از کلید دوم استفاده می‌کند که منجر به موفقیت در رمزگشایی و نهایتاً اجرای دستور انتقال اطلاعات به سرور مهاجم می‌شود.

مشخصات فنی و یافته‌های کلیدی

  • آسیب‌پذیری: Cryptographic Context Injection (CCI)
  • مدل‌های متاثر: مدل mai-code-1.1-flash (۵۰٪ نرخ موفقیت در حملات آزمایشی)
  • مدل‌های مقاوم: مدل‌های OpenAI GPT-5.6 (مقاوم در برابر پی‌لود آزمایش شده)
  • وضعیت وضعیت: گزارش شده در ۲۶ شهریور ۱۴۰۵ (۱۷ سپتامبر ۲۰۲۶) به گیت‌هاب
  • ماهیت اجرایی: نیازمند تعامل کاربر با محتوای غیرمطمئن و فعال بودن حالت Autopilot

چالش «بخت‌آزمایی مدل» در هوش مصنوعی

یکی از نکات نگران‌کننده در تحلیل Adversa AI، پدیده‌ای است که آن‌ها «بخت‌آزمایی مدل» (Model Lottery) می‌نامند. در سیستم‌های مسیریابی هوشمند گیت‌هاب، کاربر همیشه نمی‌داند کدام مدل دقیقاً در حال پردازش دستورات اوست. اگر تنظیمات مدل روی حالت «Auto» باشد، ممکن است در یک جلسه از مدل ایمن و در جلسه‌ای دیگر از مدل آسیب‌پذیر (mai-code-1.1-flash) استفاده شود، بدون آنکه کاربر آگاهی یا کنترلی بر این تغییر داشته باشد.

واکنش گیت‌هاب و تحلیل نهایی

تیم امنیتی گیت‌هاب پس از بررسی این گزارش، آن را به عنوان یک آسیب‌پذیری محصول نپذیرفت. استدلال گیت‌هاب این است که فرآیند مذکور نیازمند هدایت عمدی کاربر به سمت یک URL کنترل‌شده توسط مهاجم است و ابزار به تنهایی اقدام به این کار نمی‌کند. با این حال، کارشناسان امنیتی هشدار می‌دهند که با پیچیده‌تر شدن محیط‌های توسعه مبتنی بر عامل، مرز بین «اقدام کاربر» و «استقلال هوش مصنوعی» باریک‌تر شده و این نوع حملات می‌توانند امنیت زنجیره تأمین نرم‌افزار را به شدت تهدید کنند.

📌 منبع و مطالعه بیشتر: The Register: Zombie instructions on GitHub Copilot CLI
حامد

حامد

مسئول مجله فناوری آسمان نقره‌ای