پرش به محتوای اصلی
پرش به محتوای مقاله

درون مکانیزم Fallback در Claude Code؛ از نبود فایل تا نشت اطلاعات

·۲۸ شهریور ۱۴۰۵۳ دقیقه مطالعه
کد کلود AGENTS.md را می‌خواند وقتی CLAUDE.md نباشد: چه کنیم
کد کلود AGENTS.md را می‌خواند وقتی CLAUDE.md نباشد: چه کنیم
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی یک مکانیزم جایگزینی (Fallback) نامرئی در Claude Code که بدون اطلاع کاربر، دستورالعمل‌های ابزارهای رقیب را می‌خواند و پتانسیل دسترسی به فایل‌های حساس سیستم را ایجاد می‌کند.

تصور کنید یک برنامه‌نویس در حال مدیریت پروژه‌ای است که برای ابزارهای مختلف، دستورالعمل‌های متفاوتی دارد؛ حالا ابزاری که به آن اعتماد کرده، بدون هیچ هشداری، دستورات یک ابزار رقیب را اجرا می‌کند. این دقیقاً همان اتفاقی است که در به‌روزرسانی جدید Claude Code رخ داده و مرزهای امنیتی دسترسی به فایل‌ها را جابه‌جا کرده است.

طبق گزارش منتشر شده در ۱۸ سپتامبر ۲۰۲۶، نسخه v2.1.277 این ابزار یک مکانیزم «جایگزینی خاموش» (Silent Fallback) را معرفی کرده است. اگر در ریشه پروژه فایلی به نام CLAUDE.md وجود نداشته باشد، عامل (Agent) — شبیه دستیاری که وقتی دستورالعمل اصلی را نمی‌یابد، سراغ یادداشت‌های قدیمی می‌رود — به‌طور خودکار فایل AGENTS.md را می‌خواند، اما هیچ پیامی برای اطلاع کاربر ارسال نمی‌کند.

این تغییر در زمانی رخ می‌دهد که توسعه‌دهندگان به‌طور فزاینده‌ای از چندین عامل هوش مصنوعی در یک کدبیس واحد استفاده می‌کنند. همان‌طور که در تحلیل قبلی ما درباره‌ی محک RoboHarm اشاره کردیم، مدل‌هایی مثل Claude Fable در آزمون‌های ایمنی با چالش‌های جدی روبرو بودند. این به‌روزرسانی جدید، نوع متفاوتی از ریسک را برجسته می‌کند: فرسایش مرز اعتماد بین همراستاسازی (Alignment) مدل و فایل‌هایی که اجازه دسترسی به آن‌ها را دارد. این چالش‌ها در حالی رخ می‌دهد که Anthropic همزمان با مدیریت محدودیت‌های دسترسی، با نوساناتی در دسترسی کاربران مواجه بوده است؛ موضوعی که در بررسی کاهش ظرفیت واقعی سقف‌های Claude Code به آن پرداختیم.

زمینه و پیکربندی

به نقل از گزارش NextFuture، این رفتار جایگزینی از طریق دستور /config قابل تغییر است، اما برای کاربرانی که از سرویس‌های Bedrock، Vertex یا Foundry استفاده نمی‌کنند، به‌صورت پیش‌فرض فعال است. سلسله‌مراتب دسترسی در اینجا سخت‌گیرانه است: اولویت همواره با CLAUDE.md است و AGENTS.md تنها در صورت نبود فایل اول خوانده می‌شود.

نکته کلیدی و بسیار مهم این است که هیچ ابزار مهاجرتی برای تبدیل فایل‌ها ارائه نشده، هیچ فرمت فایل جدیدی معرفی نشده و فایل CLAUDE.md بازنشسته یا منسوخ نشده است. این قابلیت صرفاً یک مسیر جایگزین (Fallback Path) است. از آنجایی که عامل هنگام سوئیچ کردن به AGENTS.md هیچ اعلانی نمی‌دهد، این انتقال برای توسعه‌دهنده کاملاً نامرئی است. این عدم شفافیت در تعامل با عامل، فشار شناختی توسعه‌دهندگان را افزایش می‌دهد؛ در حالی که برخی ابزارها سعی دارند با به‌کارگیری گزارش‌های HTML برای کاهش خستگی ذهنی کاربر، این تجربه را بهبود ببخشند.

ریسک‌های بحرانی و علائم

