İnternet ve Güvenlik

Claude Code Saldırısı Geliştiricileri Tehdit Ediyor

Claude Code saldırısı, yapay zeka destekli kodlama araçlarının güvenlik tarafında yeni bir tartışma başlattı. Mozilla’nın 0DIN ekibi, temiz görünen bir GitHub deposunun Claude Code gibi ajan tabanlı kodlama araçlarını nasıl yanıltabileceğini gösterdi. Araştırmada dikkat çeken nokta, depoda doğrudan kötü amaçlı bir kod bulunmamasıydı. Buna rağmen araç, kurulum sürecinde karşılaştığı yönlendirmeleri takip ederek geliştirici cihazında uzaktan erişim riski oluşturabilecek bir komutu çalıştırabiliyordu.

Bu durum, yapay zeka kodlama araçlarının yalnızca kod yazan yardımcılar olmadığını gösteriyor. Bu araçlar dosya okuyabiliyor, terminal komutu çalıştırabiliyor, hata mesajlarını yorumlayabiliyor ve projeyi ayağa kaldırmak için otomatik adımlar önerebiliyor. Bu özellikler geliştiriciler için büyük kolaylık sağlıyor. Ancak aynı yetkiler, tanınmayan bir proje içinde yanlış yönlendirilirse ciddi bir güvenlik açığına dönüşebiliyor.

Claude Code Saldırısı Nasıl Ortaya Çıktı?

Mozilla 0DIN araştırmasında saldırı, normal görünen bir depo üzerinden kurgulanıyor. Depodaki dosyalar ilk bakışta şüpheli görünmüyor. Kurulum notları, geliştiricilerin sıkça karşılaştığı basit bir “ilk kurulum” akışını andırıyor. Claude Code’dan projeyi çalıştırması istendiğinde araç, belgeleri okuyor, kurulumu takip ediyor ve karşılaştığı hata mesajını çözmeye çalışıyor.

Asıl sorun burada başlıyor. Araştırmacıların hazırladığı örnekte paket, ilk kullanımda bilinçli şekilde hata veriyor. Hata mesajı ise aracın çalıştırması gereken bir başlangıç komutuna işaret ediyor. Claude Code, geliştiriciye yardım etmek için bu yönlendirmeyi normal bir çözüm adımı gibi görüyor. Böylece araç, kendisine kötü niyetli gibi görünmeyen bir komutu çalıştırmış oluyor.

Bu saldırı modelinde zararlı yük doğrudan GitHub deposunun içinde yer almıyor. Araştırmacılar, tehlikeli içeriğin çalışma anında dışarıdan getirildiğini belirtiyor. Bu yüzden depoyu elle inceleyen biri de klasik statik kod tarama aracı da açık bir zararlı dosya göremiyor. Güvenlik açısından en rahatsız edici taraf tam olarak bu: depo temiz görünürken risk, kurulum sırasında ortaya çıkıyor.

Bu yöntem, klasik zararlı yazılım mantığından farklı çalışıyor. Geleneksel saldırılarda zararlı dosya genellikle projenin içinde, bağımlılıklarda veya indirilen bir betikte aranır. Burada ise saldırgan, yapay zeka ajanının “yardım etme” davranışını hedef alıyor. Araç, projeyi çalıştırma görevini yerine getirmeye çalışırken güven sınırını aşabiliyor.

Dolaylı Prompt Injection Neden Bu Kadar Tehlikeli?

Bu olayın merkezinde dolaylı prompt injection riski bulunuyor. Prompt injection, yapay zeka sistemlerinin dışarıdan gelen metinlerle yönlendirilmesi anlamına gelir. Dolaylı prompt injection ise saldırganın kullanıcıya doğrudan komut vermek yerine, modelin okuyacağı bir dosya, belge, hata mesajı veya depo açıklaması üzerinden sistemi etkilemesidir.

Kodlama araçlarında bu risk daha büyüktür. Çünkü bu araçlar yalnızca cevap yazmaz. Terminal çalıştırabilir, dosya düzenleyebilir ve ağ bağlantısı kurabilir. 0DIN ekibi, ajan tabanlı kodlama araçlarının yetki verildiğinde yerel dosyalara, ortam değişkenlerine, API anahtarlarına ve geliştirici yapılandırmalarına erişebildiğini vurguluyor.

Saldırı bu yüzden yalnızca Claude Code’a özel küçük bir hata olarak görülmemeli. SecurityWeek’in haberinde de belirtildiği gibi risk, normal görünen depoların içine gizlenen dolaylı yönlendirmelerle ajanların zararlı davranışa itilmesinden kaynaklanıyor. Bu model, Cursor, Copilot benzeri IDE araçları veya terminalde çalışan diğer yapay zeka ajanları için de genel bir uyarı niteliği taşıyor.

