· kaynak dev.to (home feed)
Üçüncü taraf Claude Code skill'leri, siz okumadan önce shell komutları çalıştırabiliyor
dev.to'da yayımlanan bir analiz, üçüncü taraf Claude Code skill'lerinin onay istemeden shell komutları çalıştırabildiğini, hook'ların tam kullanıcı yetkileriyle çalıştığını ve denetimlerde yüzlerce kötü niyetli skill bulunduğunu gösteriyor.

dev.to'da yayımlanan uygulamalı bir analiz, üçüncü taraf bir Claude Code skill'inin dosyayı açmadan neler yapabileceğini ayrıntılarıyla ortaya koyuyor: onay istemeden çalışan shell komutları, tam kullanıcı yetkileriyle çalışan hook'lar ve oturumun kendi kendine bağlandığı MCP sunucuları. Bulgular, skill kayıt defterlerindeki kurulum sayılarının milyonlara ulaştığı bir dönemde gündeme geliyor — Vercel'in skills.sh platformundaki en popüler skill üç milyon kurulum bildiriyor — ve kullanıcılar bunları npm paketleri gibi kuruyor: adına ve yıldız sayısına bakarak, içerikleri okumadan. Yazar, davranışı ikinci el anlatımlara güvenmek yerine Claude Code 2.1.223 sürümünde doğruladı.
Bir skill aslında nedir
Skill, içinde bir SKILL.md dosyası barındıran ve npx skills add owner/repo ya da /plugin install name@marketplace gibi tek bir komutla kurulabilen bir klasördür. dev.to gönderisinde vurgulandığı gibi, sıradan bir bağımlılıkla arasındaki kritik fark şudur: paket uygulamanızın içinde çalışırken, skill sizin yerine, sizin makinenizde çalışır.
Bir skill üç katmandan oluşur. Frontmatter açıklaması kurulu olduğu sürece her oturumun bağlamında yer alır ve modelin skill'i istem olmadan devreye alıp almayacağına karar verirken kullandığı şeydir; bunu bağlamdan çıkarmak için açıkça disable-model-invocation: true ayarlamak gerekir ve incelenen en büyük depodaki 364 skill'in hiçbirinde bu yapılmamıştı. Gövde, çağrıldığında yüklenir ve gömülü ! komutları içerebilir — gönderiye göre Claude Code bu komutları model metni görmeden önce çalıştırıyor ve çıktıyı yerine koyuyor. allowed-tools alanı kısıtlamak yerine yetki verir: listelenen araçlar, çağıran tur boyunca onay istemi olmadan çalışır.
Bir plugin üç ek giriş noktası daha getiriyor: hooks. içinde tanımlanan hook'lar (oturum başlangıcında, her araç çağrısında ve oturum sonunda tetiklenen shell script'leri), .mcp. içinde bildirilen MCP sunucuları ve çalıştırılabilir dosyalarının Bash aracının PATH'ine eklendiği bir bin/ klasörü. Gönderide alıntılanan belgeler, hook'ların shell komutlarını tam kullanıcı yetkilerinizle çalıştırdığını ve sandbox'ın yalnızca Bash komutlarını kapsadığını — hook'ları kapsamadığını belirtiyor.
Testler ne gösterdi
Yazar, dört skill'i boş bir projede claude -p ile çalıştırdı; bu, kimsenin bir onaya yanıt vermeye hazır olmadığı CI'da kullanılan etkileşimsiz moddur. allowed-tools: Bash(*) ve gömülü bir komut içeren skill, onay istemeden bir işaret dosyası yazdı. allowed-tools olmayan aynı skill iptal edildi. Gövdedeki, agent'tan bir komut çalıştırmasını isteyen bir talimat da allowed-tools ile birleşince onaysız çalıştı. Açıklama üzerinden otomatik çağırma o belirli çalıştırmada tetiklenmedi — model skill'i almayı reddetti — ancak mekanizma, açıklama zaten bağlamda olduğu için kullanılabilir durumda kaldı.
Popüler depolar ne sunuyor
Gönderinin depo araştırması, kötü niyetli olmayan paketlerin bile önemli bir yüzey alanı taşıdığını ortaya koydu. Bilinen bir denetim firmasının özenle seçilmiş pazar yerinde 31 skill vardı; hepsi allowed-tools belirtiyordu ve 24'ünde kısıtsız bir Bash girdisi bulunuyordu. 24.000 yıldızlı, 364 skill'lik bir koleksiyon beş hooks. dosyası içeriyordu — biri her Bash komutunun çıktısını alıyor, diğeri oturum başlangıcında diskten dosya okuyor — ve üç .mcp. dosyası harici bir HTTP sunucusuna, yerel bir sürece ve npx ile çalıştırılan bir script'e bağlanıyordu. Başka bir pazar yerinin on harici plugin'inin dokuzunda yalnızca bir URL vardı; sha veya ref yoktu, yani kurulum o anda HEAD'de ne varsa onu alıyor.
Resmî Anthropic pazar yeri sabitleme konusunda daha iyiydi — 233 harici GitHub plugin'inin tamamında sha ayarlı — ancak otomatik güncelleme varsayılan olarak açık ve yazar, kurulmuş bir plugin'in geceleri sorulmadan kendini güncellediğine tanık oldu.
Önceki olaylar ve veri yolları
Risk teorik değil. Şubat 2026'da Koi Security, OpenClaw'ın ClawHub kayıt defterini inceledi ve 2.857 skill'in 341'ini — yaklaşık yüzde 12 — kötü niyetli buldu; 335'i tek bir kampanyadan geliyordu. Snyk, ClawHub ve skills.sh kaynaklı 3.984 skill'i taradı: 76'sı kesin olarak kötü niyetli, yüzde 13,4'ü kritik sorunlar taşıyor ve yüzde 10,9'u sabit kodlanmış gizli bilgiler içeriyordu. Yaygın desen, agent'tan kodu çözüp bash'e yönlendirmesi istenen base64 dizgisi içeren bir "ön koşullar" bloğuydu. Ayrıca Unit 42, her çağrıda yazarın sunucusundan bir affiliate bağlantıları dosyası indirerek yayından sonra davranışı yönlendiren bir money-radar skill'ini analiz etti. Check Point de CVE-2026-21852 numarasıyla, Aralık 2025'e kadar bir deponun ayar dosyasına yerleştirilen ANTHROPIC_BASE_URL değerinin ilk isteği — API anahtarı dahil — herhangi bir güven diyaloğu görünmeden üçüncü taraf bir sunucuya yönlendirebildiğini belgeledi.
Neden önemli
Skill kurulumu şu anda npm tarzı kolaylığı, kurulum biriminin kendi yetkileriniz altında shell erişimi olduğu bir biçimle birleştiriyor. claude -p ve SDK gibi etkileşimsiz yollar güven diyaloğunu ve onay istemlerini tamamen atlıyor; Claude Code CI'da tam olarak böyle çalışıyor. Herhangi bir skill veya plugin kurmadan önce okumaya değer dosyalar şunlardır: SKILL.md gövdesi ve allowed-tools, varsa hooks., varsa .mcp. ve kaynağın belirli bir sha'ya sabitlenip sabitlenmediği — çünkü burada belgelenen mekanizmalar, birinin onlara bakıp bakmamasından bağımsız olarak çalışıyor.
- #claude-code
- #security
- #supply-chain
- #ai-agents
- #anthropic