طبق تحقیقات جدید شرکت امنیتی برنامه Apiiro، راحتترین دکمه در کد کلود Anthropic - "بله و دوباره نپرس" - بی سر و صدا به یک دستگاه نشت اعتبار تبدیل شده است. هنگامی که توسعه دهندگان دستوری را که حاوی یک راز است تأیید می کنند، Claude Code دقیقاً آن دستور را که شامل مخفی می شود، در یک فایل تنظیمات محلی ذخیره می کند که اغلب به مخازن عمومی GitHub متعهد می شود. اسکن Apiiro 2539 راز واقعی را در 1994 مخزن عمومی یافت: رمزهای عبور پایگاه داده، کلیدهای API ابری، توکن ها و ورود به سیستم ریشه SSH، که در 63 سازمان، که بیشتر آنها شرکت های نرم افزاری هستند، پراکنده شده است. یکی از شرکتهای آسیبدیده به محققان تأیید کرد که یک کلید در معرض نمایش زنده بوده است. این دومین رویداد حریم خصوصی Claude Code در این ماه است که پس از [افشای ایمیلهای کاربر به وبسایتها] (https://aibuzzwire.news/en/article/claude-code-leaked-user-emails-user-agent-header-spam-wave) این ابزار از طریق جزئیات زیرساختهای تماس با User-Agent – و نه فقط با زیرساختهای تولید تماس با نماینده کاربر، انجام میشود. ما امنیت عامل کدنویسی هوش مصنوعی را در [پوشش ابزارهای هوش مصنوعی] (https://aibuzzwire.news) از نزدیک دنبال می کنیم.
چگونه یک قانون مجوز به یک نشت تبدیل می شود
این مکانیسم یک اثر جانبی سیستم مجوز Claude Code است که قبل از اجرای دستورات پوسته - اغلب چندین بار در هر جلسه - درخواست تأیید می کند. از عامل بخواهید یک اتصال پایگاه داده را اشکال زدایی کند یا یک API داخلی را فراخوانی کند، و دستوری که پیشنهاد می کند هر اعتباری را که کار نیاز دارد را در خود دارد، زیرا بدون آنها نمی تواند کار کند.
"Yes, and don't ask again" را انتخاب کنید، و Claude Code فرمان را اجرا می کند و یک قانون مجوز برای `.claude/settings.local.json` در داخل پوشه پروژه می نویسد. این قانون یک انتزاع نیست: خود رشته دستور کامل است، رمز عبور تایپ شده در متن ساده و همه چیز است.
این فایل به گونهای طراحی شده است که روی دستگاه توسعهدهنده باقی بماند، و Claude Code سعی میکند از آن محافظت کند - با افزودن آن به فهرست نادیدهگیری git جهانی توسعهدهنده. این مورد رایج را پوشش میدهد، اما موارد لبه را پوشش نمیدهد: پوشهای که بعداً به یک مخزن تبدیل میشود، یک کلون در ماشین دیگری که در آن نادیدهگیری سراسری وجود ندارد، یا فایلی که شخصی قبل از اضافه شدن ورودی نادیده گرفته شده است. مهمتر از همه، این قانون هرگز در ".gitignore" خود مخزن قرار نمی گیرد، بنابراین هیچ حفاظتی با پروژه انجام نمی شود.
با تشدید مشکل، Claude Code اغلب خود فایل را commit می کند. در 539 از 1105 مخزن که Apiiro یک راز واقعی را ردیابی کرد، یک commit با همکاری کلود فایل تنظیمات را تغییر داده بود - مدلهای نامگذاری شده از Sonnet 4.5 تا Opus 5.5 را متعهد میکند. Apiiro خاطرنشان می کند که این رفتار متعلق به کلود کد است، نه مدل: شرکت آن را با Opus 5.5 و Fable 5.1 بازتولید کرده است.
مقیاس قرار گرفتن در معرض
Apiiro 104185 نسخه عمومی «.claude/settings.local.json» را در GitHub شمارش کرد. از این تعداد، 1122 مورد حداقل حاوی یک راز واقعی هستند. محققان 1160 راز دیگر را در تاریخچه git مخزن، در فایلهای به اشتراکگذاشتهشده «settings.json» که تیمها عمداً مرتکب میشوند و در رونوشتهای چت عامل ذخیرهشده که در مخازن بررسی میشوند، کشف کردند.
نمونههای اسناد Apiiro مانند یک چک لیست بدترین عملکردها خوانده میشوند. یک فروشنده پایگاه داده، کلید API ابری سطح مدیریت خود را - با دسترسی مدیریتی و بدون انقضا - در کنار میزبان خوشهای خود در معرض نمایش گذاشت. یک استارتاپ B2B یک رمز عبور تولیدی Azure Postgres را فاش کرد. یک آژانس نرم افزاری توکن دسترسی تولید Square را افشا کرد. یک شرکت خدمات فناوری اطلاعات که یک برنامه کاربردی سوابق پزشکی می سازد، رمز عبور مالک آن پایگاه داده را فاش کرد. پروژههای متنباز بهتر عمل نکردند: یکی با بیش از 1000 ستاره، یک کلید API با فرمت OpenAI منتشر کرد، دیگری یک توکن npm.
زمینه امنیتی یافته را بدتر می کند. بدافزار سرقت مدارک قبلاً ماشینهای توسعهدهنده را به صورت انبوه جارو میکند - Apiiro به کرم Shai-Hulud npm اشاره میکند که اسکنر TruffleHog را روی فایلهای قربانیان اجرا میکرد. همان اسکنر 643 مورد از 1122 فایل لو رفته Apiiro را نشان می دهد. نگران کننده تر، باقی مانده است: از هر پنج فایل فاش شده، یک مورد نه توسط TruffleHog و نه gitleaks علامت گذاری می شود، معمولاً به این دلیل که رمز عبور رمز عبوری است که در داخل یک فرمان تایپ شده است نه یک کلید در قالب توکن قابل تشخیص. به عبارت دیگر، اسکنرهای مخفی از نظر ساختاری نسبت به این کلاس نشت کور هستند.
تیم های تحت تاثیر چه کاری باید انجام دهند
راهنمای اصلاح Apiiro با تعیین محدوده شعاع انفجار شروع می شود. سازمان GitHub خود را برای «.claude/settings.local.json» و « تاریخچه git هر مخزن را برای فایل بررسی کنید، حتی اگر حذف شده باشد، زیرا هر فورک و کلون هر آنچه را که تاریخچه موجود است حفظ می کند. سپس نسخههای محلی را در هر ماشین توسعهدهنده بررسی کنید: هر ورودی در لیست مجاز، فرمانی است که کسی تأیید کرده است، با هر آنچه در آن تایپ شده است.
مسائل مربوط به سفارش شرکت: اولین چرخش، دوم تمیز کردن. حذف یک فایل از یک مخزن هیچ کاری در مورد اعتبارنامه هایی که قبلاً عمومی بودند، ندارد و تاریخچه git اسرار افشا شده را به طور نامحدود زنده نگه می دارد.
یک الگو، نه یک بار
برای Anthropic، این یافته یک هفته پس از اینکه Claude Code در حال افشای آدرس ایمیل کاربران به هر وبسایتی که از طریق هدرهای User-Agent بازدید میکرد، به دست آمد - یک اشکال با ارسال یک اصلاح حریم خصوصی، که منتقدان آن را باند کمک نامیدند، برطرف شد. این دو رویداد یک علت اصلی مشترک دارند: عاملی که زمینه های قدرتمند را مدیریت می کند - اعتبارنامه ها، جزئیات تماس، نام میزبان داخلی - و تصمیمات پیش فرض را در مورد جایی که آن زمینه سفر می کند، می گیرد.
این درس فراتر از کد کلود تعمیم می یابد. با تبدیل شدن عوامل کدنویسی به تجهیزات استاندارد، فایل هایی که برای سازماندهی خود می نویسند در حال تبدیل شدن به گوشه ای جدید و اسکن نشده از زنجیره تامین نرم افزار هستند. اعداد Apiiro نشان می دهد که گوشه در حال حاضر در مقیاسی درز می کند که اکثر سازمان ها شروع به اندازه گیری نکرده اند.
از هوش مصنوعی جلوتر بمانید
ابزارهای هوش مصنوعی سریعتر از آنچه بررسیهای ایمنی آنها میتواند انجام شود ارسال میشوند. همه پیشرفتها را در [پوشش اخبار هوش مصنوعی] (https://aibuzzwire.news) ما دنبال کنید.
اخبار هوش مصنوعی را بیشتر بخوانید →