Teknoloji

Claude npm paketlerini kendi kuruyor, yanlış olanı dosyalarınızı çalabilir

Susan Hill

Claude’un Computer Use özelliği, sıradan bir sohbet botunun yapamadığı bir şeyi yapar. Bilgisayarınızda bir terminal açar ve sizin yerinize yazılım kurar, bunun içinde dünyanın en büyük açık kaynak deposu olan npm’den doğrudan çekilen paketler de vardır. Cazibesi ortada, çünkü «şu projeyi benim için kur» isteğini tek bir cümleye indirir. Risk de aynı cümlede, çünkü bir paket geldiği anda npm, o paketin yanında getirdiği başlangıç kodunu çalıştırabilir ve artık tetiğe basan, otonom bir ajandır.

Bir yapay zekâ ajanının kod yazmasına ya da çalıştırmasına izin veren herkes için, ki bunlar hızla büyüyen bir geliştirici, meraklı ve teknik geçmişi olmayan kullanıcı topluluğu, pratik soru nettir. Claude, hiç bakmadığınız bir paketi kurarsa ve o paket, yere düştüğü anda dosyalarınızı kopyalamak için yapılmışsa, onu durduracak olan kimdi? Bir güvenlik araştırmacısının yakın tarihli bir videosu tam da bu durumu adım adım gösteriyor: yapay zekânın tereddüt etmeden yürüttüğü sıradan bir kurulum sırasında, tuzaklı bir paket yerel dosyaları okuyor.

Mekanizma yeni değil ve onu ciddi yapan da tam olarak bu. npm paketleri kurulum betikleri tanımlayabilir; bunlar, bir paket projeye eklenir eklenmez, içinden tek bir satır bile bilerek kullanılmadan önce otomatik çalışan küçük komutlardır. Bu bir kusur değil, belgelenmiş bir davranış. Meşru araçların kendini derlemesine ya da ortamını hazırlamasına izin verir. Aynı zamanda, herhangi bir paketin kurulum anında makinenizde, sizinkiyle aynı yetkilerle kod çalıştırabileceği anlamına gelir ve güvenlik ekipleri yıllardır bunu uyarıyor.

Dünya, saldırganlar haftada onlarca milyon kez indirilen bir ağ kütüphanesi olan Axios’un bakım hesabını ele geçirip içine, geliştiricilerin makinelerine uzaktan erişim truva atı kuran kötücül bir bağımlılık sızdırdığında, neyin tehlikede olduğunu sert biçimde hatırladı. Axios’un gerçek koduna hiç dokunmadılar. İşi kurulum betiği yaptı. Axios, sayısız başka uygulamanın yanı sıra, Claude Code’un kendi içinde de bir yapı taşı; bu da güvendiğiniz aracın, arkasından sessizce çektiği kodla arasındaki mesafenin ne kadar kısa olduğunu gösteriyor.

Gösterimin bu tanıdık tabloya kattığı şey, ajandır. Kurulumu başlatan bir insan en azından durup paketin adını okuyabilir, yanlış yazıldığını ya da henüz yayımlandığını fark edip geri çekilebilir. Belirsiz bir talimatla hareket eden bir yapay zekâ ajanının böyle bir refleksi yoktur. İhtiyacı olduğuna karar verdiği şeyi kurar. Computer Use ekranı da okuduğu, imleci oynattığı ve klavyeyle yazdığı için, zehirlenmiş tek bir bağımlılık kod düzenleyicinin içine hapsolmaz. Tüm masaüstünde elini kolunu sallar.

Bunun ne olduğu ve ne olmadığı konusunda kesin olmakta yarar var. Bu, yalnızca Claude’a özgü gizli bir arka kapı değildir ve modelin kendi kurallarını çiğnemesi için kandırıldığının kanıtı da değildir. Herhangi bir otonom programa yazılım kurma gücü vermenin, on yıldan uzun süredir kurulum kodunu varsayılan olarak çalıştıran bir depoyla birleşmesinin öngörülebilir sonucudur. Claude’u aynı yetkilere sahip başka herhangi bir kodlama ajanıyla değiştirin, tablo aynı kalır. Tehlike, bir şirketin sohbet botunda değil, otonomide ve depoda yaşıyor.

Anthropic, aksine, ters yöne itiyor. Şirket kısa süre önce kodlama araçları için, ajanı sistemin geri kalanından duvarla ayıran, hangi dosyaları okuyabileceğini ve hangi sunuculara ulaşabileceğini kısıtlayan bir korumalı alan yayımladı ve bunun temelindeki yalıtım araç setini başka geliştiriciler kullansın diye açık kaynak olarak çıkardı. Mantık, tam da gösterimin açığa çıkardığı mantık. SSH anahtarlarınıza ulaşamayan bir ajan onları sızdıramaz, bilinmeyen bir sunucuya ulaşamayan bir ajan dosyalarınızı hiçbir yere gönderemez. Şirket, bu sınırların kullanıcılara gösterdiği izin sorularını yaklaşık yüzde 84 oranında azalttığını söylüyor; bu önemli, çünkü her şeyi soran bir araç insanlara çabucak evet’e tıklamayı öğretir.

Bu araçları gerçekten kullananlar için savunmalar sıkıcı ve etkili. Ajanı bir korumalı alanda, bir konteynerde ya da gözden çıkarılabilir bir sanal makinede çalıştırın ki kötü bir paketin ulaşabileceği en kötü yer feda edilebilir bir ortam olsun. İş akışının izin verdiği yerde otomatik kurulum betiklerini kapatın; birkaç yeni paket yöneticisi bunu zaten varsayılan olarak yapıyor. Kimlik bilgilerini, anahtarları ve kişisel dosyaları, bir ajanın serbestçe dolaştığı makineden uzak tutun. Ve «şunu benim için kur» isteğine, «şu e-posta ekini aç» isteğine göstereceğiniz dikkatle yaklaşın, çünkü altında göründüğünden çok daha fazla ona benziyor.

Gösterimdeki belirli paket, gerçek bir salgın değil, bir araştırmacının kanıtıdır ve gerçek kullanıcılara ulaştığına dair bir işaret yok. Asıl yerinde durmayacak olan, arkasındaki örüntü. Ajan tabanlı kodlama, onu güvende tutması gereken alışkanlıklardan daha hızlı varsayılan hale geliyor ve bu ajanların yaslandığı depolar, kurulum komutunu yazanın bir insan olmadığı bir dünya için hiç tasarlanmamıştı. O boşluk kapanana dek, yazılım güvenliğinin en eski kuralı artık yeni bir tür kullanıcıyı işaret ediyor: ajanınız neyi kurarsa onu çalıştırır, bu yüzden başlamasına izin vermeden önce neye dokunabileceğine karar verin.

Tartışma

S kadar yorum var.