MCP Sisteminizi Güvenceye Alın: 11 Yaygın Risk ve Bunlara Karşı Korunma Yolları
Bu rehber, dolaylı istem enjeksiyonundan yerel sunucunun ele geçirilmesine kadar MCP sistemlerine yönelik 11 yaygın riski ele alarak MCP güvenliğini açıklıyor ve her birine karşı korunmaya yardımcı olan pratik adımları sunuyor.

MCP riskleri genel olarak üç kategoriye ayrılır: LLM manipülasyonu, veri ve erişim güvenliği ve altyapı güvenlik açıkları.
MCP sunucuları genellikle çok sayıda dahili sisteme erişim sağladığından potansiyel güvenlik riski yüksektir. Ancak bu riskin gerçekleşme olasılığı büyük ölçüde kuruluma bağlıdır.
Bireylerin ve kurumların sistemlerinin korunmasını sağlamak için atabileceği pek çok adım vardır ve protokoller her zaman bağlı MCP sunucularının açığa çıkarabileceği yeteneklerle ve verilerle orantılı olmalıdır.
MCP ve MCP güvenliği nedir?
Model Context Protocol (MCP), LLM tabanlı uygulamaları (veya ana uygulamaları) harici sistemlere bağlamak için Anthropic tarafından oluşturulmuş açık bir standarttır.
Bir MCP sisteminin üç temel bileşeni vardır: ana uygulama (host), istemci ve sunucu. Genellikle bir yapay zeka asistanı olan ana uygulama, bir istemci aracılığıyla harici bir MCP sunucusuna bağlanır. Ardından harici işlevleri (araçları) çalıştırmak ya da verileri (kaynakları) veya LLM’in bağlam penceresine eklenecek istemleri almak için istek gönderebilir.
MCP güvenliği, bir MCP sistemindeki bağlantıları ve bileşenleri koruyan protokolleri ifade eder. MCP’ye özgü birkaç temel zorluk vardır; bunlar arasında yapay zeka uygulamalarının genellikle ajan yeteneklerine sahip olması ve kötü amaçlı talimatların mesajlara gömülebilmesi de yer alır.
İstem enjeksiyonu, zayıf kimlik doğrulama ve güvensiz üçüncü taraf entegrasyonları gibi MCP’lere özgü olmayan bilinen sorunlar da risk oluşturur. Her bilgisayar sisteminde olduğu gibi MCP de koruma için yalnızca güvenilir sunucuların kullanılması gibi prosedürel protokollerin ve API ağ geçitleri gibi teknik denetimlerin bir karışımına dayanır.
MCP tehditleri ne kadar ciddi?
MCP kısa sürede popüler bir LLM teknolojisi hâline geldi ve pek çok kuruluş ile tüketiciye yönelik uygulama bunu kullanıyor. MCP sunucuları kodla yazılmış programlar olduğundan diğer tüm uygulamalar gibi güvenlik açıklarına sahiptir.
Ancak kuruluşlar MCP’yi kontrollü dağıtımlarda kullandığında genellikle güvenlidir. Güvenilir sunucular ve doğrulanmış izinlerle bir sistem kurmak ile otonom bir ajanı denetlenmemiş bir düzine sunucuya bağlamak arasında büyük bir fark vardır.
Tehdit #1: Dolaylı istem enjeksiyonu
Bir saldırgan, bir MCP sunucusunun döndürdüğü bir belgenin, web sayfasının veya araç çıktısının içine LLM’i hedef alan talimatlar yerleştirebilir. Ana uygulama bu içeriği bağlam penceresine eklerse LLM’in bunu gerçek talimatlarla karıştırma ihtimali vardır.
Üstelik bu talimatlar ilk bakışta uygun görünebilir. Örneğin, alınan bir destek talebi LLM’e yanıt oluşturmadan önce hassas müşteri kayıtlarını dışa aktarmasını söyleyebilir.
Dolaylı istem enjeksiyonuna karşı korunma yolları
İstem enjeksiyonları genellikle ana uygulama düzeyinde ele alınmalıdır. Harici içerik güvenilmeyen olarak etiketlenmeli ve hassas bilgi talepleri, sürece dahil olan bir insanın bilgilendirilmiş onayını gerektirmelidir. Ana uygulamanın ve LLM’in nasıl tepki verdiğini görmek için kötü amaçlı belgelerin veya verilerin çağrılmasını içeren güvenlik testleri de faydalı olabilir.
Tehdit #2: Araç zehirleme ve halı çekme (rug pull)
Araç zehirleme saldırısında bir MCP aracının açıklamasına veya şemasına kötü amaçlı kod eklenir. Bu, MCP’nin mevcut araçları ilk kez sunduğu keşif aşamasında LLM’i etkileme potansiyeline sahiptir.
Halı çekme (rug pull), onaylanmış meta verilerin değiştirildiği özel bir araç zehirleme türüdür. Bu araç zehirleme biçimi, doğrudan kötü amaçlı bir aracı çağırmak yerine bir modelin güvenilir araçları kullanma şeklini değiştirebilir.
Araç zehirleme ve halı çekme saldırılarına karşı korunma yolları
Ana uygulama, her aracı kullanmadan önce aracın tam tanımını incelemeli ve onaylanmış güvenilir araçlar listesiyle karşılaştırarak olası değişiklikleri tespit etmelidir. Parametre kontrolleri, tehlikeli yetenek potansiyelini belirlemeye ve bunları işaretlemeye yardımcı olabilir.
Tehdit #3: Aşırı izinler
Kullanıcıların MCP sunucularına ve (ana uygulama aracılığıyla) bağlı LLM’lere bir görev için gerekenden fazla izin vermesi yaygındır. Örneğin salt okuma yeterliyken yazma izinleri ya da dahili bir dosya sistemine (Google Drive gibi) tam erişim verilmesi.
Bu kapsamlı izin genişlemesi, kötü amaçlı araç çağrıları gibi diğer güvenlik açıklarının etki alanını büyütebilir. Kullanıcılar bir kurumda yapay zeka araçlarıyla günlük çalışmaları sırasında ayrıcalık tanıdıkça izinlerin “birikmesi” yaygındır (ayrıcalık birikimi).
Aşırı izinlere karşı korunma yolları
Bu soruna karşı korunmanın en doğrudan yolu izinleri ve OAuth kapsamlarını (okuma, yazma, tam erişim vb.) kısıtlamaktır. Özellikle hassas işlemler için kullanıcı onayları bunun önemli bir parçasıdır, ancak izinler sistem düzeyinde de (işletim sistemi, MCP ana uygulaması ve sunucu) denetlenmelidir.
Tehdit #4: Zayıf kimlik doğrulama ve yetkilendirme
Kimlik doğrulama bir MCP sunucusuna bağlanan kullanıcıların veya uygulamaların kimliklerini teyit eder. Yetkilendirme ise bunların hangi araçlara ve kaynaklara erişebileceğini belirler.
Yanlış yapılandırılmış MCP sunucuları, kullanıcıların kimliğini doğru şekilde doğrulamadan veya erişim kısıtlamalarını uygulamadan istekleri ya da belirteçleri kabul edebilir. Ayrıca doğrulama zayıfsa çalınan kimlik bilgileri kötü niyetli kişilerin erişim elde etmesine olanak tanıyabilir.
Zayıf kimlik doğrulama ve yetkilendirmeye karşı korunma yolları
Uzak MCP sunucuları için OAuth tabanlı kimlik doğrulama, kısa ömürlü belirteçler ve rol tabanlı erişim denetimi (RBAS), zayıf yetkilendirmenin etkilerini azaltmaya yardımcı olan önlemlerdir. Rol tabanlı erişim, sunucunun kendisi erişime sahip olsa bile kullanıcıların izinlerinin ötesindeki verilere ve araçlara erişmesini engellediği için faydalıdır.
Tehdit #5: Kimlik bilgisi sızıntıları ve kötüye kullanımı
MCP sunucuları, harici hizmetlere bağlanmak için rutin olarak API anahtarları ve OAuth erişim belirteçleri gibi kimlik bilgileri kullanır. Bunlar açığa çıkarsa veya kötüye kullanılırsa saldırganlar hassas verilere ve işlevlere erişim elde edebilir.
Bunun bir örneği, bir MCP sunucusunun bir erişim belirtecini gerçekten alıcı hizmet için tasarlanıp tasarlanmadığını doğrulamadan başka bir hizmete ilettiği belirteç aktarımıdır (token passthrough). Bu da alıcı hizmetin korumaları yetersizse sızıntıya yol açabilir.
Kimlik bilgisi sızıntılarına ve kötüye kullanımına karşı korunma yolları
Kısa ömürlü, dar kapsamlı belirteçler ve kimlik bilgisi rotasyonu, sızdırılan verilerin kötü niyetli kişilerce ne ölçüde kullanılabileceğini sınırlamada etkilidir. API anahtarları ve kimlik bilgileri her zaman bir gizli bilgi yöneticisi (secret manager) kullanılarak güvenli şekilde saklanmalıdır.
Tehdit #6: Şaşkın vekil (confused deputy) saldırıları
Şaşkın vekil saldırısı, bir saldırganın güvenilir bir uygulamayı, meşru bir kullanıcı tarafından yetkilendirilmemiş bir eylemi gerçekleştirmek için kendi izinlerini kullanmaya kandırmasıyla ortaya çıkar. Bu durumda vekil, MCP sunucusudur.
Saldırgan, araç çağrısı veya veri alma gibi kötü amaçlı bir işlemi yürütmek için bir MCP sunucusu güvenlik açığından (zayıf OAuth doğrulamaları gibi) yararlanır.
Şaşkın vekil saldırılarına karşı korunma yolları
Her araç çağrısının belirli bir kullanıcıya ait olduğunun doğrulandığı yetkilendirme doğrulaması, şaşkın vekil saldırılarını sınırlamaya yardımcı olur. Ayrıca veri dışa aktarımları gibi hassas eylemler açık yetkilendirme gerektirmelidir.
Tehdit #7: Kötü amaçlı sunucular ve ele geçirilmiş bağımlılıklar
MCP sunucuları kötü amaçlı kod barındırabilir (esasen harici programlardır) veya üçüncü taraf kitaplıklar gibi ele geçirilmiş bağımlılıklara dayanabilir. Bu, MCP’ye özgü bir sorun değil, bir yazılım tedarik zinciri sorunudur.
Bunun gerçekleşebileceği basit yollardan biri, bir saldırganın meşru görünen bir entegrasyon dağıtmasıdır. Kurulduktan sonra bu entegrasyon kimlik bilgilerini çalıp yeniden kullanabilir, hassas verilere erişebilir ve yetkisiz işlemler yürütebilir.
Kötü amaçlı sunuculara ve ele geçirilmiş bağımlılıklara karşı korunma yolları
MCP sunucularını yalnızca güvenilir ve denetlenmiş kaynaklardan yükleyin. Mümkünse kodlarını inceleyin ve tüm harici bağımlılıkları mutlaka kontrol edin. Sunucuların düzenli olarak güncellendiğinden ve yamalandığından emin olun.
Tehdit #8: Sunucu taraflı istek sahteciliği (SSRF)
Sunucu taraflı istek sahteciliği (SSRF), bir saldırganın bir MCP sunucusunu, kullanıcının erişmeyi amaçlamadığı dahili adreslere ağ istekleri göndermeye kandırmasıdır.
Bu durum, bir MCP sunucusu bir URL’den bilgi alan bir araç sunduğunda yaşanabilir. Bir saldırgan URL parametresini etkileyebilirse onu dahili bir API veya bulut hizmeti gibi istediği bir ağ adresiyle değiştirebilir. Bu da hassas verilerin alınmasına ve potansiyel olarak erişilebilir hâle gelmesine yol açabilir
Sunucu taraflı istek sahteciliğine (SSRF) karşı korunma yolları
MCP sunucuları her zaman URL’leri doğrulamalı, kısıtlı dahili ağ adreslerine erişimi engellemeli ve giden ağ erişimini önlemelidir. Yönlendirmeler de bu protokole uymalıdır.
Tehdit #9: Oturum ele geçirme
Oturum ele geçirme, bir saldırganın bir MCP istemcisi ile sunucu arasındaki etkin bir bağlantının kontrolünü ele geçirmesidir.
Örneğin saldırgan, yeterince güvenli olmayan bir MCP uygulamasından (ör. bir ana uygulama veya sunucu) bir oturum tanımlayıcısını çalabilir. MCP sunucusu bu tanımlayıcıyı kabul ederse saldırgan, kullanıcının meşru izinleriyle potansiyel olarak araçları çağırabilir.
Korunma yolları
Oturum ele geçirme riski, bir MCP sistemindeki tüm uygulamalarda sıkı kimlik doğrulamasıyla azaltılabilir. Oturum tanımlayıcılarının tespit edilmesini önlemek için MCP istemcileri ile uzak sunucular arasında şifreleme de şarttır.
Tehdit #10: Karıştırma (mix-up) saldırıları
Karıştırma saldırısında saldırgan, bir MCP istemcisini, istemci ile MCP sunucusu arasında yer alan kötü amaçlı bir yetkilendirme sunucusuna yetkilendirme kodu göndermeye kandırır. Yetkilendirme sunucusu, istenen erişimin yetkili olduğunu kontrol ettikten sonra OAuth erişim belirteçleri veren bir uygulamadır.
Bir MCP ana uygulaması, her biri farklı bir yetkilendirme sunucusu kullanan birden fazla hizmete bağlanıyorsa saldırgan bunlardan birini (örneğin kötü amaçlı bir hizmet kaydederek) kontrol edebilir ve istemcinin meşru bir sunucu tarafından verilen yetkilendirme kodunu kötü amaçlı sunucuya göndermesine neden olabilir. Bu karışıklık, saldırganın yetkili uygulamanın kimliğine bürünmesine ve korunan hizmetlere erişim elde etmesine olanak tanıyabilir.
Karıştırma saldırılarına karşı korunma yolları
MCP istemcileri, OAuth süreci boyunca yetkilendirme sunucusunun kimliğini doğrulamalıdır. Özellikle sunucunun yayımlayıcı tanımlayıcısını (iss) beklenen kimlikle karşılaştırmalı ve eşleşmeyenleri reddetmelidir.
Tehdit #11: Yerel MCP sunucusunun ele geçirilmesi
Birçok MCP sunucusu kullanıcının yerel makinesinde çalışır. Kullanıcılar sunucuyu üçüncü bir taraftan yükleyebilir veya kendileri oluşturabilir. Bir saldırgan bu yerel MCP sunucusunu ele geçirebilirse yerel sistemin büyük bölümüne erişim elde edebilir.
Bir saldırganın erişim elde etmesinin çeşitli yolları vardır. Meşru bir entegrasyon kılığına sokulmuş kötü amaçlı bir sunucu dağıtabilir, bir MCP ana uygulamasının yapılandırmasını kötü amaçlı bir komut verecek şekilde değiştirebilir veya yetersiz güvenlik denetimlerine sahip bir ortamda çalışan bir MCP sunucusuna, örneğin bir tarayıcıyı localhost hizmetine istek göndermeye kandıran DNS rebinding yoluyla erişebilir.
Yerel MCP sunucusunun ele geçirilmesine karşı korunma yolları
Yerel MCP sunucuları kullanılırken korumalı alan kullanımı ve sıkı onay protokolleri önemlidir. MCP sunucuları yalnızca güvenilir sağlayıcılardan yüklenmeli ve işletim sistemi izinleri, sunucuların hangi dizinlere erişebileceğini kısıtlamalıdır.
MCP güvenlik açıkları çoğu zaman yeni kılıktaki eski tehditlerdir
MCP güvenlik açıkları genellikle bilinen risklerin ve saldırı yöntemlerinin yeni uygulamalarından kaynaklanır. MCP; LLM’ler, MCP sunucuları ve harici hizmetler arasındaki etkileşimler aracılığıyla saldırganlara bu güvenlik açıklarından yararlanmaları için yeni yollar sunar.
Elbette MCP’ye özgü tehditler de mevcuttur. Ancak sıkı yetkilendirme uygulamak, güvenilir sağlayıcılar kullanmak ve istem enjeksiyonlarına karşı önlem almak gibi standart güvenlik protokollerinin her türlü MCP kurulumunu korumada büyük katkı sağlayacağını unutmamak gerekir.