گزارش جدید Noma Security نشان میدهد که یک نقص امنیتی در اپلیکیشن دسکتاپ Claude Code (متعلق به شرکت Anthropic) میتواند به مهاجمان اجازه دهد تا تنها با بررسی یک فایل HTML، به ماشین توسعهدهنده، اعتبارنامههای ابری (Cloud Credentials) و محیط توسعه نرمافزاری دسترسی پیدا کنند.
تحلیل فنی آسیبپذیری SneakPeek
این نقص امنیتی که SneakPeek نامیده شده، در پنل پیشنمایش خودکار (Preview Pane) اپلیکیشن رخ میدهد؛ بخشی که فایلهای HTML تولید شده یا تغییر یافته توسط مدل AI را رندر میکند. این پنل از یک رندرکننده Chromium مبتنی بر Electron استفاده میکند. پژوهشگران سه شکاف معماری را در این مکانیسم شناسایی کردند:
- آستانه اندازه فایل (Threshold): فایلهای کوچکتر از 256 کیلوبایت به دادههای base64 تبدیل میشدند و تحت یک Content Security Policy (CSP) سختگیرانه قرار داشتند که اجرای اسکریپتها را مسدود میکرد. اما فایلهای بزرگتر از 256 کیلوبایت مستقیماً روی دیسک نوشته شده و از طریق URLهای
file://بارگذاری میشدند که باعث دور زدن (Bypass) لایههای حفاظتی CSP میشد. - دسترسی به سیستم فایل محلی: بارگذاری فایلها از طریق
file://باعث میشد رندرکننده پیشنمایش به جای اینکه در یک محیط ایزوله (Isolated Origin) قرار گیرد، دسترسی مستقیم به سیستم فایل محلی در Chromium داشته باشد. - فیلترهای غیرفعال: اگرچه مکانیسمی برای مسدود کردن دسترسیهای
file://وجود داشت، اما Noma دریافت که این فیلتر هنگام رندر کردن فایلهای استاتیک (مانند گزارشهای تست کد) غیرفعال است.
سناریوی حمله و اثرات
یک عامل تهدید (Threat Actor) میتواند با قرار دادن یک فایل HTML مخرب در یک مخزن (Repository) عمومی، منتظر بماند تا توسعهدهندهای از Claude Code بخواهد آن فایل را بررسی کند. به محض رندر شدن فایل در پنل پیشنمایش، اسکریپت مخرب میتواند فایلهای محلی را بخواند و دادههای حساسی مانند AWS Credentials، توکنهای GitHub Secrets و کلیدهای خصوصی SSH را به سرور مهاجم ارسال (Exfiltrate) کند.
جزئیات امنیتی و رفع نقص
این آسیبپذیری با امتیاز شدت بالای 8.7 (CVSS v4.0) شناسایی شده است. گزارشها حاکی از آن است که اولین وصله (Patch) ارائه شده توسط Anthropic قابل دور زدن بود؛ زیرا مهاجمان میتوانستند کد خواندن فایل را به یک Web Worker (یک رشته پسزمینه در مرورگر) منتقل کنند تا از محدودیتهای وصله اولیه عبور کنند. در نهایت، Anthropic با همکاری Noma Labs یک اصلاح معماری عمیقتر را برای رفع کامل مشکل اعمال کرد.
توصیههای امنیتی برای تیمهای SOC و مهندسان
این اتفاق نشان میدهد که کنترلهای امنیتی اعمال شده روی مدلهای AI لزوماً تمام گردشکارهای (Workflows) ابزارهای AI را پوشش نمیدهند. برای کاهش ریسک، توصیه میشود:
- ابزارهای کدنویسی AI را همواره بهروز نگه دارید.
- از ذخیره اعتبارنامههای طولانیمدت (Long-lived Credentials) روی ماشینهای توسعه اجتناب کنید.
- تا حد امکان از توکنهای محدود (Scoped) و کوتاهمدت استفاده کنید.
- مانیتورینگ لایه Runtime را برای شناسایی خواندن فایلهای غیرعادی و اتصالات شبکه خروجی (Outbound) مشکوک از ماشینهای توسعه تقویت کنید.