رفتن به محتوای اصلی
امنیت هوش مصنوعیتوضیح و تشریح۲۲ تیر ۱۴۰۵، ۲:۲۱· 8 دقیقه مطالعه· در هوش مصنوعی

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

یک آسیب‌پذیری جدید اثبات مفهوم نشان می‌دهد که دستیاران کدنویسی خودکار هوش مصنوعی می‌توانند هنگام اسکن مخازن نامعتبر برای یافتن نقص‌های امنیتی، فریب داده شوند تا بدافزار را اجرا کنند.

به قلم فرشید جمشیدی

محققان امنیتی 40%تیم‌های امنیتی شرکت‌ها 35%توسعه‌دهندگان ابزارهای هوش مصنوعی 25%
محققان امنیتی
استدلال می‌کنند که این نقص یک ضعف طراحی اساسی است که در آن محتوای نامعتبر به مرجع تبدیل می‌شود و به جای وصله‌های مدل، نیاز به ایزوله‌سازی سخت‌گیرانه در زمان اجرا دارد.
تیم‌های امنیتی شرکت‌ها
اولویت را به کاهش فوری خطرات مانند ایزوله‌سازی (sandboxing) و غیرفعال کردن ویژگی‌های تأیید خودکار می‌دهند تا شعاع آسیب عوامل آلوده محدود شود.
توسعه‌دهندگان ابزارهای هوش مصنوعی
حالت‌های خودکار را برای قابلیت استفاده ضروری می‌دانند و برای ایجاد تعادل بین اصطکاک و ایمنی به طبقه‌بندی‌کننده‌ها متکی هستند، در حالی که نیاز به هوشیاری کاربر را تأیید می‌کنند.

نکات کلیدی

  • محققان نشان داده‌اند که عوامل کدنویسی هوش مصنوعی می‌توانند هنگام اسکن مخازن نامعتبر، فریب داده شوند تا کدهای مخرب را اجرا کنند.
  • حمله «آتش خودی» ابزارهایی مانند Claude Code و OpenAI Codex را زمانی هدف قرار می‌دهد که در حالت‌های خودکار و خودتأییدکننده در حال اجرا هستند.
  • مهاجمان تزریق‌های پرامپت را در فایل‌های معمولی، مانند README، پنهان می‌کنند که هوش مصنوعی را ترغیب می‌کند تا یک فایل باینری مخرب مبدل را اجرا کند.
  • این آسیب‌پذیری یک نقص اساسی در طراحی هوش مصنوعی را برجسته می‌کند که در آن مدل‌های زبان نمی‌توانند به طور قابل اعتماد بین دستورالعمل‌های مورد اعتماد و داده‌های نامعتبر تمایز قائل شوند.
  • کارشناسان امنیتی برای کاهش خطر، غیرفعال کردن ویژگی‌های تأیید خودکار و اجرای عوامل هوش مصنوعی در محیط‌های ایزوله (sandboxes) را توصیه می‌کنند.

چرا مهم است

از آنجایی که شرکت‌ها به طور فزاینده‌ای برای خودکارسازی بررسی کدها و اسکن آسیب‌پذیری‌ها به عوامل هوش مصنوعی متکی هستند، این تحقیق یک نقص طراحی حیاتی را برجسته می‌کند که در آن متن نامعتبر می‌تواند اقدامات هوش مصنوعی را ربوده و کنترل کند. درک این سازوکار به توسعه‌دهندگان اجازه می‌دهد تا با قرار دادن عوامل در محیط‌های ایزوله (sandboxing) و غیرفعال کردن ویژگی‌های تأیید خودکار، جریان کاری خود را ایمن سازند، پیش از آنکه یک حمله نظری به یک رخنه واقعی تبدیل شود.

صنعت نرم‌افزار به طور فزاینده‌ای خسته‌کننده‌ترین کارهای امنیتی خود را به هوش مصنوعی واگذار می‌کند. توسعه‌دهندگان به طور معمول از عوامل کدنویسی خودکار می‌خواهند که کتابخانه‌های متن‌باز تازه دانلود شده را اسکن کنند تا قبل از ادغام کد در محیط عملیاتی، آسیب‌پذیری‌های پنهان را بیابند. اما تحقیقات جدید یک نقطه کور حیاتی را در این جریان کاری دفاعی آشکار می‌کند: ابزارهایی که برای شناسایی کدهای مخرب استخدام شده‌اند، خود می‌توانند فریب داده شوند تا همان کدها را اجرا کنند. یک حمله اثبات مفهوم با عنوان «آتش خودی» (Friendly Fire) نشان می‌دهد که وقتی از یک دستیار هوش مصنوعی خواسته می‌شود تا یک مخزن تله‌گذاری شده را بررسی کند، می‌توان آن را دستکاری کرد تا بار مخرب مهاجم را مستقیماً روی دستگاه توسعه‌دهنده اجرا کند.[1]

