آسیب‌پذیری عامل‌های هوش مصنوعی در Gemini CLI و Claude Code؛ سوءاستفاده از GitHub Issue برای دسترسی به اطلاعات محرمانه CI

اشتراک گذاری

آسیب‌پذیری عامل‌های هوش مصنوعی
❞ آسیب‌پذیری عامل‌های هوش مصنوعی(AI Agent) در ابزارهای کدنویسی شرکت‌های بزرگ فناوری نشان داده است که یک Issue ساده در گیت‌هاب، حتی بدون برخورداری مهاجم از هرگونه سطح دسترسی به مخزن، می‌تواند به نقطه شروع یک زنجیره حمله علیه محیط‌های یکپارچه‌سازی مداوم (CI) تبدیل شود

آسیب‌پذیری عامل‌های هوش مصنوعی(AI Agent)  در ابزارهای کدنویسی شرکت‌های بزرگ فناوری نشان داده است که یک Issue ساده در گیت‌هاب، حتی بدون برخورداری مهاجم از هرگونه سطح دسترسی به مخزن، می‌تواند به نقطه شروع یک زنجیره حمله علیه محیط‌های یکپارچه‌سازی مداوم (CI) تبدیل شود. در این بررسی، اجرای کد روی اجراکننده‌های CI مورد استفاده در مخازن عامل‌های کدنویسی آنتروپیک و گوگل امکان‌پذیر شد و در مورد OpenAI نیز این زنجیره می‌توانست اجرای بعدی عامل را تحت کنترل مهاجم قرار دهد. شرکت Novee Security این حملات را در پیکربندی پیش‌فرض عامل‌های ارائه‌شده از سوی هر سه شرکت بازسازی کرد و یافته‌های خود را در 5 آگوست در رویداد Black Hat USA ارائه داد. این بررسی منجر به شناسایی دو آسیب‌پذیری با شناسه CVE شد که هر دو اکنون با انتشار پچ امنیتی برطرف شده‌اند. این یافته‌ها نشان می‌دهد آسیب‌پذیری عامل‌های هوش مصنوعی فقط به خود مدل محدود نیست و ضعف در کامپوننت‌ها و محیط اجرای آن‌ها نیز می‌تواند راه دسترسی مهاجمان به زیرساخت‌های حساس توسعه و یکپارچه‌سازی مداوم (CI) را باز کند.

جزئیات آسیب‌پذیری عامل‌های هوش مصنوعی در جمنای CLI و کلود کد

از میان دو آسیب‌پذیری اصلی، ضعف امنیتی شناسایی‌شده در جمنای CLI (Gemini CLI) شدت بیشتری دارد. آسیب‌پذیری CVE-2026-12537 با امتیاز کامل 10.0 در CVSS 4، از نوع تزریق دستور سیستم‌عامل (OS Command Injection) در لانچر کانتینر (Container Launcher) جمنای CLI است. مهاجم با قرار دادن یک فایل دست‌کاری‌شده با نام  .gemini/.envمی‌تواند از این ضعف سوءاستفاده کند و بدون داشتن سطح دسترسی مجاز، پیش از فعال شدن سندباکس (Sandbox)، کد دلخواه خود را روی میزبان یک پلتفرم CI هدلس (Headless) اجرا کند. این آسیب‌پذیری در جمنای CLI نسخه 0.39.1 و run-gemini-cli نسخه 0.1.22 برطرف شده است.

در آسیب‌پذیری عامل‌های هوش مصنوعی مربوط به کلود کد (Claude Code)، مهاجم می‌توانست با سوءاستفاده از CVE-2026-54316 از آمار عمومی دانلودهای هاگینگ ‌فیس (Hugging Face) به‌عنوان یک کانال استخراج داده  استفاده کند. این روش به مهاجم اجازه می‌داد کلید API را به‌تدریج و هر بار تنها یک کاراکتر استخراج کند.

Novee توصیه می‌کند کاربران جمنای CLI را به نسخه 0.39.1، run-gemini-cli را به نسخه 0.1.22 و کلود کد را به نسخه 2.1.163 به‌روزرسانی کنند. همچنین باید تمام گردش‌کارهایی (Workflow) که کاربران خارج از سازمان امکان فعال‌سازی آن‌ها را دارند، بررسی و ممیزی شوند.

