.git مخرب می‌تواند عامل‌های کدنویسی خط‌فرمان مبتنی بر هوش مصنوعی را وادار به اجرای کد مهاجم روی دستگاه توسعه‌دهنده کند؛ اجرا بدون نمایش تأیید کاربر و خارج از محدودهٔ ایزولهٔ عامل انجام می‌شود.

چه اتفاقی افتاده و چرا خطرناک است

گزارش Manifold Security (با عنوان GitSpawn) هشت نقص امنیتی را در هفت عامل کدنویسی خط‌فرمان مبتنی بر هوش مصنوعی شناسایی کرده است. الگوی مشترک بدین صورت است: مخزن آلوده شامل پیکربندی core.fsmonitor در فایل .git/config است که حاوی نام یک دستور خط‌فرمان است. Git برای تشخیص فایل‌های تغییرکرده آن دستور را اجرا می‌کند و بسیاری از عامل‌ها همین فراخوانی را در پس‌زمینه برای تعیین شاخه و تغییرات انجام می‌دهند.

چه چیزی بهره‌برداری را آسان می‌کند

  • دستور از طرف Git با امتیازات کاربر اجرا می‌شود و خارج از سندباکس عامل اجرا می‌گردد.
  • هیچ پنجرهٔ تأیید یا پرامپتی قبل از اجرا ظاهر نمی‌شود؛ در برخی عامل‌ها payload حتی پیش از پذیرش «workspace trust» یا احراز هویت اجرا می‌شود.
  • برای بهره‌برداری کافی است مخزن به‌صورت دایرکتوری .git سالم به دستگاه برسد — مثلاً از طریق آرشیو ZIP، پوشه‌های همگام‌سازی، درایو شبکه یا USB. یک git clone معمولاً محتویات مخرب داخل .git را بازتولید نمی‌کند و امن‌تر است.

عامل‌ها و وضعیت وصله‌ها

Manifold موارد متعددی را با جزئیات منتشر کرده و وجود نمونه‌های بیشتر را محتمل می‌داند. وضعیت فعلی برخی عامل‌ها به‌صورت زیر است:

  • goose — تمام نسخه‌ها پیش از 1.44.0 آسیب‌پذیر بودند؛ رفع در 1.44.0 منتشر شده است.
  • Codex (CLI و دسکتاپ) — نسخه‌هایی بین 0.102.0 تا 0.130.0 آسیب‌پذیر گزارش شده‌اند؛ وصله‌ها از 0.131.0 و بیلدهای جدید در دسترس‌اند. OpenAI چند CVE مرتبط ثبت کرده است؛ نمونهٔ ثبت‌شده: CVE-2026-19592. برای مرور اطلاعات عمومی دربارهٔ CVEها به صفحه CVE مراجعه کنید.
  • Claude Code — مسیر مربوط به core.fsmonitor در نسخهٔ 2.1.196 اصلاح شده، اما مسیر ثانویه (از طریق claude ultrareview) در نسخهٔ 2.1.252 هنوز فعال گزارش شده بود.
  • Hermes Agent — نمونه‌هایی در نسخه‌های 0.18.2 و 0.21.0 تأیید شده‌اند؛ رفع در انتظار انتشار است.
  • Qwen Code — نسخه‌های 0.19.6 و 0.22.3 تأیید شده‌اند؛ رفع در انتظار است.
  • Grok Build — نسخه‌های 0.2.93 و 1.0.13 تأیید شده‌اند؛ رفع در انتظار است.

جزئیات فنی کوتاه

پیکربندی core.fsmonitor یک ویژگی عملکردی Git است؛ مقدار آن می‌تواند نام یک فرمان خط‌فرمان باشد که Git برای شناسایی فایل‌های تغییرکرده اجرا می‌کند. هر عملیاتی که ایندکس را تازه می‌کند — مانند git status یا git diff — ممکن است آن فرمان را اجرا کند. عامل‌های هوش مصنوعی این فراخوانی‌ها را در پس‌زمینه انجام می‌دهند تا وضعیت مخزن را بفهمند و معمولاً پیکربندی مخزن را دستکاری نمی‌کنند؛ همین رفتار عادی، برد حمله را برای مهاجم فراهم می‌آورد تا کد دلخواه را اجرا کند.

نمایی از خروجی ابزارهای تحلیل آسیب‌پذیری و آیکون Git

پیشینه و منابع

این کلاس آسیب‌پذیری پیش‌تر در محیط‌های دیگر نیز مشاهده شده است؛ برای نمونه برخی افزونه‌ها و IDEها (مثل Visual Studio Code و JetBrains) راه‌هایی برای دورزدن پنجرهٔ اعتماد به‌دلیل اجرای دستورات Git داشته‌اند. Anthropic نیز موارد اجرای پیش از اعتماد را برای Claude شناسایی و بخشی از مسیرها را رفع کرده بود. سند رسمی مربوط به پیکربندی Git و core.fsmonitor در git-config موجود است.

اقدامات فوری برای توسعه‌دهندگان و کاربران

چند اقدام ساده اما مؤثر برای کاهش ریسک:

  • به‌روزرسانی فوری — اگر از هر یک از عامل‌های ذکرشده استفاده می‌کنید، نسخهٔ به‌روز را نصب کنید و اطلاعیه‌های رسمی پروژه را دنبال کنید.
  • از باز کردن مخازن آرشیوشده بدون بررسی خودداری کنید — وقتی مخزنی از طریق ZIP، درایو مشترک یا USB دریافت می‌کنید، قبل از باز کردن آن محتویات .git را بررسی یا آن را در محیط ایزوله باز کنید.
  • به‌جای استخراج مستقیم، از git clone استفاده کنید — یک clone تازه معمولاً پیکربندی مخرب داخل .git را بازتولید نمی‌کند.
  • پیش از اجرا، مقدار core.fsmonitor را بررسی کنید — برای بررسی محلی می‌توانید مقدار را با دستوراتی مانند git config --local --get core.fsmonitor کنترل کنید و دنبال مقدار یا دستورهای مشکوک بگردید.
  • محدودسازی امتیازات و ایزوله‌سازی — عامل‌ها را با حساب‌های کاربری محدود یا در محیط‌های ایزوله (مانند کانتینر یا ماشین مجازی) اجرا کنید تا سطح دسترسی کاهش یابد.
  • قوانین امنیتی در فرآیند توسعه — بررسی خودکار محتوای .git و هشدار برای دستورهای غیرمعمول را در گردش کار CI/CD و اسکن‌های پیش از اجرا قرار دهید.

توصیه به توسعه‌دهندگان عامل‌ها

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

  • اجرای هر دستور خوانده‌شده از مخزن را به‌طور پیش‌فرض مسدود کنید و قبل از اجرا از کاربر اجازهٔ صریح دریافت کنید.
  • تمام مسیرهای ورود دستور از جمله پلاگین‌ها، review helpers و مسیرهای سفارشی را در بازبینی‌های امنیتی بگنجانید.
  • فیلترها و سفیدفهرست‌هایی برای فرمان‌های مجاز تعریف کنید و اجرای فرامین دلخواه را محدود نمایید.
  • تست‌های خودکار برای سناریوهای مشابه پیاده‌سازی کنید تا بازگشت مجدد این آسیب‌پذیری‌ها زودتر شناسایی شوند.

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