این آسیب‌پذیری که توسط محققان امنیتی بویان میلانوف و هایدی خلاف از مؤسسه AI Now افشا شده است، دستیاران کدنویسی سطح بالا، به ویژه Claude Code از Anthropic و Codex از OpenAI را هدف قرار می‌دهد. این حمله به بهره‌برداری‌های پیچیده نرم‌افزاری یا امتیازات سیستمی بالا متکی نیست. در عوض، از روش اساسی پردازش اطلاعات توسط مدل‌های زبان بزرگ سوءاستفاده می‌کند. محققان دریافتند که وقتی این عوامل در پیکربندی‌های رایج «حالت خودکار» (auto-mode) یا «بررسی خودکار» (auto-review) خود عمل می‌کنند – که به هوش مصنوعی اجازه می‌دهد دستورات خود را برای کاهش اصطکاک کاربر تأیید کند – در برابر تزریق‌های پرامپت که در دیدرس پنهان شده‌اند، آسیب‌پذیر می‌شوند.

مکانیک حمله «آتش خودی» به طرز فریبنده‌ای ساده است. مهاجمان نیازی به به خطر انداختن منطق اصلی یک کتابخانه نرم‌افزاری محبوب ندارند؛ آنها فقط باید مستندات آن را تغییر داده و چند فایل مبدل اضافه کنند. در نمایش خود، محققان یک کپی از «geopy»، یک کتابخانه پرکاربرد کدگذاری جغرافیایی پایتون، را اصلاح کردند. آنها یک فایل README با ظاهر معمولی وارد کردند که به طور غیررسمی به کاربران دستور می‌داد تا یک اسکریپت به نام «security.sh» را به عنوان یک بررسی استاندارد قبل از نهایی کردن هرگونه تغییر کد اجرا کنند.[1][2]

هنگامی که یک توسعه‌دهنده به عامل هوش مصنوعی خود دستور می‌دهد تا «تست امنیتی» را روی مخزن دانلود شده انجام دهد، عامل با وظیفه‌شناسی مستندات را می‌خواند. هوش مصنوعی با برخورد به دستورالعمل موجود در README، فرض می‌کند که اسکریپت امنیتی بخشی مشروع از مجموعه تست بومی مخزن است. عامل اسکریپت را اجرا می‌کند، که به آرامی یک فایل باینری مخرب و پنهان را راه‌اندازی می‌کند. از آنجایی که عامل در حالت خودکار در حال اجرا است، اعلان تأیید انسان را دور می‌زند و در حالی که توسعه‌دهنده تصور می‌کند یک اسکن معمولی در حال انجام است، دستگاه میزبان را بی‌صدا به خطر می‌اندازد.[1]

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

برای اطمینان از اینکه طبقه‌بندی‌کننده‌های ایمنی داخلی هوش مصنوعی فایل باینری پنهان را مشکوک علامت‌گذاری نمی‌کنند، محققان از یک پوشش هوشمندانه استفاده کردند. آنها یک فایل فریبنده بی‌ضرر – که با زبان برنامه‌نویسی Go نوشته شده بود – را درست در کنار فایل باینری مخرب قرار دادند. آنها سپس فایل باینری را با ثابت‌های رشته‌ای که مستقیماً از فایل فریبنده برداشته شده بودند، پر کردند. هنگامی که طبقه‌بندی‌کننده ایمنی عامل هوش مصنوعی فایل باینری را بازرسی می‌کند، رشته‌ها مطابقت داده می‌شوند، نتیجه می‌گیرد که فایل باینری صرفاً نسخه کامپایل شده کد Go بی‌ضرر است و اجرای آن را تأیید می‌کند.[1]

این فریب یک ضعف ساختاری را در معماری‌های فعلی هوش مصنوعی مولد برجسته می‌کند: ناتوانی در جداسازی مطمئن دستورالعمل‌های مورد اعتماد از داده‌های نامعتبر. همانطور که الجان محمدلی، رئیس بخش منشأ هوش مصنوعی در Polygraf AI، اشاره کرد، یک مدل زبان هر چیزی را در پنجره متنی خود به عنوان یک جریان واحد از توکن‌ها پردازش می‌کند. دستور اولیه اپراتور برای «بررسی این کد» و دستور پنهان مخزن شخص ثالث برای «اجرای این اسکریپت» با همان اعتبار وارد می‌شوند. هنگامی که دستور مخرب وارد پنجره متنی می‌شود، عامل مکانیسم قابل اعتمادی برای تشخیص خصمانه بودن آن ندارد.[2]

