67
آسیبپذیری Claude Code بهعنوان یک ضعف امنیتی بحرانی تنها چند روز پس از افشای سورس کد این ابزار مبتنی بر هوش مصنوعی (AI) شناسایی شد. این آسیبپذیری نهتنها توجه گسترده جامعه امنیت سایبری را جلب کرده، بلکه نگرانیهای جدی درباره امنیت ابزارهای توسعه مبتنی بر AI ایجاد کرده است. بررسیها نشان میدهد که این آسیبپذیری Claude Code میتواند سیستمهای کنترل دسترسی را دور زده و در سناریوهای خاص منجر به سرقت دادههای حساس شود.
افشای سورس کد و آغاز تحلیلهای امنیتی
ماجرای آسیبپذیری Claude Code از جایی آغاز شد که شرکت Anthropic در تاریخ 31 مارس 2026 بهصورت ناخواسته یک فایل سورسمپ (SourceMap) جاوااسکریپت را در npm منتشر کرد. این فایل که برای دیباگ (Debugging) استفاده میشود، امکان دیکامپایل و بازسازی کدهای مبهمسازیشده را فراهم میکند. تنها چند ساعت پس از انتشار، محققان امنیتی موفق شدند کدها را استخراج و تحلیل کنند. در ادامه، نسخهای شامل بیش از 512 هزار خط کد TypeScript و حدود 1900 فایل بازسازی و در اینترنت منتشر شد. این اتفاق اگرچه مستقیماً منجر به نفوذ نشد، اما زمینه شناسایی آسیبپذیری Claude Code را فراهم کرد.آیا افشای سورسکد Claude Code یک تهدید جدی است؟
بررسیها نشان میدهد که در این افشا، دادههای بسیار حساس مانند موارد زیر منتشر نشدهاند:- وزنهای مدل (Model Weights)
- دادههای آموزشی
- دادههای کاربران
- API Keyها و اعتبارنامهها
شناسایی آسیبپذیری Claude Code توسط Adversa AI
در ادامه این افشا، تیم Red Team شرکت Adversa AI موفق به شناسایی یک آسیبپذیری Claude Code در سیستم امنیتی این ابزار شد. Claude Code یک اپلیکیشن مبتنی بر TypeScript با بیش از 519 هزار خط کد است که امکان تعامل مستقیم با مدل Claude از طریق Command Line را فراهم میکند. این ابزار قابلیتهایی مانند:- اجرای دستورات Shell
- مدیریت Git
- جستجو در Codebase
- اجرای تسکهای توسعه چندمرحلهای پیچیده
بررسی سیستم مجوزدهی Claude Code
Claude Code برای کنترل عملکرد سیستم، از یک سیستم مجوزدهی (Permission System) شامل سه نوع قانون استفاده میکند:- Allow Rules: اجازه اجرای خودکار دستورات مشخص
- Deny Rules: مسدودسازی کامل دستورات خطرناک
- Ask Rules: درخواست تأیید از کاربر
{ “deny”: [“Bash(curl:*)”, “Bash(wget:*)”],
“allow”: [“Bash(npm:*)”, “Bash(git:*)”] }
- استفاده از curl یا wget مسدود میشود (برای جلوگیری از استخراج داده).
- دستورات npm و git بهصورت خودکار مجاز هستند.
ریشه آسیبپذیری Claude Code
ریشه این آسیبپذیری Claude Code به یک مشکل در عملکرد سیستم (Performance) برمیگردد. در نسخههای قبلی، اجرای Subcommand باعث عدم پاسخگویی رابط کاربری (UI) میشد و تجربه کاربری را مختل میکرد. Anthropic برای رفع این مشکل تصمیم گرفت تعداد Subcommandها را به 50 محدود کند و در صورتی که تعداد دستورات از این حد فراتر برود، سیستم بهطور خودکار به حالت Ask بازگردد. با این حال، همین راهکار به ظاهر ساده، در نهایت منجر به ایجاد یک ضعف امنیتی شد و زمینه شکلگیری این آسیبپذیری Claude Code را فراهم کرد.حمله Prompt Injection و سوءاستفاده از آسیبپذیری Claude Code
مهاجمان میتوانند با استفاده از تکنیک Prompt Injection از این آسیبپذیری Claude Code سوءاستفاده کنند. در این سناریو:- یک فایل مخرب md در مخزن کد قرار میگیرد.
- مدل را مجبور به تولید یک pipeline با بیش از 50 دستور میکند.
- قوانین Deny اجرا نمیشوند.
- مکانیزم تشخیص command injection غیرفعال میشود.
- سیستم بدون هشدار به حالت Ask میرود.
پیامدهای احتمالی این آسیبپذیری Claude Code
اگر این آسیبپذیری Claude Code در سناریوهای واقعی مورد سوءاستفاده قرار گیرد، مهاجمان ممکن است بتوانند اطلاعات بسیار حساسی را استخراج کنند، از جمله:- کلیدهای خصوصی SSH
- اعتبارنامههای AWS
- توکنهای GitHub
- توکنهای npm
- متغیرهای محیطی و Env Secrets
- سرقت گسترده اعتبارنامهها
- افشای زنجیره تأمین نرمافزار (Supply Chain Attack)
- نفوذ به زیرساختهای Cloud
- آلودهسازی CI/CD Pipeline