Geliştiriciler için tehlike, aracın güvenilir görünmesinden geliyor. Bir insan aynı hata mesajını görse belki komutu inceleyebilir, dosyaları açabilir veya şüphelenebilir. Fakat ajan, görevi tamamlamaya odaklandığında bu adımı rutin bir hata çözümü olarak değerlendirebilir. Bu yüzden güvenlik, yalnızca “komutu kullanıcı onayladı mı?” sorusuyla sınırlı kalamaz. Komutun gerçekte neyi tetiklediği de anlaşılmalıdır.

Temiz Görünen Depolar Neden Güvenli Sayılamaz?

GitHub üzerinde bir deponun temiz görünmesi, artık tek başına yeterli güvenlik göstergesi değil. Mozilla 0DIN’in örneğinde zararlı içerik doğrudan repo içinde bulunmadığı için klasik inceleme yöntemleri yetersiz kalabiliyor. Depoda normal kurulum notları, basit paket dosyaları ve sıradan hata akışı görünüyor. Risk ise bu parçaların çalışma sırasında birleşmesiyle ortaya çıkıyor.

Bu durum özellikle iş ilanları, deneme projeleri, açık kaynak katkı çağrıları ve sosyal medya üzerinden paylaşılan depo bağlantıları için önemli. Bir geliştirici, “şu projeyi çalıştırıp bakar mısın?” denilen bir bağlantıyı hızlıca açabilir. Ardından yapay zeka kodlama aracından projeyi kurmasını isteyebilir. Saldırı senaryosu tam olarak bu alışkanlıktan yararlanıyor.

Yapay zeka ajanlarının geliştirici ortamında çalışması riski artırıyor. Çünkü geliştirici bilgisayarında çoğu zaman SSH anahtarları, bulut erişim bilgileri, npm veya PyPI tokenları, Git kimlik bilgileri, .env dosyaları ve özel proje anahtarları bulunur. Bir saldırgan bu ortama erişirse yalnızca tek cihazı değil, bağlı servisleri de hedef alabilir.

Bu nedenle “depoda kötü amaçlı dosya yok” düşüncesi tek başına yeterli değil. Kurulum sırasında çalışan betikler, dış kaynak çağrıları, hata mesajları, paket sonrası işlemler ve ajan tarafından otomatik yürütülen komutlar birlikte değerlendirilmelidir. Güvenlik artık yalnızca dosya içeriğine değil, iş akışının tamamına bakmak zorunda.

Standart Güvenlik Araçları Neden Zorlanıyor?

Bu saldırı modelinde antivirüs, güvenlik duvarı ve statik kod tarama araçları zorlanabiliyor. Çünkü saldırının her adımı tek başına bakıldığında sıradan görünüyor. Bir dosya okunuyor, bir kurulum adımı çalışıyor, bir dış kayıt sorgulanıyor ve sistem normal bir hata çözümü yapıyor gibi davranıyor. Hiçbir adım tek başına güçlü alarm üretmeyebilir.

SecurityWeek’in aktardığına göre araştırmacılar, saldırının depo, DNS altyapısı ve geliştiricinin yapay zeka aracına duyduğu güven arasında parçalandığını belirtiyor. Statik analiz yalnızca normal görünen dosyaları inceliyor. Ağ izleme sistemi sıradan bir ad çözümleme trafiği görüyor. Ajan ise daha önce izin verilmiş bir kurulum adımını yürüttüğünü düşünüyor.

Bu parçalanmış yapı, modern tedarik zinciri saldırılarını daha karmaşık hale getiriyor. Geçmişte güvenlik ekipleri zararlı kodu belirli bir dosyada, bağımlılıkta veya ikili dosyada arardı. Şimdi ise zararlı davranış, farklı sistemlerden gelen küçük ve masum görünen parçaların birleşmesiyle oluşabiliyor.

Bu yüzden yapay zeka kodlama araçlarının güvenliği yalnızca “tehlikeli komut listesi” ile çözülemez. Bir komut yüzeyde zararsız görünebilir. Ancak çalıştığında başka bir betiği çağırabilir, dışarıdan veri çekebilir veya sistemde kalıcı değişiklik yapabilir. Gerçek koruma, komutun yüzey metnini değil, çalışma anındaki etkisini anlamaya bağlıdır.

Geliştiriciler Bu Riskten Nasıl Korunabilir?

Geliştiriciler, tanımadıkları depoları doğrudan ana çalışma makinelerinde çalıştırmamalı. En güvenli yaklaşım, bilinmeyen projeleri izole bir sanal makine, geçici container veya ayrı bir test ortamında denemektir. Bu ortamda kişisel SSH anahtarları, gerçek API tokenları ve üretim erişimleri bulunmamalıdır.

Yapay zeka kodlama araçlarına verilen terminal yetkileri de sınırlanmalıdır. Araçtan bir projeyi kurması istendiğinde her komutun ne yaptığına bakmak gerekir. Özellikle kurulum betikleri, dış bağlantı çağrıları, paket sonrası çalışan işlemler ve sistem dosyalarına dokunan adımlar ayrıca kontrol edilmelidir. Help Net Security’nin aktardığına göre 0DIN ekibi, geliştiricilerin tanımadıkları depolardaki kurulum talimatlarını güvenilmeyen kod gibi ele alması gerektiğini belirtiyor.

