گزارشی تازه از یک کاربر Claude Code نشان میدهد عامل برنامهنویسی Anthropic هنگام بازسازی نسخهای آزمایشی از یک پروژه، بهاشتباه ۴۸٬۲۱۸ فایل از محیط اصلی را حذف کرده است؛ اتفاقی که طبق گزارش در تنها ۱۰۳ ثانیه رخ داده است.
ماجرا ابتدا در ردیت منتشر شد و سپس رسانههایی مانند TechRadar آن را بررسی کردند. جزئیات فعلی عمدتاً بر گزارش خود توسعهدهنده و خروجیهای ثبتشده از همان رخداد تکیه دارند و Anthropic تاکنون تأیید مستقلی درباره تمام جزئیات این مورد منتشر نکرده است.
Claude Code قرار بود فقط یک نسخه آزمایشی را بازسازی کند
وظیفه اولیه Claude Code بازسازی یک Mirror از پروژه بود؛ یعنی نسخهای جداگانه که برای آزمایش تغییرات استفاده میشد و قرار نبود فایلهای محیط اصلی را دستکاری کند.
وقتی اسکریپت موجود نتوانست این نسخه را بهدرستی نوسازی کند، عامل هوش مصنوعی یک اسکریپت پاکسازی جدید ایجاد کرد تا فایلهای نسخه قدیمی را حذف و محیط را دوباره بسازد.
مشکل از همینجا آغاز شد.
۴۸٬۲۱۸ فایل واقعی در ۱۰۳ ثانیه حذف شدند
طبق گزارش توسعهدهنده، فرایند پاکسازی در مجموع حدود ۵۵٬۵۵۰ فایل را حذف کرد.
حدود ۷٬۳۳۲ فایل متعلق به همان نسخه قدیمی بودند و حذف آنها انتظار میرفت، اما ۴۸٬۲۱۸ فایل دیگر از محیط اصلی پروژه پاک شدند.
کل این فرایند فقط ۱۰۳ ثانیه طول کشید؛ یعنی عامل در هر ثانیه صدها فایل را حذف میکرد و عملاً فرصت بسیار کمی برای مداخله دستی وجود داشت.
مشکل Windows Junctionها عامل اصلی حادثه بود
پروژه شامل تعداد زیادی Windows Directory Junction بود؛ ساختاری که ظاهری مشابه پوشه معمولی دارد، اما در واقع به مسیر دیگری از سیستم اشاره میکند.
اسکریپت پاکسازی تصور میکرد این مسیرهای متصل را دنبال نخواهد کرد، اما محافظت طراحیشده فقط در سطح مشخصی عمل میکرد و برخی پوشههای زیرمجموعه همچنان قابل دسترسی باقی ماندند.
در نتیجه، عملیات حذف از محیط آزمایشی عبور کرد و به فایلهای واقعی پروژه رسید.
مخزن Git هم آسیب دید
یکی از جدیترین بخشهای حادثه این بود که عملیات حذف به فایلهای داخلی مخزن Git نیز رسید.
بخشهایی مانند Objects، Refs و Logs پاک شدند؛ بنابراین خود مخزن محلی دیگر نمیتوانست تمام فایلهای حذفشده را بازیابی کند.
گزارشها میگویند Index پروژه همچنان نام هزاران فایل را در اختیار داشت، اما نسخههای ذخیرهشده و تاریخچه لازم برای بازگردانی بسیاری از آنها از بین رفته بود.
Claude Code بعد از حادثه خطا را گزارش کرد
پس از شناسایی اتفاق، Claude Code به کاربر اعلام کرد که عملیات اشتباهی انجام شده و گزارشی از دامنه خسارت ارائه داد.
عامل سپس فایلها و پوشههای باقیمانده را بررسی کرد تا مشخص شود چه بخشهایی حذف شده و چه دادههایی همچنان سالم هستند.
بااینحال، تشخیص خطا پس از اجرای عملیات مخرب نمیتوانست فایلهایی را که نسخه پشتیبان مناسبی نداشتند، بهطور مستقیم بازگرداند.
این حادثه درباره «هوش مصنوعی سرکش» نیست
ماجرا بیشتر از آنکه نمونهای از تصمیم مخرب عمدی یک مدل باشد، نشاندهنده خطر اعطای دسترسی گسترده به عاملهای خودکار است.
Claude Code برای انجام وظیفه خود یک عملیات معمول پاکسازی را اجرا کرد، اما یک فرض اشتباه درباره ساختار فایلهای ویندوز باعث شد دامنه عملیات بسیار فراتر از چیزی باشد که کاربر انتظار داشت.
عاملهای برنامهنویسی میتوانند دستورات و اسکریپتها را با سرعتی بسیار بیشتر از انسان اجرا کنند و به همین دلیل حتی یک اشتباه کوچک در مسیر یا محدوده عملیات میتواند در چند ثانیه خسارت زیادی ایجاد کند.
نسخه پشتیبان و محیط ایزوله اهمیت بیشتری پیدا میکنند
این حادثه بار دیگر اهمیت جداسازی محیط آزمایش از فایلهای اصلی، استفاده از مخازن Remote و نگهداری نسخههای پشتیبان مستقل را نشان میدهد.
هرچه عاملهای هوش مصنوعی اختیار بیشتری برای اجرای مستقیم دستورات سیستم داشته باشند، کنترل سطح دسترسی و امکان بازگردانی تغییرات نیز اهمیت بیشتری پیدا میکند.
در این مورد مشخص، توسعهدهنده اعلام کرده بود برخی نسخههای پشتیبان خارج از سیستم در اختیار داشته است؛ اما نتیجه کامل فرایند بازیابی در گزارشهای اولیه مشخص نشده است.





دیدگاهها