تفاوت رویکرد امنیتی در کدکس

در بررسی امنیتی کدکس (Codex)، برخلاف دو مورد دیگر، هیچ CVE یا نسخه اصلاحی مشخصی برای محصول منتشر نشده است. به گفته Novee، OpenAI اعلام کرده است که سندباکس کدکس مطابق طراحی و مستندات رسمی آن عمل می‌کند.

ریشه مشترک آسیب‌پذیری عامل‌های هوش مصنوعی در لایه هارنس

نکته مهم درباره ضعف اجرای کد روی میزبان جمنای این است که مهاجم برای سوءاستفاده از آن نیازی نداشت مدل را فریب دهد یا آن را به اجرای یک دستور مخرب وادار کند. بررسی هر سه محصول نشان می‌دهد ریشه مشترک آسیب‌پذیری عامل‌های هوش مصنوعی در هارنس (Harness)، یعنی لایه کدی پیرامون مدل قرار دارد که تعیین می‌کند چه دستورات و داده‌هایی در محیط واقعی اجرا شوند.

در این زنجیره، یک کامپوننت مقدار مشخصی را ایمن تشخیص می‌دهد، اما کامپوننت دیگری در مرحله بعد همان مقدار را با سطح دسترسی بیشتری پردازش یا اجرا می‌کند. در واقع، هارنس همان لایه واسطی است که بین مدل و محیط واقعی قرار می‌گیرد و تصمیم می‌گیرد خروجی مدل چگونه و با چه سطح دسترسی‌ای اجرا شود.

ضعف اعتبارسنجی دستورات در کلود کد

در بررسی Novee مشخص شد اعتبارسنج دستور کلود کد، متن داخل نقل‌قول تکی (Single Quote) را پیش از انجام 23 بررسی امنیتی حذف می‌کند. این عملکرد در پردازش عادی دستورها در Bash درست است، اما در این شرایط باعث می‌شود بخشی از پیلود از فرآیند اعتبارسنجی عبور کند. در نتیجه، مهاجم می‌تواند پیلود خود را در مقدار گیت (Git) push –receive-pack قرار دهد. این فلگ (Flag) توسط گیت اجرا می‌شود و در نهایت پیلود بدون تغییر به اجراکننده می‌رسد. این زنجیره حمله شناسه CVE ندارد و نسخه اصلاحی مشخصی نیز برای آن به‌صورت عمومی اعلام نشده است.

ضعف در اعمال محدودیت ابزارهای جمنای CLI

در جمنای CLI، فهرست ابزارهای مجاز (Tool Allowlist) فقط هنگام ثبت ابزار بررسی می‌شد و در زمان اجرای آن، سازوکاری برای اعمال این محدودیت وجود نداشت. در حالت –yolo  نیز هر دستوری که مدل درخواست می‌کرد، بدون بررسی بیشتر به‌صورت خودکار تأیید و اجرا می‌شد. این ضعف نشان می‌دهد آسیب‌پذیری عامل‌های هوش مصنوعی می‌تواند ناشی از نحوه اعمال محدودیت‌های امنیتی در لایه اجرای ابزارها باشد.

اطلاعیه امنیتی (Advisory) گوگل، هر دو آسیب‌پذیری، یعنی ضعف در اعمال فهرست ابزارهای مجاز و ضعف لانچر کانتینر را برطرف می‌کند. طبق این اطلاعیه، اصلاحات اعمال‌شده تمام گردش‌کارهای گیت‌هاب اکشنز (GitHub Actions) مرتبط با جمنای CLI را پوشش می‌دهد.

مقایسه شدت آسیب‌پذیری‌های جمنای CLI و کلود کد

خود اطلاعیه جمنای همچنان فاقد شناسه CVE است و گوگل کلاد شناسه آسیب‌پذیری جمنای را به‌صورت جداگانه و در جایگاه مرجع هماهنگ‌کننده آسیب‌پذیری (CNA) منتشر کرده و به همین اطلاعیه ارجاع داده است. در مقابل، آنتروپیک شدت آسیب‌پذیری CVE-2026-54316 در کلود کد را در CVSS 4 برابر با 6.0 و در سطح متوسط (Moderate) ارزیابی کرده است. پایگاه ملی آسیب‌پذیری‌ها (NVD) همین آسیب‌پذیری را در 3.1 CVSS با امتیاز 9.1 ارزیابی کرده است. از آنجا که NVD هنوز امتیازی بر مبنای CVSS 4 برای این آسیب‌پذیری ارائه نکرده است، این دو امتیاز قابل مقایسه مستقیم نیستند.

