Kategoriler
UYGULAMALAR
İstanbul
Yapay zeka destekli kodlama araçlarının ne kadar büyük yetkilere sahip olabileceğini gösteren çarpıcı bir olay yaşandı. Anthropic’in Claude Code adlı yapay zeka aracı, bir geliştiricinin test ortamını yeniden oluşturmak için verilen talimatı yerine getirirken yaklaşık 48 bin gerçek çalışma dosyasını sildi. Üstelik Git deposunun temel veri tabanı da zarar gördü. Tüm bunlar iki dakikadan bile kısa, yaklaşık 100 saniyelik bir süreçte gerçekleşti.
Olayı yaşayan yazılım geliştiricisi, geçmişe dönük hisse senedi opsiyon verilerini analiz etmek için kullandığı yazılımlardaki sorunları gidermek amacıyla Claude Code’a bir dizi görev verdi. Plan aslında oldukça netti. İlgili dosyaların kopyaları oluşturulacak, düzeltmeler bu kopyalar üzerinde yapılacak, testler tamamlanacak ve çalışan orijinal dosyalara kesinlikle dokunulmayacaktı.
Toplam 11 ayrı onarım görevi başlatıldı. İlk 10 görev sorunsuz tamamlandı. Son görevde ise işler bir anda kontrolden çıktı. Bu aşamada yazılımların test edildiği ve “mirror”, yani ayna olarak adlandırılan ortamın yeniden oluşturulması gerekiyordu. Amaç eski test ortamını temizlemek, yeni bir kopya hazırlamak ve düzeltmeleri gerçek çalışma dosyalarına dokunmadan test etmekti.
Ancak test ortamında bulunan 614 Windows klasör bağlantısı, Claude Code’un beklenmedik şekilde yanlış bir işlem yapmasına yol açtı.
Windows’ta “junction” olarak adlandırılan bu klasör bağlantıları ilk bakışta sıradan bir klasör gibi görünüyor. Aslında bilgisayardaki başka bir konuma yönlendiriyor.
İşte sorun da tam burada çıktı. Test ortamındaki 614 bağlantı, geliştiricinin gerçek çalışma dosyalarının bulunduğu dizinlere yönlendiriliyordu. Claude Code ise test ortamını temizlemeye çalışırken bu bağlantıları normal klasörler gibi değerlendirdi.
Bağlantıların gösterdiği gerçek dizinlere ilerleyen yapay zeka ajanı, yalnızca test için oluşturulan kopyaları değil, geliştiricinin aktif olarak kullandığı dosyaları da silmeye başladı. Temizlik işlemi sonunda yaklaşık 55 bin 550 dosya silindi. Bunların yaklaşık 7 bin 300’ü zaten kaldırılması planlanan dosyalardı. Geriye kalan 48 bin 218 dosya ise geliştiricinin gerçek çalışma ortamına aitti.
Dosyaların topluca silinmesi yalnızca 100 saniyeyi biraz aşan bir sürede yaşandı. Geliştirici durumu fark ettiğinde Claude Code da yaptığı hatayı açıkça kabul etti. Yapay zekanın mesajı kısa ama yaşananları özetler nitelikteydi: “Craig, dur ve bunu oku. Bir şeyi bozdum.”
Ancak hasar sadece binlerce dosyanın silinmesiyle sınırlı kalmadı.
Geliştiricinin Git deposu da silme işleminden etkilendi. Git’in dosya listesini ve değişiklikleri takip ettiği dizin kayıtları korunurken, dosyaların içeriklerini ve geçmiş sürümlerini saklayan temel veri tabanı zarar gördü.
Yani Git binlerce dosyanın adını hâlâ biliyordu ancak bu dosyaların içeriğini geri getiremiyordu. Daha basit anlatımla, hangi dosyaların var olduğuna ilişkin kayıtlar duruyordu ama dosyaları yeniden oluşturmak için gereken veriler artık ortada yoktu.
Olayın Reddit’te paylaşılmasının ardından konu kısa sürede büyük ilgi gördü. Paylaşım beş gün içinde 1.400’den fazla yorum aldı. Yorumlarda öne çıkan görüşlerden biri, geliştiricinin temel yazılım geliştirme ve yedekleme uygulamalarında yeterli önlem almamış olmasıydı. Kullanıcılar, projelerin düzenli olarak Git ile sürüm kontrolüne alınmasının yanı sıra GitHub gibi uzak depolara da gönderilmesi gerektiğini vurguladı. Çünkü yalnızca yerel bilgisayarda tutulan bir Git deposu, donanım arızası ya da binlerce dosyanın topluca silinmesi gibi durumlarda tek başına yeterli koruma sağlamıyor. Bazı kullanıcılar ise silinen dosyaların kurtarılabilmesi için dosya kurtarma yazılımlarının veya Windows’un Shadow Copy özelliğinin denenmesini önerdi. Ancak kaybolan dosyaların ne kadarının geri getirilebildiğine ilişkin kesin bir bilgi paylaşılmadı.