Security Blog

Acentanıza hataları düzeltmesini söylediniz. Bunlardan biri bir saldırgan tarafından yazılmıştı. <<<CLV-SUBTIME>>>

#367

October 2, 2026 · By Marketing team

← All posts

Sahte bir Sentry hata raporu, yapay zekâ kodlama acentalarını saldırganın kodunu geliştiricinin tam yetkisiyle çalıştırması için kandırıyor; %85 olasılıkla. Asıl felaket enjeksiyon değil; kaçırılmış bir acentanın erişebileceği kalıcı kimlik bilgileri.

Bir geliştirici yapay zekâ kodlama acentasını açar ve dünyanın en sıradan isteğini yazar: "çözülmemiş Sentry hatalarına bir bak ve düzelt." Acente hata listesini Sentry bağlayıcısı aracılığıyla çeker, ilk sorunu okur, raporun hemen orada yazılan düzeltme adımlarını izler ve çalıştırır. Yarım dakika sonra saldırganın kodu, geliştiricinin makinesinde, geliştiricinin tam yetkileriyle çalıştırılmış olur; ve kimse yanlış bir şey yapmamıştır.

Bu, bu ay Tenet Security tarafından ifşa edilen Agentjacking'dir ve pazardaki en pop üç kodlama acentası — Claude Code, Cursor ve Codex — karşısında %85 oranında sonuç verdi [1][2].

Aslında ne oldu

Önce Sentry'nin ne olduğu: yazılımda en yaygın kullanılan hata izleme servislerinden biri. Uygulamanız bir hata fırlattığında ya da çöktüğünde Sentry bunu yakalar ve geliştiricilerinizin triyaj yaptığı raporu dosyalar — her gün temas ettiğiniz uygulamaların büyük bir bölümünün içindedir. Bu raporları ona göndermek için her uygulama bir DSN gömer: kasten olarak sitenizin kaynak kodunda yer alan, istemci tarafında bir anahtar, tarayıcının hataları merkeze bildirebilmesi için. Onu herkes okuyabilir. Ve ona sahip olan herkes, Sentry projenize bir hata olayı POST edebilir.

Saldırının tüm anahtarı budur. Tenet, mesaj alanı tam olarak Sentry'nin kendi düzeltme rehberi gibi görünecek biçimde düzenlenmiş sahte bir hata olayı hazırladı: derli toplu markdown, "önerilen düzeltme", çalıştırılacak bir komut. Olayı herkese açık DSN ile gönderdiler. Sonra bir geliştiricinin yapacağı en doğal şeyi beklediler — acentadan hata kuyruğunu temizlemesini istemesini.

Acente, Sentry'yi MCP bağlayıcısı üzerinden sorgular. Bağlayıcı hatayı güvenilir sistem çıktısı olarak geri verir. Acente gerçek bir Sentry raporu ile sahtesini ayırt edemez; ikisi bayt bayt aynı yapıdadır. Bu yüzden kendisine söyleneni yapar ve "düzeltmeyi" çalıştırır — genellikle saldırganın bir paketine yapılan bir npx çağrısı. O noktadan itibaren geliştiricinin sahip olduğu her şeye sahiptir: ortam değişkenleri, Git kimlik bilgileri, özel depo adresleri, ~/.aws/ içindeki bulut anahtarları.

Tenet, bağımsız geliştiricilerden Fortune 100 şirketlerine kadar 2.388 kuruluşta enjekte edilebilir DSN buldu. Kontrollü testlerinde acentalar, gerçek şirketlerde enjekte edilen talimatları fiilen çalıştırdı — Tenet'in aktardığına göre bunlar arasında, yapay zekâ acentası sahte hata raporunu okuyup Tenet'in kodunu kurumsal iki makinesinde çalıştıran 250 milyar dolarlık bir Fortune 100 teknoloji şirketi de vardı [1][3]. Sorun 3 Haziran'da Sentry'ye bildirildi; şirket aynı gün kabul etti ve sorunu kökünden çözmeyi reddederek sorunun "teknik olarak savunulamaz" olduğunu söyledi. Belirli bir yük dizesini engelleyen bir içerik filtresi yayımladı [4].

Bu, Sentry'nin dikkatsizliği değil

Rahatsız edici kısım şu: bu zincirde hiçbir şey hata değildi. DSN'nin herkese açık olması gerekiyordu. MCP sunucusunun hata verinizi döndürmesi gerekiyordu. Acentanın, çözmesini istediğiniz teşhisler doğrultusunda hareket etmesi gerekiyordu. Her adım yetkiliydi; tam da bu yüzden hiçbir güvenlik duvarı, hiçbir EDR, hiçbir sistem istemi yakalayamadı.

