آزمایش ۱۰ هزار دلاری گوگل؛ چرا ایجنتهای هوش مصنوعی به Zero Trust نیاز دارند؟
آزمایش گوگل با یک AI Agent نشان داد چرا ایجنتهای هوش مصنوعی به معماری Zero Trust نیاز دارند. در این آزمایش، سناریوی بازپرداخت ۱۰ هزار دلاری و حمله Prompt Injection بررسی شد.
گوگل با انتشار یک پروژه متنباز، نشان داده است که چگونه میتوان اصول امنیتی Zero Trust یا «اعتماد صفر» را برای ایجنتهای هوش مصنوعی خودکار به کار گرفت؛ بهویژه ایجنتهایی که با سامانههای حساس تعامل دارند و قادر به انجام اقدامات واقعی هستند.
این پروژه که یک ایجنت خودکار پشتیبانی مشتری و بازگشت کالا است، با استفاده از Agent Development Kit (ADK) و مدلهای Gemini ساخته شده و رویکردی را آزمایش میکند که در آن فرض میشود یک ایجنت هوش مصنوعی ممکن است فریب بخورد، دستکاری شود یا کنترل آن به دست مهاجم بیفتد.
در این معماری، لایههای امنیتی خارج از مدل هوش مصنوعی قرار گرفتهاند تا اقدامات ایجنت را بررسی کنند، اجرای کد تولیدشده توسط هوش مصنوعی را محدود کنند و درخواستهای بالقوه خطرناک را مسدود سازند.
آزمایش بازپرداخت ۱۰ هزار دلاری چه چیزی را نشان میدهد؟
ایجنت پشتیبانی مشتری گوگل در حالت عادی درخواست بازگشت کالا را بررسی میکند، یک اسکریپت پایتون برای محاسبه کسر هزینه بازگشت کالا تولید میکند، مبلغ بازپرداخت تأییدشده را در دفترکل پایگاه داده ثبت میکند و در نهایت تأییدیه را به مشتری ارائه میدهد.
اما گوگل یک سناریوی حمله را نیز به نمایش گذاشته است.
در این سناریو، مشتری سفارشی به ارزش ۱۴۹ دلار دارد، اما به ایجنت دستور میدهد مبلغ ۱۰ هزار دلار را به او بازپرداخت کند و همزمان کدی را اجرا کند که متغیرهای محیطی سیستم را افشا میکند.
اگر ایجنت از یک اتصال مشترک به پایگاه داده استفاده کند و کد را در محیطی بدون ایزولهسازی اجرا کند، مهاجم بالقوه میتواند باعث پرداخت غیرمجاز، افشای کلیدهای API یا حتی به خطر افتادن سرور میزبان شود.
چرا امنیت باید خارج از مدل هوش مصنوعی اعمال شود؟
معماری پیشنهادی گوگل، مدل هوش مصنوعی را بخشی از سیستم میداند که ممکن است فریب داده شود یا در برابر حملات Jailbreak آسیبپذیر باشد.
صرفاً قرار دادن یک دستور در System Prompt که به ایجنت میگوید «هرگز بیشتر از ارزش سفارش بازپرداخت نکن» نمیتواند یک مرز امنیتی واقعی ایجاد کند. حملات Prompt Injection ممکن است چنین دستورهایی را دور بزنند و حتی تغییرات مدل یا تنظیمات آن نیز میتواند نحوه پاسخگویی ایجنت را تغییر دهد.
گوگل برای مقابله با این مشکل، سه لایه امنیتی را خارج از مدل هوش مصنوعی قرار داده است:
- امضای رمزنگاریشده برای تغییرات پایگاه داده
- محیطهای ایزوله برای اجرای کد تولیدشده توسط هوش مصنوعی
- Semantic Gateway برای بررسی ورودیها و اقدامات بر اساس قوانین قطعی
امضای رمزنگاریشده برای جلوگیری از دستکاری دادهها
هر عملیات تغییردهنده در پایگاه داده توسط ایجنت مسئول آن امضا میشود و پایگاه داده پیش از ثبت تراکنش، اعتبار امضا را بررسی میکند.
به این ترتیب، هر تغییر در پایگاه داده از نظر رمزنگاری به هویت ایجنتی که آن را ایجاد کرده است، مرتبط میشود و هرگونه دستکاری بعدی نیز قابل شناسایی خواهد بود.
گوگل برای استفاده در محیطهای عملیاتی Google Cloud پیشنهاد میکند هر ایجنت حساب سرویس اختصاصی خود را داشته باشد و مجوز امضای دادهها با استفاده از یک کلید نامتقارن در Cloud Key Management Service (KMS) را دریافت کند. این کلید میتواند توسط Cloud Hardware Security Module (HSM) محافظت شود.
در پیکربندی پیشنهادی گوگل، کلید خصوصی داخل HSM تولید میشود و از آن خارج نمیشود.
نسخه متنباز این پروژه برای آزمایش محلی از یک کلید HMAC بهعنوان شبیهساز Cloud KMS استفاده میکند.
برای مثال، اگر مهاجم مستقیماً مقدار بازپرداخت ۱۴۹ دلاری را در پایگاه داده به ۱۰ هزار دلار تغییر دهد، امضای رمزنگاریشده با داده جدید مطابقت نخواهد داشت و سیستم حسابرسی میتواند این تغییر را شناسایی و هشدار صادر کند.
محدود کردن اجرای کد تولیدشده توسط هوش مصنوعی
اجرای کد یکی دیگر از ریسکهای مهم در ایجنتهای خودکار هوش مصنوعی است.
یک ایجنت ممکن است برای انجام محاسبات، پردازش دادهها یا بررسی لاگها کد پایتون تولید کند. اما حمله Prompt Injection میتواند این قابلیت را به سمت اجرای کدی سوق دهد که برای استخراج متغیرهای محیطی، کلیدهای API یا برقراری ارتباط با یک سرور تحت کنترل مهاجم طراحی شده است.
گوگل در نمونه خود، کد تولیدشده را داخل یک Sandbox مبتنی بر gVisor اجرا میکند. دسترسی شبکه در این محیط غیرفعال است و محدودیتهایی برای میزان مصرف حافظه، CPU و زمان اجرای کد اعمال میشود.
این Sandbox کد تولیدشده را از سیستم میزبان جدا میکند و امکان خروجی شبکه را نیز مسدود میسازد. همچنین یک محدودیت زمانی پنجثانیهای برای جلوگیری از اجرای بینهایت یا غیرعادی کد در نظر گرفته شده است.
جلوگیری از اقدامات خطرناک با Semantic Gateway
سومین لایه امنیتی، Semantic Gateway است که بین ایجنت هوش مصنوعی و سیستمهایی که ایجنت میتواند روی آنها تأثیر بگذارد قرار میگیرد.
این Gateway درخواستهای ورودی و فراخوانی ابزارهای خروجی را پیش از اجرای مدل یا اعمال تغییرات در پایگاه داده، بر اساس قوانین مشخص بررسی میکند.
این کنترلها میتوانند مواردی مانند شماره کارت بانکی و اطلاعات محرمانه را شناسایی کنند، الگوهای مشخص حملات Jailbreak را تشخیص دهند و محدودیتهای مربوط به تراکنشها را اعمال کنند.
برای نمونه، درخواست مشتری برای نادیده گرفتن دستورهای امنیتی و صدور بازپرداخت ۱۰ هزار دلاری برای یک سفارش ۱۴۹ دلاری میتواند پیش از اجرای عملیات مسدود شود.
گوگل توصیه میکند این سیاستهای امنیتی مانند قراردادهای نرمافزاری در نظر گرفته شوند و با استفاده از تستهای خودکار، اطمینان حاصل شود که این محافظتها پس از تغییر Prompt یا مهاجرت به مدل هوش مصنوعی جدید همچنان فعال هستند.
نقش VPC Service Controls در امنیت ایجنتها
در محیطهای عملیاتی، سرویسهای مرتبط را میتوان داخل یک محدوده VPC Service Controls نیز قرار داد.
این قابلیت یک مرز امنیتی ایجاد میکند که در صورت به خطر افتادن یک workload مبتنی بر ایجنت، میتواند از خروج دادهها از محدوده پروژه جلوگیری کند.
به گفته Shubham Saboo و Eric Dong از گوگل، ساخت ایجنتهای خودکار لزوماً به معنای پذیرش ریسکهای کنترلنشده نیست.
آنها معتقدند با انتقال مرزهای امنیتی به هویت مبتنی بر سختافزار، Sandbox در سطح User Space و اعتبارسنجی قطعی ورودی و خروجی میتوان به مدل اجازه داد وظایف مربوط به استدلال پویا را انجام دهد، در حالی که زیرساخت همچنان محدودیتهای امنیتی سختگیرانه را اعمال میکند.
پروژه متنباز گوگل برای آزمایش امنیت ایجنتهای هوش مصنوعی
پیادهسازی مرجع این پروژه بهصورت متنباز در دسترس قرار گرفته و توسعهدهندگان میتوانند آن را بهصورت محلی اجرا کنند.
این پروژه شامل سناریوهای حملهای نیز هست که برای آزمایش عملکرد لایههای امنیتی طراحی شدهاند. همچنین توسعهدهندگان میتوانند از Live Attack Playground مبتنی بر مرورگر استفاده کنند و با مراجعه به مستندات Google ADK، ساخت ابزارها و Sessionهای مربوط به ایجنتهای هوش مصنوعی را آغاز کنند.
جمعبندی
آزمایش بازپرداخت ۱۰ هزار دلاری گوگل نشان میدهد که در سیستمهای مبتنی بر AI Agent نمیتوان تنها به دستورهای داخل مدل یا System Prompt برای حفظ امنیت اعتماد کرد.
ایجنتهای هوش مصنوعی ممکن است در معرض Prompt Injection، Jailbreak یا سوءاستفاده از قابلیت اجرای کد قرار بگیرند. به همین دلیل، استفاده از رویکرد Zero Trust و قرار دادن کنترلهای امنیتی مستقل در سطح زیرساخت، پایگاه داده و ابزارهای مورد استفاده ایجنت میتواند نقش مهمی در کاهش ریسک داشته باشد.