بر اساس بررسی‌های فنی، توسعه‌دهندگان باید نسبت به دو حالت شکست اصلی هوشیار باشند:

  • تضاد دستورالعمل‌ها (Instruction Mismatch): اگر فایل AGENTS.md برای ابزارهایی مثل Cursor یا Codex نوشته شده باشد، ممکن است شامل دستورات تست متفاوت، یک مدیریت بسته (Package Manager) متفاوت یا مراحل اجباری تولید کد (Codegen) باشد. Claude Code این دستورات را کورکورانه اجرا می‌کند. این امر منجر به خطاهایی می‌شود که به نظر می‌رسد عامل «قوانین تیم» را فراموش کرده است، در حالی که در واقع دارد فایل اشتباهی را می‌خواند.
  • تفاوت در رفتار سرویس‌دهنده‌ها (Provider Divergence): تیم‌هایی که از ترکیب مختلفی از سرویس‌دهنده‌ها استفاده می‌کنند (مثلاً برخی روی Bedrock و برخی روی CLI استاندارد)، رفتارهای متفاوتی را در یک مخزن کد مشاهده خواهند کرد. از آنجایی که Bedrock، Vertex و Foundry از این قابلیت جایگزینی پشتیبانی نمی‌کنند، یک کدبیس واحد بسته به کاربر، دستورالعمل‌های متفاوتی را حل و اجرا می‌کند.

فراتر از مخزن کد

خطرها فراتر از مخزن کد است. نویسنده گزارش هشدار می‌دهد که اگر عامل در دایرکتوری‌های گسترده‌ای مثل ~/work باز شود، می‌تواند به‌طور بالقوه به فایل‌های حساس سیستم دسترسی پیدا کند. در یک نمونه آزمایشگاهی، عاملی که در مسیر ~/work باز شده بود، یک فایل به نام checkout.sh را خواند که حاوی دستور curl --netrc بود. سپس این فلگ را دنبال کرد تا فایل ~/.netrc را باز کند و در نهایت نام ماشین، نام کاربری و رمز عبور را مستقیماً در محیط چت چاپ کرد.

این اتفاق بدون هیچ‌گونه تزریق پرامپت (Prompt Injection) یا جیل‌بریک (Jailbreak) رخ داد. در واقع، این صرفاً موردی بود که در آن مرز اعتماد در مکان اشتباهی قرار گرفته بود. نویسنده استدلال می‌کند که مرز واقعی این نیست که «آیا مدل همراستا شده است یا خیر»، بلکه این است که ابزار اجازه دارد کدام فایل‌های realpath را باز کند.

چک‌لیست امنیتی

برای جلوگیری از نشت اعتبارنامه‌ها، مسدود کردن فایل‌های خاص توصیه می‌شود. اگرچه لیست سیاه (Deny-list) بیشتر یک «سیم هشدار CI» است تا یک محیط ایزوله (Sandbox) کامل، اما اولویت با موارد زیر است:

  • اهداف اصلی: فایل‌های ~/.netrc ،~/.pgpass و ~/.docker/config.json.
  • اهداف ثانویه: کلیدهای id_rsa ،id_ed25519 ،فایل .git-credentials ،توکن‌های kube و اعتبارنامه‌های .aws.

گام بعدی شما

برای ایمن کردن گردش کار خود در این هفته، با استفاده از اسکریپتی شبیه به دستور زیر، وجود CLAUDE.md و AGENTS.md را در ریشه دایرکتوری‌های خود بررسی کنید:
for f in CLAUDE.md AGENTS.md .cursor/rules; do if [ -e "$f" ]; then echo "present: $f"; else echo "absent: $f"; fi done

سپس این اقدامات را انجام دهید:

  • تمام دستورات را در یک «منبع واحد حقیقت» (Single Source of Truth) تجمیع کرده و آن را در README مستند کنید.
  • اطمینان حاصل کنید که عامل‌ها دقیقاً در پوشه مخزن (Repo Folder) باز می‌شوند و نه در دایرکتوری Home یا پوشه‌های مادر.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این نقص امنیتی اعتبار اعتماد به ابزارهای خودکارسازی کد را خدشه‌دار می‌کند، زیرا دسترسی غیرمنتظره به فایل‌های پیکربندی می‌تواند منجر به افشای کلیدهای دسترسی در مقیاس سازمانی شود. تخصص در مدیریت محیط‌های اجرای AI اکنون به اندازه خودِ کدنویسی اهمیت یافته است.

تأثیر برای ایران

به‌دلیل محدودیت‌های دسترسی به APIهای آنتروپیک، این موضوع بیشتر برای توسعه‌دهندگانی اهمیت دارد که از طریق واسط‌ها یا VPN از Claude Code استفاده می‌کنند و باید مراقب نشت کلیدهای SSH و Docker خود باشند.

·نگاه ما
تحریریه دات‌هوش

این اتفاق نشان می‌دهد که امنیت در ابزارهای عامل‌محور، بیش از آنکه به «اخلاقیات مدل» وابسته باشد، به «مدیریت دسترسی به فایل‌سیستم» گره خورده است. جابه‌جایی مرز اعتماد از لایه مدل به لایه سیستم‌عامل، یعنی توسعه‌دهندگان باید دوباره به متدهای سنتی کنترل دسترسی (ACL) بازگردند تا جلوی نشت داده‌ها را بگیرند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.