DKeepaDKeepa Plus

باگ امنیتی در حالت خودکار Claude Code

M
Mohammad Alipourنویسنده و کارشناس محتوا
۲۵ تیر ۱۴۰۵زمان مطالعه: 5 دقیقه
باگ امنیتی در حالت خودکار Claude Code

خلاصه هوشمند مقاله

افشای یک باگ جدید در حالت خودکار (auto-mode) ابزار Claude Code نشان می‌دهد که توسعه‌دهندگان هنگام بررسی کتابخانه‌های شخص ثالث (Third-party) با استفاده از این دستیار هوشمند، در معرض خطر جدی اجرای کد از راه دور (RCE) قرار دارند

افشای یک آسیب‌پذیری جدید در حالت خودکار (auto-mode) ابزار Claude Code نشان می‌دهد که توسعه‌دهندگان هنگام بررسی کتابخانه‌های شخص ثالث (Third-party) با استفاده از این دستیار هوشمند، در معرض خطر جدی اجرای کد از راه دور (RCE) قرار دارند. مؤسسه هوش مصنوعی «AI Now» با ارائه یک اثبات مفهوم (PoC) نشان داده است که چگونه یک بررسی کد ساده و روتین می‌تواند به دسترسی کامل مهاجم به سیستمِ توسعه‌دهنده منجر شود.

این آسیب‌پذیری روی نسخه‌های پیش‌فرض کلاینت متنی Claude Code (نسخه‌های ۲.۱.۱۱۶ تا ۲.۱.۱۹۹) همراه با مدل‌های کلود سونات ۴.۶، سونات ۵ و اوپوس ۴.۸ در حالت خودکار، و همچنین ابزار Codex نسخه ۰.۱۴۲.۴ با مدل GPT-5.5 در حالت بررسی خودکار فعال است؛ بدون اینکه به هیچ ابزار جانبی، پلاگین یا سرور MCP خاصی نیاز باشد.

مکانیزم حمله؛ چگونه متن ساده به دستور مخرب تبدیل می‌شود؟

این آسیب‌پذیری زمانی رخ می‌دهد که توسعه‌دهندگان از عامل‌های هوش مصنوعی (AI Agents) برای اسکن بسته‌های متن‌باز و کشف باگ‌های امنیتی استفاده می‌کنند. از آنجا که این ابزارها دسترسی بالایی به سیستم دارند، همان مسیر دسترسی برای نفوذ مهاجمان باز می‌شود:

  1. سوءاستفاده از مستندات بازی‌نما (README یا فایل‌های راهنما): عامل هوش مصنوعی برای بررسی مخزن کد وارد آن می‌شود. مهاجم دستورالعمل‌های مخربی را در قالب متن ساده درون مستندات (مانند فایل README، CLAUDE.md یا agent.md) قرار داده است.
  2. فریب هوش مصنوعی: عامل هوشمند فایل راهنما را می‌خواند. این مستندات به دروغ ادعا می‌کنند که اجرای یک اسکریپت یا فایل باینری خاص برای تست‌های امنیتی پروژه ضروری است.
  3. اجرای مستقیم روی سیستم میزبان: از آنجا که حالت خودکار فعال است و عامل هوش مصنوعی بر اساس مستندات تصمیم می‌گیرد، دستور را تایید کرده و فایل باینری آلوده را روی سیستم توسعه‌دهنده یا کانتینر اجرا می‌کند.

این روش از سد تست‌های استاتیک سنتی عبور می‌کند؛ چرا که کدهای مخرب درون توابع اصلی کتابخانه قرار ندارند، بلکه درون فایل‌های متنیِ راهنما پنهان شده‌اند. در آزمایش‌های انجام‌شده، مدل‌های پیشرفته‌ای مثل سونات ۴.۶ و GPT-5.5 حتی پس از سوال مستقیم کاربر، نتوانستند وجود تزریق دستور (Prompt Injection) را در سورس‌کد شناسایی کنند.

