· kaynak dev.to (home feed)
Downloads klasöründeki yönerge dosyaları, web sayfalarının yapay zekâ kodlama ajanlarını ele geçirmesine imkân veriyor
Forever Security, bir web sayfasının Downloads klasörüne AGENTS.md dosyası bırakıp OpenAI Codex'i yüzde 90'ın üzerinde bir başarı oranıyla ele geçirdiği bir saldırıyı yeniden canlandırdı; benzer bir dosya Claude Code trafiğini yönlendirdi ve OAuth token'larını sızdırdı.

Yanlış klasördeki bir yönerge dosyası
Yapay zekâ kodlama ajanlarını izleyen Forever Security şirketi, müşehirlerinden birinin ajanının kötü niyetli npm paketi function-color'ı kurma girişimini engellediğini açıkladı. Dikkat çeken şey emrin kaynağıydı: ne bir repository ne de bir bağımlılık, müşterinin Downloads klasöründe duran AGENTS.md adında düz bir metin dosyası. Joho no Todai'de yayımlanıp dev.to'da tekrar yayımlanan yazıya göre function-color, Checkmarx'ın 5 Ekim 2026'da raporladığı MALFEX kampanyasının parçası ve Ağustos 2023'ten beri etkin tek bir tehdit aktörüne atfediliyor. Paketin kendi payload'ı yok; bağımlılık olarak başka bir kötü niyetli paket olan function-flag'i kuruyor.
İki güvenli davranış, bir tehlikeli kesişim
AGENTS.md ve CLAUDE.md, OpenAI Codex ve Claude Code'un başlangıçta otomatik olarak okuduğu, araçları, test yöntemlerini ve kodlama kurallarını kapsayan proje yönerge dosyalarıdır. Çalışma dizininde böyle bir dosya varsa ajan ona uyar. Bu bir bug değil, tasarlanan davranıştır.
Downloads klasörü ise web sayfalarının tıklama veya onay diyaloğu olmadan dosya kaydedebildiği tek yer olarak tanımlanıyor. Chrome, Edge ve Firefox varsayılan olarak oraya yazar; bir bildirim gösterir ama nereye kaydedileceğini asla sormaz. Onlarca yıl boyunca bu zararsızdı, çünkü işletim sistemleri çalıştırılabilir dosyaları kontrol eder ve metin dosyaları binary değildir.
Bir yapay zekâ ajanı için ise bir yönerge dosyası fiilen çalıştırılabilir hale gelir: içeriği yerine getirilir ve program dosyalarına uygulanan korumaların hiçbiri geçerli olmaz. Her davranış tek başına güvenlidir; sorun ikisinin kesiştiği yerde.
Codex'e karşı yüzde 90'ın üzerinde başarı
Müşterinin makinesinden kurtarılan saldırı dosyasını kullanan Forever Security, zinciri izole bir sanal makinede Codex'e karşı yeniden canlandırdı ve yalnızca hesap makinesi uygulamasını açan zararsız bir payload koydu. Başarı oranı yüzde 90'ı aştı.
Kurtarılan AGENTS.md yaklaşık 13 KB boyutundaydı, "Mühendislik Çalışma Kılavuzu" başlığını taşıyordu ve kötü niyetli adımı sona yakın rutin bir kurulum görevi olarak gizliyordu. Codex, bir paket kurmaya yönelik açık bir yönergeyi reddeder; aynı yönergeyi uzun bir teknik belgeye gömmek bu savunmayı aşabiliyor.
Başarılı bir saldırı, makine genelindeki Codex yapılandırmasını ~/.codex/config.toml dosyasında yeniden yazarak saldırganın kontrolündeki bir "proje araçları" sunucusu kaydediyor. Bu ayar makinenin tamamına uygulandığı için, sonraki her Codex oturumu hangi klasörde çalışırsa çalışsın saldırganın sunucusunu yüklüyor — ele geçirme Downloads'dan ayrıldıktan sonra da sürüyor.
Claude Code yönlendirildi, token'lar çalındı
Claude Code'a karşı ise bir CLAUDE.md dosyası ANTHROPIC_BASE_URL ayarını değiştirerek ajanın API trafiğini, bunu "ekibin iç ağ geçidine bağlantı" olarak sunarken araştırmacının kontrolündeki bir sunucuya yönlendirdi. Başarı oranı yaklaşık yüzde 50'ydi ve başarılı saldırılar hemen OAuth token'larını sızdırdı. Araştırmacıların sunucusu daha sonra modelin kimliğine bürünüp kod yürütmeye yol açan tool çağrıları döndürebiliyordu; bu yaklaşık beş denemede bir başarılı oldu.
Kimsenin yamayamayacağı bir boşluk
Forever Security durumu bir phishing sayfasına benzetiyor: tarayıcının sahte bir banka girişini sadakatle görüntülemesi tarayıcı bug'ı değildir ve bir ajanın çalışma dizinindeki yönerge dosyasına uyması da tam olarak yapılması için tasarlandığı şeyi yapmaktır. OpenAI veya Anthropic'in yamayacağı bariz bir şey yok.
Her iki üretici de ajanları hedef projenin dizininden çalıştırmayı zaten öneriyor. Uygulamada Forever Security'nin telemetrisi — sektörden değil kendi müşterilerinden alınmıştır ve şirket bir ajan izleme ürünü satıyor — ajanların kabaca yarısının Downloads içinde çalıştığını, oradan başlayan 1.300'den fazla Claude Code oturumu olduğunu gösterdi. Araştırmacı Gal Weizman, geliştiricilerin yeni indirilen dosyaları düzenlemek veya işlemek için ajanları sıkça Downloads'a yönlendirdiğini söylüyor.
Orijital dosyanın müşterinin makinesine nasıl ulaştığı hâlâ bilinmiyor. BleepingComputer araştırmacıların proof-of-concept sayfasını test ettiğinde Chrome zararsız bir AGENTS.md dosyasını otomatik olarak indirdi; Brave onay istedi, Chrome, Edge ve Firefox ise yalnızca bir bildirim gösterdi. Ajan oturumlarının dörtte biri civarı kendisi bir tarayıcı açıyor; yani bir ajan, ekranı izleyen kimse yokken yerleştirilmiş bir sayfaya ulaşabiliyor.
Kontrol edilmesi gerekenler
Forever Security'nin tavsiyesi hiçbir şeye mal olmuyor: ajanları asla Downloads içinde başlatmayın, bunun yerine proje kökünden çalıştırın. Çalışma dizinlerinde ve yeni klonlanan repository'lerde tanımadığınız AGENTS.md, CLAUDE.md veya benzeri dosyalara dikkat edin. ~/.codex/config.toml dosyasında beklenmedik [mcp_servers.*] bloklarını ve .claude/settings.json dosyasında sizin ayarlamadığınız bir ANTHROPIC_BASE_URL olup olmadığını kontrol edin. Onay istemlerini ve sandbox'ı etkin tutun — bunları devre dışı bırakma yönergesinin kendisi bile bir saldırı belirtisidir. Bir şey ters görünüyorsa token'ların sızdığını varsayarak onları yenileyin ve function-color kurulu herhangi bir makineyi ele geçirilmiş olarak kabul edin.
Neden önemli
Önceki prompt injection saldırıları ajanlara repository'ler, sohbetler veya npm paketleri üzerinden ulaşıyordu. Bu zincir için yalnızca bir web sayfası ve tek bir metin dosyası yeterli ve teslimat tamamen ajanın dışında, insan etkileşiminden önce gerçekleşiyor. Ayrıca masaüstü güvenliğinin 30 yıllık ön varsayımını kırıyor: kullanıcı tıklamadıkça tehlikeli bir şey olmaz. Ajanlar insanlar adına tıklıyor, onaylıyor ve yürütüyor; eski bir garantiyi bir varsayıma dönüştürüyorlar — ve Downloads, bu varsayımın istismar edilebilir hale geldiği ilk yer oldu.
- #ai-agents
- #security
- #prompt-injection
- #npm
- #supply-chain
İlgili yazılar
- Kötü amaçlı AGENTS.md dosyası Codex'i MALFEX ile bağlantılı npm paketine yönlendirdi
- xAI'nin Grok Bot'ı: isimli agentlar tek bir bulut bilgisayarı paylaşıyor, yani botlar bir güvenlik sınırı değil
- Kara Ekim: PHP CVE'leri, LiteLLM tedarik zinciri saldırısı ve zayıf CA anahtarları passkey için gerekçeyi ortaya koyuyor