آخرین اخبار
همهٔ اخبار
مدیریت آسیب‌پذیری گزارش بحرانیت ۶/۱۰

نشت گسترده اطلاعات حساس در ابزار Claude Code بر اثر ذخیره‌سازی دستورات تایید شده

دربارهٔ Anthropic Claude Code ۴۹ مطلب دیگر دربارهٔ Anthropic ←
نشت گسترده اطلاعات حساس در ابزار Claude Code بر اثر ذخیره‌سازی دستورات تایید شده

یافته‌های جدید نشان می‌دهد که فایل پیکربندی ابزار Claude Code متعلق به شرکت Anthropic، باعث افشای هزاران کلید API، اطلاعات اتصال به پایگاه داده (Database Credentials) و سایر اطلاعات حساس شده است.

تحقیقات نشان داده است که ۳۱,۰۸۸ مورد از اطلاعات حساس در فایل‌های .claude/settings.local.json در بیش از ۲۳,۰۰۰ مخزن عمومی GitHub شناسایی شده است. از این میان، ۵,۳۴۳ مورد در زمان شناسایی همچنان معتبر بودند. این اطلاعات شامل رشته‌های اتصال به پایگاه داده (Connection Strings)، توکن‌های ارائه‌دهندگان ابری (Cloud Provider Tokens)، رمزهای عبور SSH، کلیدهای API گوگل و سایر اعتبارنامه‌هاست.

مکانیسم نشت: تبدیل تایید دستورات به ذخیره‌سازی اعتبارنامه‌ها

مشکل اصلی در نحوه مدیریت تایید دستورات (Command Approvals) در Claude Code نهفته است. زمانی که یک توسعه‌دهنده گزینه «Yes, and don’t ask again» را برای اجرای یک دستور Shell انتخاب می‌کند، ابزار یک قانون اجازه (Allow Rule) را در فایل .claude/settings.local.json ذخیره می‌کند. نکته بحرانی اینجاست که این قانون شامل خودِ رشته دستور (Command String) است؛ بنابراین اگر دستور حاوی اطلاعات حساسی باشد، آن اطلاعات نیز در فایل ذخیره می‌شود.

به عنوان مثال، اگر توسعه‌دهنده دستوری مانند curl را که حاوی یک کلید API در هدر HTTP است تایید کند، Claude Code کل آن دستور را به عنوان یک قانون تایید شده ذخیره می‌کند و بدین ترتیب کلید API در فایل پیکربندی قرار می‌گیرد.

ریسک در تصاویر Docker

علاوه بر مخازن کد، این اطلاعات در تصاویر عمومی Docker Hub نیز یافت شده است. این اتفاق زمانی رخ می‌دهد که توسعه‌دهندگان از دستور COPY در Dockerfile برای کپی کردن کل دایرکتوری پروژه استفاده می‌کنند. برخلاف Git، سرویس Docker به طور خودکار فایل .gitignore را رعایت نمی‌کند، مگر اینکه توسعه‌دهنده به طور صریح فایل مذکور را در .dockerignore قرار دهد.

توصیه‌های امنیتی برای تیم‌های DevSecOps

  • چرخش اعتبارنامه‌ها (Credential Rotation): تمامی کلیدها و رمزهایی که احتمال نشت آن‌ها وجود دارد باید فوراً تغییر یابند.
  • استفاده از متغیرهای محیطی (Environment Variables): به جای وارد کردن مستقیم (Hardcoding) اطلاعات حساس در دستورات، از متغیرهای محیطی استفاده کنید.
  • اسکن فایل‌های پیکربندی: فایل‌های تنظیمات دستیارهای کدنویسی هوش مصنوعی باید مانند فایل‌های محیطی سنتی اسکن شوند.

شرکت Anthropic در حال بررسی این موضوع و جستجو برای پیاده‌سازی لایه‌های حفاظتی جدید از جمله قابلیت اسکن خودکار اطلاعات حساس (Built-in Secret Scanning) است.