Kusur yapısal ve yalnızca Sentry'ye ait değil. Bir ajana dışarıdan birinin etkileyebileceği metin besleyen her araç — bir hata izleyici, bir iş kuyruğu, taranmış bir web sayfası, paylaşılmış bir belge — bir enjeksiyon kanalıdır ve acente bunların tümünü ayrıştırılmamış tek bir talimat akışı olarak ele alır. Acentalar çağının ikinci yılında istem enjeksiyonu hâlâ çözülmedi: düşmanca metni bir modelin akıl yürütmesinden güvenilir biçimde uzak tutamazsınız. Tutamayacağınızı varsayın.

Felaket enjeksiyon değil

Üzerinde durmaya değer kısım şu. Agentjacking'in beş alarmlık bir yangın olmasının nedeni acentanın kandırılması değil. Kandırılmış acentanın neye erişebildiği. Geliştiricinin kalıcı erişiminin tamamıyla çalıştı: ortamdaki her anahtar, diskteki her kimlik bilgisi dosyası, tek komut uzaktaki tüm anahtar zinciri.

Bu etki alanı bir doğa yasası değil. Bir yapılandırmadır. Acentanın bunların tümüne kalıcı erişimi vardı çünkü kimlik bilgileri bugün böyle saklanıyor — ortamda, makinenin üzerinde, orada çalışan her şeyin okuyabileceği biçimde. Bunu kaldırın; aynı kaçırma duvara toslar.

Kasten buna göre geliştirildi

Bir Clavitor kimlik bilgisi, acentanın çalıştığı ortamda asla durmaz. Okunacak bir ~/.aws/credentials yok, sızdırılacak bir ortam değişkeninde API anahtarı yok; çünkü gizli değer, kodun çalıştığı yere hiç ulaşmaz — acente bir kimlik bilgisini kullanmanın sonucunu alır, kimlik bilgisinin kendisini değil. Yalnızca adlandırıldığı o tek şeye erişebilir, bu yüzden depoyu sayıp başka ne olduğunu bulamaz. Ve yetki kapsamı tanımlı ve geri alınabilir; bu yüzden saldırgan gibi davranmaya başlayan bir oturum, işlem sırasında kesilebilir.

Dürüst sınırı şu: bu, enjeksiyonu durdurmaz ve kaçırılmış bir acentanın komut çalıştırmasını da durdurmaz. İstem enjeksiyonu çözülmedi ve biz çözdüğümüzü iddia etmiyoruz. Değişen şey ödül. Saldırganın kodu yine çalışır — ve içinde çalınmaya değer hiçbir kalıcı şeyin bulunmadığı bir ortamla karşılaşır. Kaçırma başarılı olur, soygun başarısız olur.

Bir kimlik bilgisi sisteminin, acentanın kendisine karşı kullanılabilir hale geldiği andan itibaren uyması gereken kuralları yazdık; başlangıç noktası, gizlinin asla kodun çalıştığı yerde yaşamaması ve bir acentanın yalnızca adlandırıldığı şeye erişmesidir. Kendi sisteminizi bu kurallardan geçirin: clavitor.ai/rules.

Ders "Sentry'yi yamayın" değil

Sentry bunu düzeltemez ve bunu söyledi. Ve bir sonraki zehirlenmiş araç Sentry olmayacak. Acentalarınız ortamda kalıcı kimlik bilgileri taşıdığı sürece, okudukları her güvenilir araç dolu bir silahtır ve istem enjeksiyonu kilitleyemediğiniz tetiktir.

Kötü amaçlı metni dışarıda tutamayacaksınız. O zaman onu okuyan acentanın erişiminden kimlik bilgilerini uzak tutun.

Clavitor (@clavitorai), yapay zekâ acentaları için ve onlara karşı geliştirilmiş kimlik bilgisi kasasıdır. clavitor.ai

Kaynaklar

[1] Tenet Security — "Agentjacking: coding agents hijacked with fake Sentry errors" (%85 başarı; 2.388 kuruluş; mekanizma): https://tenetsecurity.ai/blog/agentjacking-coding-agents-with-fake-sentry-errors/

[2] The Hacker News — "Agentjacking Attack Tricks AI Coding Agents Into Running Malicious Code": https://thehackernews.com/2026/06/agentjacking-attack-tricks-ai-coding.html

[3] The New Stack — "A public Sentry key is all it takes to hijack Claude Code, Cursor, and Codex": https://thenewstack.io/agentjacking-sentry-mcp-attack/

[4] Infosecurity Magazine — "New 'Agentjacking' Attacks Could Hijack AI Coding Agents" (Sentry'nin yanıtı): https://www.infosecurity-magazine.com/news/agentjacking-attacks-hijack-ai/