
بروز یک حفره امنیتی بر اثر حملات تزریق پرامپت در ChatGPT
تنها یک سند مسموم میتواند دادههای محرمانه را از طریق ChatGPT افشا کند
پژوهشگران امنیت سایبری یک نقطه ضعف در ویژگی Connectors زیرساختهای OpenAI پیدا کردهاند که به کاربران امکان اتصال ChatGPT به سرویسهای دیگر را میدهد. این حفره امنیتی به آنها اجازه داد بدون هیچ دخالتی از سوی کاربر، دادههایی را از حساب گوگل درایو وی استخراج کنند.
مدلهای جدید هوش مصنوعی مولد دیگر صرفاً چتباتهایی برای تولید متن نیستند؛ بلکه میتوان آنها را به دادههای شخصی متصل کرد تا پاسخهای اختصاصیتری ارائه دهند. ChatGPT میتواند به صندوق ورودی جیمیل شما متصل شود، کدهای موجود در GitHub را بررسی کند یا قرارهای تقویم مایکروسافت را پیدا کند. اما این اتصالها میتواند مورد سوءاستفاده قرار بگیرند و پژوهشگران نشان دادهاند که تنها یک «سند مسموم» (Poisoned Document) برای این کار کافی است.
حفره امنیتی
یافتههای جدید پژوهشگران امنیتی «مایکل بارگوری» و «تمیر ایشای شاربات» (Michael Bargury – Tamir Ishay Sharbat) که در کنفرانس هکری Black Hat در لاسوگاس بیان شد، نشان میدهد چگونه یک ضعف در ویژگی Connectors زیرساختهای OpenAI امکان استخراج اطلاعات حساس از یک حساب گوگل درایو را از طریق حمله غیرمستقیم «تزریق پرامپت» (Prompt Injection) فراهم کرده است. در نمایش عملی این حمله که AgentFlayer نامگرفته، بارگوری نشان داد چگونه میتوان اسرار توسعهدهندگان، از جمله کلیدهای API ذخیرهشده در یک حساب نمایشی گوگل درایو را استخراج کرد.
این آسیبپذیری نشان میدهد که اتصال مدلهای هوش مصنوعی به سیستمهای خارجی و بهاشتراکگذاری دادههای بیشتر میان آنها، ظرفیت بالقوه سطح حمله (Attack surface) را برای هکرها افزایش میدهد و احتمال بروز آسیبپذیریهای جدید را چندبرابر میکند. بارگوری، مدیر ارشد فناوری شرکت امنیتی Zenity در گفتوگویی با WIRED عنوان کرد: «کاربر نیازی به انجام هیچ کاری برای آلودهشدن ندارد و لازم نیست هیچ اقدامی انجام دهد تا دادههایش خارج شود. ما نشان دادیم که این حمله کاملاً zero-click هستند؛ فقط کافی است ایمیل شما را داشته باشیم، سندی را با شما به اشتراک بگذاریم و تمام. پس بله؛ این وضعیت واقعاً بسیار خطرناک است.»