Güvenli kullanım için şu önlemler öne çıkar:

  • Bilinmeyen depoları ana bilgisayarda çalıştırmayın.
  • Yapay zeka aracına sınırsız terminal izni vermeyin.
  • Kurulum betiklerini çalıştırmadan önce elle inceleyin.
  • .env dosyalarını ve API anahtarlarını test ortamından uzak tutun.
  • Geçici erişim tokenları kullanın.
  • Gereksiz SSH anahtarlarını geliştirici ortamında tutmayın.
  • Şüpheli işlem sonrası anahtarları yenileyin.
  • Ağ bağlantısı isteyen kurulum adımlarını ayrıca kontrol edin.

Bu adımlar, saldırı riskini tamamen ortadan kaldırmaz. Ancak zararın yayılmasını ciddi biçimde azaltır. Özellikle tek kullanımlık geliştirme ortamları, bu tür saldırıların ana sisteme ulaşmasını zorlaştırır. Kurumsal ekiplerde ise merkezi politika, kayıt tutma, onay akışı ve ağ kısıtlamaları daha da önemli hale gelir.

Yapay Zeka Kodlama Araçlarında Güvenlik Anlayışı Değişiyor

Claude Code saldırısı, yapay zeka destekli geliştirme araçlarında yeni bir güvenlik dönemine işaret ediyor. Bu araçlar giderek daha yetenekli hale geliyor. Kod yazıyor, hata düzeltiyor, test çalıştırıyor ve projeleri otomatik kurabiliyor. Ancak yetenek arttıkça risk de büyüyor.

Anthropic, Mart 2026’da Claude Code Auto Mode için yayımladığı teknik yazıda, güvenlik sınıflandırmasının yalnızca komutun yüzey metnine değil, eylemin gerçek dünyadaki etkisine bakması gerektiğini belirtmişti. Şirket, tehlikeli davranışların zararsız görünen sarmalayıcıların arkasına saklanamaması gerektiğini vurguluyor.

Mozilla 0DIN araştırması ise bu yaklaşımın neden kritik olduğunu gösteriyor. Bir yapay zeka ajanı yalnızca “bu komut daha önce onaylandı mı?” diye bakarsa saldırıyı kaçırabilir. Çünkü sorun bazen komutun kendisinde değil, o komutun çağırdığı başka dosyada, dış serviste veya çalışma anında getirilen içerikte ortaya çıkar.

Gelecekte kodlama ajanlarının daha güçlü güvenlik katmanlarına ihtiyacı olacak. Komutların çalışmadan önce neyi tetikleyeceğini göstermeleri, dışarıdan gelen içerikleri ayrı risk seviyesinde değerlendirmeleri ve bilinmeyen depolarda daha kısıtlı modda çalışmaları gerekebilir. Özellikle geliştirici makinelerinde çalışan ajanlar, üretim sistemlerine açılan kapı gibi görülmelidir.

Şirketler İçin Risk Bireysel Kullanımdan Daha Büyük

Bu saldırı bireysel geliştirici bilgisayarında gösterilmiş olsa da, şirketler için etkisi daha büyük olabilir. Çünkü kurumsal geliştirici makinelerinde daha fazla erişim bulunur. Kod depoları, bulut panelleri, CI/CD sistemleri, özel paket kayıtları ve müşteri verilerine giden dolaylı yollar aynı ortamdan yönetilebilir.

Bir çalışanın bilinmeyen bir depoyu yapay zeka aracıyla çalıştırması, yalnızca o kişinin cihazını değil, şirketin geliştirme zincirini de riske atabilir. Özellikle küçük ekiplerde geliştiriciler çok sayıda yetkiye sahip olabilir. Bu durum saldırgan için daha geniş bir hareket alanı yaratır.

Şirketlerin bu nedenle yapay zeka kodlama araçları için açık kullanım politikası belirlemesi gerekir. Hangi araçların kullanılabileceği, hangi depolarda çalıştırılabileceği, terminal izinlerinin nasıl verileceği ve hangi sırların geliştirici ortamında tutulamayacağı net olmalıdır. Bu kurallar yoksa her geliştirici kendi kararını verir. Böyle bir ortamda risk hızla büyür.

Claude Code saldırısı, yapay zeka araçlarının geliştirici üretkenliğini artırırken güvenlik disiplinini de zorunlu hale getirdiğini gösteriyor. Tanınmayan depolar, artık yalnızca “kod okunur ve karar verilir” mantığıyla ele alınamaz. Kurulum akışı, hata mesajları, dış bağlantılar ve yapay zeka ajanının otomatik davranışları aynı güvenlik zincirinin parçaları olarak görülmelidir.

İlgili Yazılar

4'in 1'i

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir