Claude Code شرکت Anthropic ابزاری است که به توسعهدهندگان امکان میدهد فرمانهای شِلِ تولیدشده با هوش مصنوعی را در پروژههایشان اجرا کنند. وقتی کاربر روی «بله، و دیگر نپرس» کلیک میکند، این تأیید در فایلی محلی به نام .claude/settings.local.json ذخیره میشود. این فایل فرمان دقیق را در خود نگه میدارد؛ فرمانی که ممکن است شامل گذرواژههای پایگاه داده، توکنهای API یا اطلاعات محرمانه دیگر باشد. در مستندات Anthropic آمده است که این فایل به یک .gitignore سراسری افزوده میشود و بنابراین باید روی دستگاه توسعهدهنده بماند.
پژوهشگران Apiiro دریافتند که این ورودی .gitignore برای خود مخزن کاربرد ندارد. اگر پوشهای که فایل تنظیمات در آن قرار دارد بعداً به مخزن Git تبدیل شود، یا خود Claude Code فایل را commit کند، ممکن است اطلاعات حساس به GitHub فرستاده شود. بررسی Apiiro در مخازن عمومی GitHub بیش از 100,000 نمونه از این فایل را پیدا کرد که حدود 1,100 مورد از آنها حاوی اطلاعات محرمانه واقعی بود. این اطلاعات به 63 سازمان مختلف تعلق داشت و شامل توکنهای عمومی API، گذرواژههای پایگاه داده و کلیدهای خصوصی میشد.
پس از عمومیشدن یک فایل، حذف آن از مخزن اصلی نسخههای موجود در انشعابها یا حافظههای نهان را پاک نمیکند. بنابراین هرکس مخزن را clone کند یا تاریخچه آن را مرور کند، همچنان میتواند اطلاعات محرمانه افشاشده را ببیند. پژوهشگران هشدار دادند که اگر کلیدهای افشاشده هنوز فعال باشند، مهاجمان ممکن است از آنها برای دسترسی به پایگاههای داده، سرویسهای ابری یا سامانههای داخلی استفاده کنند.
چرا این افشاگری اهمیت دارد
این یافته به توسعهدهندگان یادآوری میکند که پیش از commit کردن کد، فایلهایی را که قرار است در مخزن ثبت شوند دوباره بررسی کنند. اتکا به یک .gitignore سراسری کافی نیست؛ هر مخزن باید .gitignore مخصوص خود را داشته باشد و در آن .claude/settings.local.json مستثنا شود. سازمانها همچنین باید اعتبارنامههایی را که ممکن است افشا شده باشند تغییر دهند و مخازنشان را برای یافتن فایلهای مشابه بررسی کنند.
چرا مهم است
توسعهدهندگان ممکن است هنگام استفاده از Claude Code ناخواسته اطلاعات محرمانه خود را افشا کنند و زمینه دسترسی غیرمجاز به سرویسها را فراهم آورند. سازمانها باید مخازن خود را بررسی کنند، با فایل تنظیمات مانند اطلاعات حساس برخورد کنند، آن را به .gitignore هر پروژه اضافه کنند و هر کلید افشاشدهای را تغییر دهند.