Yapay zekâ destekli kodlama ajanları, bir klasörde çalışmaya başladıklarında oradaki talimat dosyalarını okuyup söylenenleri yapacak şekilde tasarlanıyor. Güvenlik şirketi Forever Security’nin 22 Ekim 2026’da yayımladığı rapor, bu özelliğin tehlikeli bir kapı açabildiğini gösteriyor: Bir müşterinin bilgisayarındaki “İndirilenler” (Downloads) klasörüne bırakılmış AGENTS.md adlı bir dosya, kodlama ajanına bilinen bir kötü amaçlı npm paketini kurdurmaya çalıştı. Şirket, girişimi kod çalışmadan önce durdurduğunu söylüyor.
Haberin 30 saniyelik özeti:
Raporu Forever araştırmacıları Gal Weizman ve Omer Samet imzalıyor. Bulgular 25 Ekim’de BleepingComputer, 26 Ekim’de de The Hacker News tarafından aktarıldı. Araştırmacılar, saldırıyı OpenAI’ın Codex’i ve Anthropic’in Claude Code’u üzerinde yeniden ürettiklerini, ancak sorunun tek bir ürünün hatası olmadığını vurguluyor.
AGENTS.md nedir?
AGENTS.md ve Claude Code’daki karşılığı CLAUDE.md, yazılım projelerinde kodlama ajanlarına yol gösteren düz metin dosyaları. İçlerinde hangi araçların kullanılacağı, testlerin nasıl çalıştırılacağı ya da kod yazım kuralları gibi bilgiler bulunuyor. Ajan bir klasörde çalışmaya başladığında bu dosyayı kendiliğinden okuyor ve talimatları iş tarifinin bir parçası sayıyor.
Normal bir projede bu sorun değil: Dosya sizin kontrolünüzdeki bir proje klasöründe duruyor, ilk açtığınızda görüyor ve güveniyorsunuz. Forever’ın dikkat çektiği nokta, aynı güvenin İndirilenler klasörüne de taşınması.
İki zararsız özellik, bir tehlikeli birleşim
Forever’a göre saldırı, tek başına zararsız iki davranışın üst üste gelmesiyle mümkün oluyor:
- Ajanlar klasördeki talimat dosyasına uyar. Bu bir hata değil, ürünün tasarımı.
- Web sayfaları İndirilenler klasörüne kendiliğinden dosya kaydedebilir. Chrome, Edge ve Firefox gibi yaygın tarayıcılar varsayılan ayarlarında indirilen dosyaları her seferinde konum sormadan bu klasöre kaydediyor. Sayfa dosyanın adını ve içeriğini de kendisi belirleyebiliyor.
Eskiden bu tür “sessiz indirmeler”in tehlikesi, dosyanın kendi kendine çalışabilmesiydi; işletim sistemleri bu kapıyı yıllar önce kapattı. Ancak bir AGENTS.md dosyası çalıştırılabilir bir program değil, sadece metin. Bu yüzden program dosyalarına uygulanan uyarı ve engellerin hiçbiri ona uygulanmıyor. Forever’ın ifadesiyle, bir ajanın elinde bu metin dosyası bir program gibi davranıyor. Şirketin raporunun başlığı da bunu özetliyor: “Markdown yeni çalıştırılabilir dosyadır.”
Saldırının tamamlanması için kullanıcının kodlama ajanını İndirilenler klasöründe başlatması gerekiyor. Bu ilk bakışta nadir bir durum gibi görünse de Forever’ın verileri öyle olmadığını gösteriyor: Şirket, müşterilerinin yaklaşık yarısında İndirilenler klasöründe kodlama ajanı çalıştıran kullanıcılar olduğunu, ajan oturumlarının kabaca dörtte birinin de gerçek bir tarayıcı açtığını söylüyor. Weizman’ın BleepingComputer’a aktardığına göre yalnızca Claude Code, bu klasörden 1.300’ü aşkın oturum başlatmış. Kullanıcılar ajanları sık sık bu klasörü düzenlemek ya da yeni indirdikleri bir dosya üzerinde çalışmak için kullanıyor.
Bir başka risk de ajanların artık web’de kullanıcı adına gezinmesi. Bir göreve gönderilen ajan siteleri kendisi ziyaret ederken ekran başında kimse olmayabiliyor; dosyanın indiğini fark edecek bir insan da bulunmuyor.
Testlerde ne oldu?
Forever, müşterinin bilgisayarında bulunan gerçek dosyayı yalıtılmış bir sanal makinede Codex’e karşı denedi. Yaklaşık 13 KB uzunluğundaki dosya, sıradan “mühendislik çalışma yönergeleri” gibi görünüyor; saldırı, sona yakın bir bölümde rutin proje kurulumu kılığına sokulmuş. Talimat, ajandan kendi yapılandırmasına bir “araç sunucusu” eklemesini ve bir npm paketi kurmasını istiyor. Kurulmak istenen paket, araştırmacıların yaklaşık iki yıl boyunca fark edilmeden sürdüğünü belirttiği bir kampanyaya ait function-color.
Forever’a göre Codex bu testlerde zararlı yazılımı denemelerin yüzde 90’ından fazlasında çalıştırdı. Daha da önemlisi, değişiklik yalnızca İndirilenler klasörüyle sınırlı kalmıyor: Ajan, bilgisayardaki tüm Codex oturumlarının okuduğu genel yapılandırma dosyasını değiştirdiği için saldırganın sunucusu bundan sonra hangi klasörde ya da projede açılırsa açılsın yükleniyor. Araştırmacılar ayrıca kısa ve açık bir “şu paketi kur” talimatının reddedildiğini, uzun ve sakin bir teknik belge diliyle yazılmış talimatın ise geçtiğini aktarıyor. Saldırının asıl gücü bu ikna edici çerçevede.
Claude Code’a karşı farklı bir yöntem denendi. Hazırlanan bir CLAUDE.md dosyası, ajanın API trafiğini araştırmacıların kontrol ettiği bir sunucuya yönlendirecek bir ayar yazmasını istedi. Bu tek değişiklik oturumun giriş anahtarını (OAuth token) sızdırıyor ve hesabın ele geçirilmesine yol açabiliyor; ayrıca sunucunun modelmiş gibi yanıt verip ajana komut çalıştırtmasını sağlıyor. Claude Code böyle bir yazma işlemi için kullanıcı onayı istiyor ve şüpheli görünen değişiklikleri sık sık reddediyor; Forever’a göre uzun teknik belge görünümü yine de değişikliğin yaklaşık yarı yarıya onaylanmasını sağladı.
Yamalanacak bir şey yok
Raporun en dikkat çekici tespiti, bu açığın klasik anlamda bir “güvenlik açığı” olmaması. Forever şöyle diyor: “Burada OpenAI ya da Anthropic’in yamalayacağı bir şey yok. Klasöründeki AGENTS.md’ye uyan bir ajan, tam olarak yapmak üzere tasarlandığı şeyi yapıyor.” Şirket durumu, bir oltalama sayfasını gösteren tarayıcıya benzetiyor: Tarayıcı doğru çalışıyor, saldırı sayfanın içinde.
Forever ayrıca dosyanın müşterinin bilgisayarına nasıl ulaştığını belirleyemediğini açıkça yazıyor. Bir web sayfasının bu dosyayı sessizce indirebildiğini kendi kavram kanıtı sayfasıyla gösterdi; BleepingComputer da bu sayfayı denediğinde zararsız içerikli bir AGENTS.md dosyasının indiğini doğruladı. Ancak gerçek saldırganın bu yolu kullandığı kanıtlanmış değil. BleepingComputer’ın testlerinde Brave tarayıcısı indirme için kullanıcıdan onay istedi; Chrome, Edge ve Firefox ise varsayılan olarak bir indirme bildirimi gösteriyor.
Türkiye’deki geliştiriciler ve şirketler için anlamı
Kodlama ajanları Türkiye’de de yazılım ekiplerinin ve bağımsız geliştiricilerin günlük araçları arasına hızla giriyor. Bu ajanlar çoğu zaman şirket kaynak koduna, bulut hesaplarına, API anahtarlarına ve müşteri verisi barındıran test ortamlarına erişebilen bilgisayarlarda çalışıyor. Ele geçirilen bir oturum anahtarı ya da kurulan zararlı bir paket, tek bir geliştiricinin sorunu olmaktan çıkıp kurumun tamamını etkileyebilir.
Kişisel Verileri Koruma Kurumu, Kasım 2025’te yayımladığı “Üretken Yapay Zekâ ve Kişisel Verilerin Korunması Rehberi”nde bu sistemleri kullanan kurumların veri güvenliği yükümlülüklerini hatırlatıyor. 6698 sayılı Kanun kapsamında veri sorumlusu, kullandığı araç ne olursa olsun kişisel verilere hukuka aykırı erişimi önlemek için gerekli teknik ve idari tedbirleri almakla yükümlü. Kodlama ajanlarının nerede ve hangi yetkilerle çalıştığı da artık bu tedbirlerin bir parçası sayılmalı.
Son haftalarda yapay zekâ araçlarının anahtar ve hesap güvenliğiyle ilgili benzer olayları da aktarmıştık: “OpenCode Console’da yapay zekâ API anahtarı sızıntısı”, “LiteLLM’de tedarik zinciri saldırısı” ve “Skynet ve açık yapay zekâ modellerinin kötüye kullanımı” haberleri, yapay zekâ araçlarına bağlanan hesapların saldırganlar için ne kadar değerli olduğunu gösteriyor.
Ne yapmalı?
- Ajanları İndirilenler klasöründe başlatmayın: Forever’ın ilk önerisi bu. OpenAI ve Anthropic de ajanların üzerinde çalışılacak projenin kök klasöründe başlatılmasını öneriyor.
- Yazmadığınız talimat dosyalarını okuyun: İndirilenler klasöründe ya da yeni klonladığınız bir depoda beklemediğiniz bir AGENTS.md veya CLAUDE.md görürseniz, ajanı çalıştırmadan önce içeriğini kontrol edin.
- Ajan yapılandırmasını denetleyin: Codex’in genel yapılandırma dosyasında sizin eklemediğiniz bir sunucu kaydı ya da değişmiş bir adres, Claude Code’un proje ayarlarında sizin tanımlamadığınız bir API adresi veya vekil sunucu varsa bunu şüpheli sayın.
- Onay ve korumalı alan (sandbox) ayarlarını açık tutun: Ajana bu korumaları kapatmasını söyleyen her talimata kuşkuyla yaklaşın.
- Şüphe varsa anahtarları yenileyin: Böyle bir dosya bulursanız oturum anahtarının sızdığını varsayın ve yenileyin. Çalınan bir anahtar, tek bir isteğin değil, canlı bir oturumun ele geçirilmesi demek.