در رویدادی که در اواخر بهار ۱۴۰۴ بازتاب گستردهای در جوامع توسعهدهندگان داشت، یک عامل هوش مصنوعی کدنویسی در کمتر از دو دقیقه، ۴۸ هزار فایل حیاتی یک پروژه را به دلیل درک نادرست از ساختار سیستمفایل ویندوز حذف کرد و پایگاه داده Git آن را به طور کامل از بین برد. این حادثه، بار دیگر ضرورت رعایت اصول بنیادین مهندسی نرمافزار و مدیریت ریسک در مواجهه با ابزارهای خودکار را برجسته کرد.
چگونه یک عامل هوش مصنوعی دست به تخریب زد؟
ماجرا از زمانی آغاز شد که یک توسعهدهنده به ابزار Claude Code وظیفه بازسازی و تعمیر یک محیط تست (Mirror) برای تحلیل دادههای مالی را سپرد. عامل هوش مصنوعی وظیفه داشت فایلها را کپی کرده و بدون دست زدن به فایلهای اصلی (Live files)، تغییرات را اعمال کند. مشکل اصلی در درک «Windows Junctions» نهفته بود؛ این نقاط اتصال که در ویندوز مانند پوشههای معمولی به نظر میرسند، در واقع اشارهگرهایی (Pointers) هستند که به مکانهای دیگری در دیسک متصل میشوند. عامل هوش مصنوعی هنگام پاکسازی محیط تست، این Junctionها را به عنوان فایلهای معمولی شناسایی کرد و به جای حذف لینک، وارد مسیرهای اصلی شده و تمامی فایلهای موجود در دایرکتوریهای مقصد را با سرعتی باورنکردنی در کمتر از ۱۰۰ ثانیه حذف کرد.
فروپاشی پایگاه داده Git و از دست رفتن تاریخچه
فاجعه زمانی تکمیل شد که علاوه بر حذف فایلهای کاری، زیرساخت دیتابیس اشیاء در Git نیز آسیب دید. اگرچه ایندکس Git تا حدی باقی ماند، اما فایلهای ذخیرهشده و تاریخچهای که برای بازسازی پروژه ضروری بودند، پاک شدند. در نتیجه، Git تنها لیست نام فایلها را در اختیار داشت اما محتوای واقعی آنها غیرقابل بازیابی بود. نکته قابل توجه این بود که هوش مصنوعی در حین انجام این عمل مخرب، با پیامی صادقانه به کاربر هشدار داد: «کریگ، متوقف شو و این را بخوان. من چیزی را شکستم!» اما سرعت پردازش عامل هوش مصنوعی بسیار فراتر از سرعت واکنش انسانی بود.
تحلیل فنی و واکنش جامعه مهندسی
کاربران در پلتفرم Reddit این رویداد را «نمونهای کلاسیک از فقدان استراتژی بکآپگیری» نامیدند. انتقاد اصلی جامعه مهندسی به عدم استفاده از مخازن ریموت (مانند GitHub) معطوف بود. در دنیای توسعه مدرن، داشتن یک نسخه ریموت، حکم «دکمه ذخیره» (Save Button) را دارد. کارشناسان تأکید میکنند که سپردن دسترسیهای فایلسیستمی به یک عامل هوش مصنوعی بدون ایزولاسیون کامل یا اجرای آن در کانتینرهای ایزوله، ریسکی است که میتواند به از دست رفتن تمام تلاشهای یک پروژه ختم شود.
مشخصات فنی و تحلیل حادثه
- نوع عامل: Claude Coding Agent
- تعداد فایلهای حذف شده: ۴۸,۲۱۸ فایل حیاتی (از مجموع ۵۵,۵۵۰ فایل)
- زمان صرف شده: کمتر از ۱۰۰ ثانیه
- علت فنی: عدم شناسایی و پیمایش اشتباه Windows Junctions
- پیامد نرمافزاری: نابودی Git Object Database و از دست رفتن امکان بازیابی تاریخچه
نتیجهگیری و توصیههای امنیتی
این واقعه درس بزرگی برای دوران توسعه با هوش مصنوعی است. همانطور که پیشتر در فوریه ۲۰۲۶ (بهمن ۱۴۰۴) نیز شاهد بروز رفتارهای ناخواسته در عوامل هوش مصنوعی مانند OpenClaw بودهایم، اطمینان بیش از حد به کدهای تولیدی یا عملیاتی AI میتواند فاجعهبار باشد. برای جلوگیری از حوادث مشابه:
- همواره از سیستمهای کنترل نسخه توزیعشده (DVCS) و مخازن ریموت استفاده کنید.
- اجازه ندهید عوامل هوش مصنوعی در محیط تولید (Production) بدون نظارت و ایزولاسیون (مانند Docker) فعالیت کنند.
- پیش از واگذاری عملیات سنگین حذف یا تغییر فایل، دسترسیهای سیستمفایل (File System Permissions) را برای عامل محدود کنید.