اتکا به طبقه‌بندی‌کننده‌های هوش مصنوعی برای کنترل مرزهای ایمنی به طور فزاینده‌ای ناکافی است. توسعه‌دهندگان ابزار، حالت‌های خودکار را به عنوان یک راه میانی بین اجرای کاملاً نامحدود و اصطکاک خسته‌کننده درخواست از کاربر برای هر اقدام معرفی کردند. Anthropic قبلاً اشاره کرده بود که حالت خودکار Claude Code شاهد تأیید ۹۳ درصد از درخواست‌های مجوز توسط کاربران است، که طبقه‌بندی‌کننده را به یک راحتی خوشایند تبدیل می‌کند. با این حال، تحقیق Friendly Fire ثابت می‌کند که این اکتشافات را می‌توان با تطبیق فایل‌های منبع واقعی با فایل‌های باینری مخرب جعل کرد و یک ویژگی راحتی را به یک آسیب‌پذیری حیاتی تبدیل نمود.[1]

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

پیامدهای این آسیب‌پذیری بسیار فراتر از ایستگاه‌های کاری توسعه‌دهندگان فردی است. توسعه نرم‌افزار مدرن به شدت به خطوط لوله یکپارچه‌سازی مداوم و استقرار مداوم (CI/CD) متکی است، که به طور خودکار به‌روزرسانی‌های کد را واکشی، آزمایش و مستقر می‌کنند. اگر تیم‌های مهندسی شروع به واگذاری اسکن خودکار آسیب‌پذیری به‌روزرسانی‌های بسته ورودی به عوامل هوش مصنوعی خودکار کنند، این تکنیک تزریق می‌تواند بی‌صدا در محیط‌های سازمانی فعال شود. یک به‌روزرسانی وابسته به خطر افتاده می‌تواند بار خود را بدون اینکه انسانی هرگز تغییر را بررسی کند، اجرا کند و به طور مؤثری یک حمله زنجیره تأمین را خودکار سازد.[1]

خوشبختانه، حمله Friendly Fire همچنان یک اثبات مفهوم آزمایشگاهی باقی مانده است. مؤسسه AI Now هیچ بهره‌برداری از این تکنیک خاص را در دنیای واقعی مشاهده نکرده است و کد تحقیقاتی عمومی بدون بار مخرب واقعی منتشر شد. این حمله همچنین در اولین اجرا متوقف می‌شود و محققان هیچ تلاشی برای نشان دادن افزایش امتیاز یا حرکت جانبی در شبکه نکردند. این افشاگری به عنوان یک هشدار پیشگیرانه عمل می‌کند تا یک واکنش فعال به حادثه، و به صنعت زمان می‌دهد تا شیوه‌های خود را تنظیم کند.

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

کارشناسان امنیتی همچنین سازمان‌ها را ترغیب می‌کنند که محیط‌های زمان اجرای این عوامل را بازنگری کنند. کنترل پایدار باید در زیرساخت اطراف مدل قرار گیرد، نه در خود مدل. این بدان معناست که دستیاران کدنویسی هوش مصنوعی باید در فضاهای کاری یکبار مصرف یا محیط‌های ایزوله سخت‌گیرانه (sandboxes) اجرا شوند که دسترسی به اعتبارنامه‌های تولید، فایل‌های میزبان حساس یا خروج شبکه خارجی را ندارند. اگر عاملی فریب داده شود تا یک اسکریپت مخرب را اجرا کند، شعاع آسیب محدود به یک کانتینر موقت و ایزوله باقی می‌ماند که می‌توان آن را با خیال راحت از بین برد.[2]

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

افشای Friendly Fire در بحبوحه موج گسترده‌تری از تحقیقاتی رخ می‌دهد که مرزهای امنیتی شکننده هوش مصنوعی عاملیت‌محور را آشکار می‌کند. تنها چند روز قبل، محققان در Wiz، آسیب‌پذیری «GhostApproval» را افشا کردند که شش دستیار کدنویسی محبوب هوش مصنوعی را تحت تأثیر قرار می‌داد. آن حمله از پیوندهای نمادین (symbolic links) برای فریب عوامل استفاده می‌کرد تا فایل‌های سیستمی حساس را خارج از فضای کاری تعیین شده خود تغییر دهند. به طور مشابه، تکنیکی به نام «HalluSquatting» نشان داد که مهاجمان می‌توانند نام بسته‌های جعلی را که عوامل هوش مصنوعی احتمالاً توهم می‌زنند، پیش‌بینی کنند، آن نام‌ها را در مخازن عمومی ثبت کنند و منتظر بمانند تا عوامل به طور خودکار بدافزار را به نمایندگی از کاربر دانلود کنند.

