آسیب‌پذیری رابط برنامه‌نویسی اوپن‌ای‌آی، آنتروپیک و گوگل امکان استخراج استدلال مدل‌های قدرتمندتر توسط مدل‌های ضعیف‌تر را فراهم کرد

اشتراک گذاری

آسیب‌پذیری رابط برنامه‌نویسی
❞ پژوهشگران به‌تازگی جزئیات نگران‌کننده‌ای از یک آسیب‌پذیری رابط برنامه‌نویسی (API) در زیرساخت‌های اوپن‌ای‌آی(OpenAI) ، آنتروپیک و گوگل منتشر کرده‌اند که امکان استخراج استدلال داخلی مدل‌های قدرتمند را فراهم می‌کند. این آسیب‌پذیری رابط برنامه‌نویسی به مهاجمان اجازه می‌دهد با استفاده از مدل‌های هوش مصنوعی ضعیف‌تر، محتوای استدلال پنهان مدل‌های قدرتمندتر را استخراج و بازسازی کرده و اطلاعات حساسی مانند کلیدهای API و رمزهای عبور را از لاگ‌های نشست بازیابی کنند.

مسیرهای سوءاستفاده از آسیب‌پذیری رابط برنامه‌نویسی

پژوهشگران در مقاله «سرقت فرآیند استدلال از APIهای اختصاصی مدل‌های زبانی بزرگ (LLMs)، چهار روش اصلی برای سوءاستفاده از این آسیب‌پذیری را شناسایی و آزمایش کرده‌اند. این روش‌ها شامل سرقت استدلال اختصاصی مدل‌ها برای تقطیر مدل (Model Distillation)، استخراج اطلاعات خصوصی از ردپاهای منتشرشده کاربران، بازیابی محتوای مخفی و مخربی که پشت یک پاسخ ظاهراً ایمن قرار گرفته است و همچنین مخفی‌کردن تزریق پرامپت (Prompt Injection) در بلوک‌های استدلال پنهان است.

استخراج بیش از 315 هزار بلوک استدلال

پژوهشگران با بررسی 6,708 مسیر عملکرد عمومی عامل‌های هوش مصنوعیAI Agents) )، توانستند محتوای 315,320 بلوک استدلال را بازیابی کنند. پس از کنار گذاشتن داده‌های مربوط به بنچمارک‌ها (Benchmarks)، بررسی نشست‌های واقعی کاربران به شناسایی 704 مورد داده حساس مرتبط با حریم خصوصی انجامید. در میان این داده‌ها 62 کلید API، 33 رمز عبور، 24 توکن دسترسی و 7 کلید خصوصی قرار داشت؛ یافته‌ای که نشان می‌دهد آسیب‌پذیری رابط برنامه‌نویسی می‌تواند امکان استخراج اطلاعات بسیار حساس کاربران را فراهم کند.

محدودیت حمله بین‌کاربری

حمله بین‌کاربری (Cross-User Attack) به این معنا نبود که مهاجم بتواند مستقیماً به چت‌های خصوصی کاربران دسترسی پیدا کند. برای اجرای این حمله، مهاجم ابتدا باید یک بلوک استدلال رمزنگاری‌شده را به دست می‌آورد؛ برای مثال، بلوکی که پیش‌تر در لاگ یک عامل هوش مصنوعی منتشر شده بود. همچنین مهاجم به دسترسی API یک مدل سازگار از همان شرکت نیاز داشت.

در نتیجه، آسیب‌پذیری رابط برنامه‌نویسی به‌تنهایی امکان دسترسی به مکالمات خصوصی کاربران را فراهم نمی‌کرد و اجرای حمله به وجود یک بلوک استدلال قابل دسترس و دسترسی به مدلی سازگار از همان ارائه‌دهنده وابسته بود.

حملات پس از اعمال اقدامات امنیتی متوقف شدند

پژوهشگران یافته‌های خود را با شرکت‌های ارائه‌دهنده مدل‌های آسیب‌پذیر و همچنین مایکروسافت و هاگینگ فیس (Hugging Face) در میان گذاشتند. به گفته آن‌ها، پس از اجرای اقدامات کاهش ریسک ، حملاتی که در این پژوهش آزمایش شده بودند دیگر قابل اجرا نبودند. پژوهشگران در بیانیه قابلیت بازتولید نیز اعلام کرده‌اند که حمله اصلی استخراج اطلاعات، از آگوست 2026 دیگر قابل بازتولید نیست. این گزارش تاکنون هیچ نمونه‌ای از سوءاستفاده مخرب در دنیای واقعی ثبت نکرده است. با این حال، پژوهشگران از توسعه‌دهندگان می‌خواهند بلوک‌های استدلال و فیلدهای حاوی محتوای پنهان را پیش از انتشار از لاگ‌های قابل اشتراک حذف کنند. همچنین آن‌ها توصیه می‌کنند داده‌های خام API  مستقیماً در مخازن کد قرار نگیرند؛ حتی زمانی که متن قابل مشاهده قبلاً پاک‌سازی و اطلاعات حساس آن حذف شده باشد.

ریشه آسیب‌پذیری رابط برنامه‌نویسی در نحوه حفظ استدلال مدل‌ها

ریشه این آسیب‌پذیری به نحوه انتقال استدلال مدل میان درخواست‌های مختلف API مربوط می‌شود. این سازوکار به مدل اجازه می‌دهد اطلاعات مربوط به استدلال‌های قبلی را برای پردازش درخواست‌های بعدی حفظ کند؛ قابلیتی که هنگام مدیریت دستی سابقه چت یا استفاده از حالت بدون وضعیت (Stateless) کاربرد دارد.