یک نقص ساختاری، نه یک باگ نرم‌افزاری ساده!

روی الیاهو (Roey Eliyahu)، مدیرعامل شرکت Salt Security، در این باره می‌گوید:

«این یک مشکل مدل نیست که بتوان آن را با یک آپدیت برطرف کرد. این یک ویژگی ساختاری از نحوه‌ی کارکرد این عامل‌های هوشمند است. وقتی یک حمله روی دو شرکت مختلف و چهار نسل مختلف از مدل‌ها (Claude Sonnet 4.6, Sonnet 5, Opus 4.8, GPT-5.5) دقیقاً به یک شکل کار می‌کند، شما با یک باگ مواجه نیستید؛ بلکه مشکل اینجاست که عامل هوشمند نمی‌تواند مرز بین کدی که در حال بررسی آن است و دستورالعملی که به او داده می‌شود را تفکیک کند.»

سناریوهای تهدید در دنیای واقعی

  • دستکاری کدهای متن‌باز محبوب (تامین امنیت زنجیره‌ای): اگر یک پکیج متن‌بازِ محبوب هک شود و کدهای مخربِ متنی به آن تزریق شود، سیستم‌های یکپارچه‌سازی مداوم (CI/CD) یا توسعه‌دهندگانی که از عامل‌های هوش مصنوعی برای بررسی نسخه جدید استفاده می‌کنند، قربانی خواهند شد. در این سناریو، توسعه‌دهنده هرگز فایل‌های آلوده را باز نمی‌کند؛ این عامل هوشمند است که آن‌ها را باز کرده و فریب می‌خورد.
  • پاک کردن سیستم و سرقت کلیدها: از آنجا که عامل هوشمند دسترسی بالایی به خط فرمان (Shell) دارد، مهاجمی که سیستم را فریب داده می‌تواند کلیدهای امنیتی، پسوردها و توکن‌ها را سرقت کرده یا دسترسی دائمی به شبکه داخلی سازمان پیدا کند.

راه‌حل‌ها و توصیه‌های امنیتی برای تیم‌های توسعه

برای جلوگیری از افتادن در دام این حملات، سازمان‌ها و توسعه‌دهندگان باید اقدامات زیر را انجام دهند:

  • قطع دسترسی مستقیم عامل‌ها به سیستم اصلی: هرگز کدهای ناشناخته یا مخازن شخص ثالث را به عامل‌های هوشمندی که دسترسی به خط فرمان (Shell)، کلیدهای امنیتی و فایل‌سیستم اصلی دارند، نسپارید.
  • ایزوله‌سازی محیط‌های تست (Sandboxing): ابزارهای هوش مصنوعی توسعه را فقط روی ماشین‌های مجازی کاملاً ایزوله یا کانتینرهایی اجرا کنید که به اینترنت، اسرار تولید (Production Secrets) یا شبکه‌های داخلی دسترسی ندارند.
  • نظارت بر سطح رفتار (Runtime Monitoring): به جای تکیه بر بررسی توکن‌ها و دسترسی‌ها، رفتارهای سیستم را بررسی کنید. اجرای اسکریپت‌ها یا باینری‌هایی که هرگز در کدهای استاندارد پروژه فراخوانی نمی‌شوند، یک زنگ خطر جدی است.
  • غیرفعال کردن حالت کاملاً خودکار: با وجود اینکه تایید دستیِ تک‌تک دستورات سرعت کار را کاهش می‌دهد، اما حذف کامل انسان از چرخه‌ی تصمیم‌گیری عامل‌های هوشمند در حال حاضر ریسک امنیتی بسیار بالایی دارد.

منبع: گزارش رایان داز (Ryan Daws)

اشتراک‌گذاری:

نظرات کاربران (0)

اولین نفری باشید که نظر می‌دهد!

ثبت نظر جدید