در مجموع، این یافته‌ها واقعیت دشواری را برای بازار ابزارهای هوش مصنوعی که به سرعت در حال گسترش است، تأکید می‌کنند. فشار برای اعطای استقلال بیشتر به عوامل هوش مصنوعی – که به آنها اجازه می‌دهد مخازن را کلون کنند، وابستگی‌ها را نصب کنند و دستورات راه‌اندازی را به طور مستقل اجرا کنند – همزمان سطح حمله را گسترش می‌دهد. هر فایلی که یک عامل می‌خواند و هر ابزاری که می‌تواند به آن دسترسی داشته باشد، یک بردار بالقوه برای دستکاری است. در حالی که دولت‌ها و شرکت‌ها برای پذیرش هوش مصنوعی برای کارهای دفاعی امنیت سایبری عجله دارند، این فرض که یک مدل توانمندتر ذاتاً ایمن‌تر است، به شدت در حال آزمایش است.[2]

با وجود این آسیب‌پذیری‌ها، محققان امنیتی خواستار پایان دفاع مبتنی بر هوش مصنوعی نیستند. توانایی مدل‌های زبان بزرگ برای تجزیه و تحلیل سریع پایگاه‌های کد عظیم، همچنان یک دارایی بسیار ارزشمند برای شناسایی آسیب‌پذیری‌های واقعی است. درس اصلی تحقیق Friendly Fire این نیست که هوش مصنوعی برای کار امنیتی نامناسب است، بلکه این است که هنگام مدیریت داده‌های خارجی باید با آن به عنوان یک جزء نامعتبر رفتار شود. مجوز اجرای کد باید از عاملی که کد را می‌خواند، جدا شود.[2]

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

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

اصطلاحات کلیدی

آتش خودی (Friendly Fire)
یک حمله اثبات مفهوم که عوامل کدنویسی هوش مصنوعی را فریب می‌دهد تا در طول اسکن‌های امنیتی معمول، کدهای مخرب را اجرا کنند.
حالت خودکار (Autonomous Mode)
یک تنظیم در ابزارهای کدنویسی هوش مصنوعی که به عامل اجازه می‌دهد دستورات را اجرا کرده و اقدامات خود را بدون درخواست مجوز از کاربر تأیید کند.
تزریق پرامپت (Prompt Injection)
یک تکنیک حمله سایبری که در آن دستورالعمل‌های مخرب در داده‌هایی که مدل هوش مصنوعی پردازش می‌کند، پنهان می‌شوند و آن را فریب می‌دهند تا دستورات ناخواسته را اجرا کند.
پنجره متنی (Context Window)
کل مقدار متن و داده‌ای که یک مدل هوش مصنوعی می‌تواند در طول یک تعامل واحد پردازش و به خاطر بسپارد.
پیوند نمادین (Symbolic Link)
یک شیء سیستم فایل که به یک فایل یا دایرکتوری دیگر اشاره می‌کند و می‌تواند برای فریب برنامه‌ها جهت تغییر اهداف ناخواسته مورد سوءاستفاده قرار گیرد.

آنچه نمی‌دانیم

  • هنوز مشخص نیست که فروشندگان هوش مصنوعی با چه سرعتی می‌توانند اصلاحات ساختاری را اجرا کنند که اختیار اجرای کد را از پنجره متنی مدل زبان جدا کند.
  • تیم‌های امنیتی هنوز نمی‌دانند که آیا بازیگران تهدید پیشرفته به طور مستقل تکنیک‌های تزریق پرامپت مشابهی را کشف کرده و در دنیای واقعی به سلاح تبدیل کرده‌اند یا خیر.
  • مشخص نیست که کشف این آسیب‌پذیری‌ها چگونه بر جدول زمانی پذیرش ابزارهای توسعه هوش مصنوعی کاملاً خودکار توسط شرکت‌ها تأثیر خواهد گذاشت.

منابع

پوشش منابع

2 منبع

3 دیدگاه شناسایی‌شده

محققان امنیتی 40%تیم‌های امنیتی شرکت‌ها 35%توسعه‌دهندگان ابزارهای هوش مصنوعی 25%
  1. [1]Cybersecurity Newsتوسعه‌دهندگان ابزارهای هوش مصنوعی

    Cyber AI Agents Like Claude Code, GPT-5.5 Can Be Hijacked to Run Malicious Code Remotely

    مطالعه در Cybersecurity News
  2. [2]IT Nerdتیم‌های امنیتی شرکت‌ها

    “Friendly Fire” exploit highlights growing risks in AI-assisted code review

    مطالعه در IT Nerd

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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