اصلاح گردش‌کار کدکس

کدکس تنها موردی بود که نسخه مشخصی برای رفع آن ارائه نشد. Novee دریافت که مخزن openai/codex دو مرحله اجرای کدکس را در یک Job و روی یک نسخه مشترک از مخزن اجرا می‌کرد.

در این ساختار، مرحله اول می‌توانست فایل AGENTS.md را تغییر دهد، در حالی که مرحله دوم همین فایل را به‌عنوان دستورالعمل‌های اختصاصی خود بارگذاری می‌کرد. به این ترتیب، اجرای اول می‌توانست محتوایی را در محیط مشترک قرار دهد و اجرای دوم آن را به‌عنوان دستورالعمل معتبر در نظر بگیرد.

طبق بررسی Novee، ناموفق بودن اعتبارسنجی JSON بین این دو مرحله باعث می‌شد مرحله دوم اجرا شود و در نتیجه، مرحله اول بتواند بر نحوه اجرای مرحله بعد تأثیر بگذارد. در گردش‌کار فعلی OpenAI، این دو مرحله در Jobهای جداگانه اجرا می‌شوند. همچنین کدکس با حذف دسترسی‌های سطح بالا (Drop-Sudo) و در یک سندباکس فقط‌خواندنی (Read-Only) اجرا می‌شود.

OpenAI در اطلاعیه امنیتی خود نیز فایل‌های دستورالعمل موجود در مخزن را بخشی از سطح ورودی غیرقابل‌اعتماد می‌داند. این شرکت توصیه کرده است اجرای کدکس در هر Job به آخرین مرحله موکول شود، زیرا در غیر این صورت ممکن است فایل‌هایی در محیط باقی بمانند که مراحل بعدی با سطح دسترسی بالاتر بتوانند به آن‌ها دسترسی پیدا کنند. با این حال، این تغییرات نشان نمی‌دهند که نحوه پردازش فایل‌های دستورالعمل قابل‌نوشتن در خود کدکس تغییر کرده باشد. آنچه منابع تأیید می‌کنند، اصلاح گردش‌کار در سطح مخزن و به‌روزرسانی مستندات امنیتی OpenAI است.

وضعیت سوءاستفاده از آسیب‌پذیری‌های جمنای و کلود کد

رکوردهای CVE مربوط به جمنای و کلود کد در CISA نشان می‌دهند که تاکنون موردی از سوءاستفاده از این دو آسیب‌پذیری ثبت نشده است. همچنین هیچ‌یک از این دو آسیب‌پذیری در فهرست KEV این سازمان قرار ندارند.

با این حال، یک مخزن عمومی در گیت‌هاب شناسایی شده است که خود را آزمایشگاه بازتولید (Reproduction Lab) آسیب‌پذیری کلود کد معرفی می‌کند و از 18 ژوئن در دسترس بوده است. با وجود انتشار این مخزن، در منابع بررسی‌شده هیچ شواهدی از سوءاستفاده عملی از این زنجیره‌های حمله علیه اهداف واقعی وجود ندارد. این موضوع نشان می‌دهد آسیب‌پذیری عامل‌های هوش مصنوعی تاکنون در این موارد منجر به حمله واقعی علیه اهداف مشخص نشده است.

سوءاستفاده ChainDrop از قابلیت‌های کلود کد و VS Code

این تحولات هم‌زمان با گزارش Pillar Security در 4 آگوست منتشر شد. این شرکت اعلام کرد اپراتورهای کرم ChainDrop npm با نفوذ به مخازن آلوده، یک هوک SessionStart مربوط به کلود کد و یک وظیفه folderOpen در VS Code را در آن‌ها قرار داده‌اند. این کدهای مخرب با باز شدن فضای کاری توسط توسعه‌دهنده به‌طور خودکار اجرا می‌شدند و برخلاف حملات مبتنی بر نصب، برای فعال شدن به نصب پکیج نیازی نداشتند.

منابع

دیدگاهتان را بنویسید

مطالب مرتبط