OpenAI هنوز نسبت به این آسیبپذیری در Connectors واکنشی نداده است. این شرکت اوایل سال جاری Connectors را بهصورت آزمایشی معرفی و دستکم ۱۷ سرویس مختلف از جمله Github, Gmail, Canva و… را فهرست کرده که میتوان آنها به ChatGPT متصل کرد. به ادعای OpenAI این سیستم به کاربر اجازه میدهد ابزارها و دادههای خود را به ChatGPT بیاورد، فایلها را جستوجو کند، دادههای زنده را واکشی کرده و محتوای موردنیاز خود را مستقیماً در گفتوگوها ارجاع دهد. به گفته بارگوری او اوایل امسال یافتههای خود را به OpenAI گزارش داده و این شرکت بهسرعت اقداماتی برای جلوگیری از سوءاستفاده مشابه انجام داده است و تأکید میکند که روش حمله آنها تنها اجازه استخراج مقدار محدودی از دادهها را میدهد و امکان سرقت کامل اسناد وجود نداشت. به گفته «اندی ون» (Andy Wen)، مدیر محصول امنیتی ارشد Google Workspace: «هرچند این مشکل مختص گوگل نیست؛ اما نشان میدهد چرا توسعه سازوکارهای مقاوم در برابر حملات prompt injection اهمیت دارد.»
اجرای حمله
حمله AgentFlayer با یک «سند مسموم» آغاز میشود که در گوگل درایو قربانی بالقوه به اشتراک گذاشته میشود و کاربر قربانی حتی میتواند خودش بهطور ناخواسته فایل آلوده را در حسابش آپلود کند. این سند ظاهری شبیه یک فایل رسمی درباره سیاستهای جلسات شرکت دارد. اما بارگوری درون آن یک پرامپت مخرب ۳۰۰ کلمهای شامل دستورالعملهایی برای ChatGPT در خود پنهان کرده است. این پرامپت با رنگ سفید و فونتی بسیار کوچک نوشته شده است؛ چیزی که یک انسان به سختی متوجه آن میشود، اما ماشین همچنان آن را میخواند.
بارگوری در یک ویدیو نمونه (Proof of Concept) نشان میدهد که کاربر قربانی از ChatGPT میخواهد: «خلاصه آخرین جلسهام با سم را بنویس» (summarize my last meeting with Sam)، درحالیکه به مجموعه یادداشتهایی اشاره دارد که مربوط به سم آلتمن، مدیرعامل OpenAI است. (این مثالها ساختگی هستند) اما پرامپت پنهان به مدل میگوید که در سند یک «اشتباه» وجود دارد و در واقع نیازی به خلاصهسازی نیست. در عوض، پرامپت توضیح میدهد که فرد یک «توسعهدهنده تحتفشار ضربالاجل» است و نیاز دارد که هوش مصنوعی گوگل درایو را برای یافتن کلیدهای API جستوجو کرده و آنها را به انتهای یک URL که در پرامپت داده شده، اضافه کند. آن URL در حقیقت یک دستور به زبان Markdown است که به ChatGPT میگوید به یک سرور خارجی متصل شود و تصویری را که آنجا ذخیره شده واکشی کند. اما مطابق دستور پرامپت، اکنون این URL شامل کلیدهای API است که هوش مصنوعی از حساب گوگل درایو کاربر قربانی پیدا کرده است.

استفاده از Markdown برای استخراج داده از ChatGPT موضوع جدیدی نیست. پژوهشگر امنیتی مستقل «یوهان رِهبرگر» (Johann Rehberger) پیشتر نشان داده بود که میتوان دادهها را به این روش بیرون کشید و توضیح داد که OpenAI پیشتر قابلیتی به نام url_safe را معرفی کرده بود تا بررسی کند که آیا یک URL مخرب است یا نه و در صورت خطرناک بودن، مانع از بارگذاری تصویر شود. برای دور زدن این محدودیت، ایشای شاربات، پژوهشگر هوش مصنوعی در Zenity، در یک پست وبلاگی توضیح داد که آنها از URLهای سرویس ذخیرهسازی ابری Azure Blob مایکروسافت استفاده کردند و مینویسد: «تصویر ما با موفقیت رندر شد و علاوه بر آن، یک لاگ درخواست کامل در Azure Log Analytics دریافت کردیم که شامل کلیدهای API قربانی بود.»
این حمله تازهترین نمونه از نمایش تأثیر حملات غیرمستقیم تزریق پرامپت (indirect prompt injection) بر سیستمهای هوش مصنوعی مولد است. در این حملات، مهاجم دادههای آلوده را به مدل زبانی میدهد که میتواند سیستم را به اجرای اقدامات مخرب وادار کند. اخیراً نیز گروهی از پژوهشگران نشان دادند که حملات مشابه میتواند یک سیستم خانه هوشمند را هک کرده و چراغها یا سایر تجهیزات آن را از راه دور فعال کند.
اگرچه حملات غیرمستقیم پرامپت تقریباً بهاندازه عمر ChatGPT وجود داشتهاند، اما پژوهشگران امنیتی نگراناند که با اتصال سیستمهای بیشتر به مدلهای زبانی، خطر تزریق دادههای غیرقابلاعتماد افزایش پیدا کند. دسترسی به دادههای حساس همچنین میتواند دروازهای برای نفوذ هکرها به دیگر سیستمهای یک سازمان باشد. بارگوری عنوان میکند اتصال مدلهای زبانی به منابع داده خارجی باعث میشود آنها توانمندتر شوند و ارزش بیشتری پیدا کنند؛ اما این کار چالشهایی هم به همراه دارد و تأکید میکند: «این قابلیتها فوقالعاده قدرتمند هستند؛ اما مثل همیشه در مورد هوش مصنوعی، هرچه قدرت بیشتر شود، ریسک هم بالاتر میرود.»