هر یک از شرکت‌های مورد بررسی این قابلیت را به شکل متفاوتی پیاده‌سازی کرده‌اند:

  • اوپن‌ای‌آی: آیتم‌های استدلال رمزنگاری‌شده را در اختیار اپلیکیشن قرار می‌دهد تا در صورت مدیریت دستی سابقه چت، در درخواست‌های بعدی دوباره مورد استفاده قرار گیرند.
  • آنتروپیک: اطلاعات کامل استدلال مدل را در قالب یک امضای رمزنگاری‌شده منتقل می‌کند.
  • گوگل: از امضاهای استدلال رمزنگاری‌شده برای انتقال اطلاعات مربوط به استدلال مدل استفاده می‌کند.

هدف از این سازوکارها، حفظ روند استدلال مدل در درخواست‌های متوالی است؛ بدون اینکه متن اصلی استدلال مستقیماً در اختیار کلاینت قرار بگیرد.

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

آسیب‌پذیری رابط برنامه‌نویسی

استخراج استدلال بدون کلید رمزنگاری

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

آزمایش‌های پژوهشگران نشان داد که این Objectهای استدلال میان نشست‌ها، کاربران و مدل‌های مختلف قابل استفاده هستند. پژوهشگران با بهره‌گیری از همین قابلیت، یک مدل ضعیف‌تر اما سازگار را به‌عنوان دیکدر فازی (Fuzzy Decoder) به کار گرفتند تا محتوای استدلال تولیدشده توسط مدل قدرتمندتر را بازسازی کند.

پژوهشگران برای این منظور از مدل‌های زیر استفاده کردند:

  • Claude Haiku 4.5 برای بازسازی ردپاهای استدلال کلود
  • GPT-5.6 Luna برای بازسازی ردپاهای استدلال جی‌پی‌تی
  • Gemini Robotics ER-1.6 برای بازسازی ردپاهای استدلال جمینای

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

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

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

تزریق پرامپت پنهان در بلوک‌های استدلال

قابلیت استفاده از این بلوک‌ها در موقعیت‌های مختلف، یک پیامد امنیتی مهم دیگر نیز داشت. پژوهشگران برای نشان دادن این موضوع، یک نمونه اثبات مفهوم (PoC) از تزریق پرامپت پنهان طراحی کردند.

آن‌ها یک بلوک استدلال حاوی پرامپت مخرب ساختند و سپس آن را در یک تسک (Task) کاملاً متفاوت به کار گرفتند. مدل دریافت‌کننده بدون اینکه پرامپت مخرب را در متن قابل مشاهده ببیند، در جریان اجرای تسک، یک عملیات آپلود  را که مهاجم تعیین کرده بود به آن اضافه کرد.

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

پژوهشگران تأکید کرده‌اند که به متن اصلی استدلال اختصاصی مدل  دسترسی نداشته‌اند. به همین دلیل، نمی‌توانند با اطمینان بگویند تمام ردپاهای بازسازی‌شده دقیقاً با استدلال اصلی یکسان هستند.

برای ارزیابی میزان دقت بازسازی، پژوهشگران دو معیار را بررسی کردند:

  • تعداد توکن‌های استدلال
  • مقایسه‌های کیفی میان استدلال‌های بازسازی‌شده و داده‌های موجود

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

تغییر نحوه مدیریت استدلال رمزنگاری‌شده

بررسی مستندات فعلی این شرکت‌ها نشان می‌دهد استدلال رمزنگاری‌شده همچنان در APIهای آن‌ها وجود دارد، اما سازوکار مدیریت آن نسبت به گذشته تغییر کرده است.

  • اوپن‌ای‌آی همچنان به توسعه‌دهندگان توصیه می‌کند هنگام مدیریت دستی تاریخچه در حالت بدون وضعیت (Stateless)، آیتم‌های استدلال رمزنگاری‌شده را در درخواست‌های بعدی دوباره ارسال کنند.
  • گوگل: اعلام کرده است که بک‌اند (Backend) این شرکت هنگام تغییر مدل در یک نشست، سازگاری استدلال را مدیریت می‌کند.
  • آنتروپیک اعلام کرده است که بلوک‌های استدلال فقط با همان مدلی که آن‌ها را تولید کرده سازگار هستند. بنابراین، هنگام تغییر مدل باید این بلوک‌ها حذف شوند؛ زیرا مدل‌های دیگر آن‌ها را نادیده می‌گیرند.

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

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

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

این پژوهش بر پایه تحقیقاتی است که متیو گرین (Matthew Green)، متخصص رمزنگاری در دانشگاه جانز هاپکینز (Johns Hopkins)، در ماه می انجام داده بود. گرین پیش‌تر نشان داده بود که بلوک‌های استدلال رمزنگاری‌شده می‌توانند در نشست‌ها و حساب‌های کاربری مختلف دوباره مورد استفاده قرار گیرند اما در آن زمان نتوانسته بود از این قابلیت برای استخراج قابل‌اعتماد اطلاعات محرمانه استفاده کند.

گرین این موضوع را از طریق برنامه‌های باگ‌بانتی (Bug Bounty) به اوپن‌ای‌آی و آنتروپیک گزارش کرده است. به گفته او، اوپن‌ای‌آی این گزارش را قابل بازتولید ندانست و آنتروپیک نیز اعلام کرد که در استفاده مجدد از بلوک‌ها یا کانال جانبی (Side Channel) مرتبط با آن، پیامد امنیتی مشخصی مشاهده نکرده است.

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

منابع

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

مطالب مرتبط