آخرین اخبار
همهٔ اخبار
امنیت هوش مصنوعی گزارش بحرانیت ۸/۱۰

کشف آسیب‌پذیری AgentCorruption در Amazon Bedrock: از Prompt Injection تا سرقت Credentialها

کشف آسیب‌پذیری AgentCorruption در Amazon Bedrock: از Prompt Injection تا سرقت Credentialها

تحقیقات جدید منتشر شده توسط Zenity Labs نشان می‌دهد که یک دستور ساده (Prompt) که به یک عامل هوش مصنوعی (AI Agent) در دسترس عموم ارسال شود، می‌توانست تمامی عامل‌های Amazon Bedrock AgentCore را در همان حساب AWS و منطقه (Region) در معرض خطر قرار دهد.

زنجیره حمله AgentCorruption

این زنجیره حمله که AgentCorruption نامیده شده است، به پژوهشگران اجازه داد تا به چت‌های خصوصی، سورس کد، حافظه‌های بلندمدت، API Keyها، توکن‌های OAuth و اسرار ذخیره شده در AWS Secrets Manager دسترسی پیدا کنند.

سرویس Amazon Bedrock AgentCore ابزاری مدیریت‌شده برای ساخت و اجرای عامل‌های AI است. کارشناسان Zenity دریافتند عاملی که دارای ابزاری برای ارسال درخواست‌های وب (Web Requests) باشد، می‌تواند با یک دستور خاص، نقطه انتهایی متادیتا (Metadata Endpoint) در آدرس 169.254.169.254 را فراخوانی کند.

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

از آنجایی که این درخواست از داخل محیط microVM سرویس Firecracker ارسال می‌شد، سرویس متادیتا اعتبارنامه‌های موقتی AWS مربوط به نقش اجرایی (Execution Role) آن عامل را بازگرداند. این وضعیت منجر به ایجاد یک مسیر SSRF (جعل درخواست سمت سرور) شد که توسط Prompt Injection هدایت می‌گردید.

در این سناریو، نیازی به وجود باگ نرم‌افزاری در صفحه چت نبود؛ بلکه عامل AI صرفاً دستور کاربر را اجرا کرده و از ابزارهای مجاز وب یا Shell برای دسترسی به متادیتا استفاده کرد.

دامنه اثرات و دسترسی‌های گسترده

به دلیل اینکه نقش‌های IAM پیش‌فرض برای هر عامل به صورت مجزا محدود نشده بود، اعتبارنامه‌های سرقت شده دسترسی گسترده‌ای داشتند. مهاجمان توانستند با استفاده از DescribeLogGroups شناسه عامل‌ها را بیابند، ایمیج‌های کانتینر را از Amazon ECR استخراج کنند و رویدادهای Session را بخوانند. همچنین دسترسی‌هایی مانند bedrock-agentcore:InvokeAgentRuntime امکان دسترسی به چت‌ها و ایجاد «خاطرات جعلی» را فراهم می‌کرد.

دسترسی به حافظه باعث می‌شد ریسک حمله فراتر از یک Session واحد باشد؛ به طوری که مهاجم می‌توانست دستورات مخفی را اضافه کند تا اهداف عامل AI در گفتگوهای آتی تغییر یابد.

پاسخ AWS و اقدامات اصلاحی

Zenity این موارد را در دسامبر ۲۰۲۵ و ژانویه ۲۰۲۶ به AWS گزارش کرد. در پاسخ، AWS استقرار‌های جدید را به IMDSv2 منتقل کرد و در نهایت تا سپتامبر ۲۰۲۶، دسترسی‌های گسترده‌ای که اجازه فراخوانی کلی عامل‌ها، دسترسی به چت‌ها و Secrets Manager را می‌داد، حذف کرد.

توصیه‌های امنیتی برای تیم‌های SOC و مهندسان ابری

با وجود اصلاحات پلتفرم، AWS توصیه می‌کند تیم‌های امنیتی اقدامات زیر را به صورت دستی پیاده‌سازی کنند:

  • اعمال اصل کمترین دسترسی (PoLP): تعریف نقش‌های سفارشی برای محیط Production که تنها شامل اکشن‌ها و منابع مورد نیاز هر عامل باشد.
  • محدود کردن دسترسی‌ها: مسدود کردن دسترسی‌های Wildcard گسترده و اعتبارسنجی ورودی‌های Prompt.
  • کنترل شبکه: محدود کردن دسترسی‌های Outbound شبکه و جداسازی عامل‌های عمومی از عامل‌های داخلی.
  • مانیتورینگ: رصد دقیق CloudTrail و CloudWatch برای شناسایی فراخوانی‌های غیرعادی.

درس کلیدی این حادثه آن است که یک عامل AI باید به عنوان یک Cloud Workload در نظر گرفته شود و نه صرفاً یک Chatbot؛ چرا که هر ابزار، Secret یا مسیر شبکه، سطح حمله (Attack Surface) را برای یک Prompt مخرب گسترش می‌دهد.