MCP'nin asıl etkisi entegrasyon kolaylığı değil, yetkinin merkezileşmesi
Model Context Protocol genellikle bir entegrasyon standardı olarak anlatılıyor: her araç için ayrı bağlayıcı yazmaktan kurtarıyor. Doğru ama eksik. Protokolün asıl yapısal etkisi, daha önce farklı sistemlere dağılmış yetkilerin tek bir istemcide toplanması. O istemci artık kurumun en geniş yetkili tek aktörü ve bu, entegrasyon değil yetki mimarisi sorunu.
Şükrü Yusuf Kaya · · 8 dakikalık okuma
Kısa cevap
MCP bağlayıcı yazma maliyetini gerçekten düşürüyor. Ama asıl yapısal etkisi farklı: daha önce ayrı sistemlere dağılmış yetkiler tek bir istemcide toplanıyor ve o istemci kurumun en geniş yetkili tek aktörü hâline geliyor.
Tez#
Model Context Protocol'ün anlatılma biçimi neredeyse tümüyle geliştirici ergonomisi üzerine kurulu: her model sağlayıcısı için ayrı araç tanımı yazmak yerine tek bir protokol konuşuyorsunuz, sunucular yeniden kullanılabiliyor, istemci değiştirmek ucuzluyor. Bunların hepsi doğru ve hepsi ölçülebilir kazanç.
Ancak bir kurumda MCP'nin bıraktığı kalıcı iz burada değil. Protokol yaygınlaştıkça tek bir istemci — bir geliştirici aracı, bir asistan, bir ajan çalıştırıcısı — aynı anda kod deposuna, biletleme sistemine, veri ambarına, müşteri kayıtlarına ve iç dokümantasyona erişen tek süreç hâline geliyor. Bu erişimlerin her biri ayrı ayrı onaylanmış olabilir; ama bir arada bulunmaları hiçbir onay sürecinden geçmiyor. Yetki mimarisindeki değişim sessiz gerçekleşiyor, çünkü her adım tek başına makul.
Bağlam: dağıtık yetkiden toplu yetkiye#
Değişimi görmek için MCP öncesi ve sonrası aynı tabloda yan yana konmalı. Fark, erişim sayısında değil erişimlerin birleşiminde.
| Boyut | MCP öncesi | MCP sonrası | Yeni risk |
|---|---|---|---|
| Yetki dağılımı | Her entegrasyon kendi kimlik bilgisiyle | Tek istemci, çok sunucu | Birleşik yetki hiç onaylanmadı |
| Denetim izi | Her sistem kendi günlüğünde | İstemci tarafında tek akış | İstemci günlüğü yoksa iz yok |
| Girdi kaynağı | Belirli, sabit çağrı yolları | Model kararıyla dinamik çağrı | İstem enjeksiyonu araç zincirine erişir |
| İptal etme | Tek entegrasyon kapatılır | İstemci yapılandırmasından çıkarılır | Kim hangi sunucuyu eklemiş, envanter yok |
Dördüncü satırın pratik sonucu çoğu kurumda henüz görülmedi: MCP sunucusu eklemek genellikle bir yapılandırma dosyasına birkaç satır yazmak. Bu, kurumsal bir entegrasyon kararının bir geliştirici tercihine dönüşmesi demek. Altı ay sonra hangi istemcinin hangi sunucuya bağlı olduğunu kimse bilmiyor ve bu envanteri çıkarmanın merkezî bir yolu yok.
Kanıt: birleşik yetkinin ürettiği somut açıklar#
Yetki merkezileşmesi soyut bir kaygı değil; belirli saldırı ve hata desenleri üretiyor. Aşağıdakiler tek istemcide toplanmış yetkinin doğrudan sonuçları.
- Okuma yetkisiyle yazma yetkisinin buluşması: bir sunucu müşteri kaydını okuyor, diğeri dışarıya mesaj gönderiyor. İkisi ayrı sistemdeyken sızıntı yolu yoktu; aynı istemcide var.
- Dolaylı istem enjeksiyonu için geniş hedef: modelin okuduğu bir bilet açıklaması, bir depo dosyası veya bir e-posta, bağlı tüm araçlara talimat verebilecek bir yüzey hâline geliyor.
- Yetki yükseltme gerekmeyen erişim: saldırganın ek yetki almasına gerek yok; istemcinin zaten sahip olduğu yetkiyi kullanmaya ikna etmesi yeterli.
- Denetim izinin kopması: sistem günlüğünde işlemi yapan kimlik istemcinin kendisi. Hangi kullanıcının hangi isteği tetiklediği, istemci bunu ayrıca kaydetmiyorsa kayıp.
- Kademeli onayın anlamsızlaşması: kullanıcı tek bir araç çağrısını onaylıyor ama o çağrının döndürdüğü içerik sonraki çağrıları belirliyor.
Birinci madde bu desenlerin en sık görüleni ve en az konuşulanı. Klasik güvenlik literatüründe buna veri akışı kontrolü deniyor: okuma yetkisi olan bir bileşenle yazma yetkisi olan bir bileşenin birleşmesi, tek başına hiçbirinde bulunmayan bir yetenek üretiyor. MCP bu birleşmeyi varsayılan hâle getiriyor ve genellikle kimse birleşimi ayrıca değerlendirmiyor.
Mekanizma: protokol yetkiyi taşımıyor, istemci taşıyor#
Ayrımı netleştirmek gerekiyor: MCP bir yetkilendirme protokolü değil. Sunucuya hangi kimlikle bağlanılacağını, o kimliğin neye erişebileceğini ve çağrının kimin adına yapıldığını protokol belirlemiyor. Bunları istemci ve sunucu yapılandırması belirliyor.
Bu, protokolün bir eksiği değil — kapsam tercihi. Ama pratik sonucu şu: güvenlik tümüyle uygulamaya kalıyor ve uygulamaların çoğu en kolay yolu seçiyor. En kolay yol, sunucuya geniş yetkili tek bir hizmet kimliği vermek. Böylece her kullanıcı, o hizmet kimliğinin tüm yetkisiyle iş görüyor ve kullanıcı bazlı yetki ayrımı kayboluyor. Doğru kalıp — çağrının son kullanıcı kimliğiyle yapılması ve yetkinin o kullanıcının kendi izinleriyle sınırlanması — teknik olarak mümkün ama daha fazla iş gerektiriyor ve bu yüzden nadiren yapılıyor.
Karşı görüş#
İki güçlü itiraz var. Birincisi: bu sorun MCP'ye özgü değil — her entegrasyon katmanı, her kurumsal hizmet veri yolu aynı merkezileşmeyi üretir ve çözümleri bilinir. İkincisi: merkezileşme bir kazanç; dağıtık kimlik bilgileri yönetilemez ve tek noktada toplamak denetimi kolaylaştırır.
Her sunucuyu ayrı ayrı güvenlik incelemesinden geçirdik. Altı ay sonra fark ettik ki incelemediğimiz şey bileşimdi: bir sunucu iç wiki'yi okuyor, biri dışarıya e-posta atıyordu. İkisi de tek başına zararsızdı.
Birinci itiraz doğru ama bir farkı atlıyor: klasik entegrasyon katmanlarında hangi çağrının yapılacağı kodda sabitti ve gözden geçirilebilirdi. MCP'de çağrı kararını model veriyor ve bu karar girdiden etkileniyor — yani saldırganın etkileyebildiği bir yerden. Merkezileşmenin kendisi yeni değil; merkezîleşmiş yetkiyi kullanacak kararın veri tarafından yönlendirilebilir olması yeni. İkinci itiraz da geçerli: merkezileşme yönetilebilirse gerçekten kazanç. Ama koşul 'yönetilebilirse' ve bugün çoğu kurumda hangi istemcinin hangi sunucuya bağlı olduğunun envanteri bile yok. Merkezileşme kendiliğinden denetim getirmiyor; denetim ayrı bir iş.
Sınırlar ve belirsizlik#
Bu analiz protokolün kendisine karşı bir argüman değil ve saha verisiyle desteklenmiş bir risk ölçümü sunmuyor.
- Protokol hızla gelişiyor: yetkilendirme ve kimlik doğrulama tarafı olgunlaştıkça bu analizin bazı maddeleri geçersizleşebilir.
- Olay verisi yok: birleşik yetkinin gerçek dünyada ne sıklıkta istismar edildiğine dair yayımlanmış veri bulunmuyor.
- Kurum ölçeğine bağlı: tek kişilik bir geliştirme ortamında merkezileşme risk değil kolaylık.
- Kullanıcı kimliğiyle çağrı yapmanın maliyeti ölçülmedi: doğru kalıbın ek karmaşıklığı alana göre değişiyor.
Sonuç#
MCP'nin entegrasyon kazancı gerçek ve tartışmasız. Ama bir kurumda protokolün bıraktığı asıl iz, yetki mimarisinde: daha önce farklı sistemlere dağılmış erişimler tek bir süreçte buluşuyor ve o birleşim hiçbir onay sürecinden geçmiyor.
Doğru soru 'MCP kullanmalı mıyız' değil — kullanılacak. Doğru soru şu: bu istemcinin taşıdığı yetkilerin birleşimi, tek bir insana verilse onaylanır mıydı? Cevap hayırsa, güvenlik incelemesi sunucu bazında değil bileşim bazında yapılmalı ve envanter merkezî tutulmalı. Bu iki adım, protokolün kazancını korurken yetki tarafındaki sessiz genişlemeyi görünür kılıyor.
Ne yapmalı?#
- 1Bileşim incelemesi yapın
Sunucuları tek tek değil, bir istemcide bir arada bulunduklarında ürettikleri yeteneği değerlendirin.
- 2Okuma ve yazma yetkisini ayırın
Dışarıya veri gönderebilen sunucuyla hassas veri okuyan sunucu aynı istemcide bulunmasın.
- 3Son kullanıcı kimliğiyle çağrı yapın
Geniş yetkili tek hizmet kimliği en kolay yol ama kullanıcı bazlı yetki ayrımını yok ediyor.
- 4Sunucu envanterini merkezî tutun
Hangi istemci hangi sunucuya bağlı? Bu envanter yoksa iptal etme de mümkün değil.
- 5İstemci tarafında denetim izi tutun
Sistem günlüğünde işlemi yapan kimlik istemci. Hangi kullanıcı tetikledi bilgisi ayrıca kaydedilmeli.
- 6Araç çıktısını talimat değil veri sayın
Bir aracın döndürdüğü metin sonraki çağrıları belirlememeli; zincirde bu sınır açıkça kurulmalı.
Bu tezi ne çürütür?
İstemci başına yetki kapsamının araç bazında daraltılabildiği, yani bir MCP istemcisinin yalnızca o an yürütülen görevin gerektirdiği izinlerle çalıştığı bir uygulama kalıbı yaygınlaşırsa tez zayıflar. Bugün pratikte istemciler tüm bağlı sunucuların yetkilerini birlikte taşıyor.
Her analiz kendi yanlışlanma koşulunu yazar. Bir tezin hangi gözlemle çürütüleceğini söyleyemiyorsak ortada tez değil temenni vardır; o metin yayımlanmaz.
Sık sorulan sorular
MCP güvenlik açığı mı yaratıyor?
Protokolün kendisi bir açık üretmiyor; yetki mimarisini değiştiriyor. MCP bir yetkilendirme protokolü değil — sunucuya hangi kimlikle bağlanıldığını ve o kimliğin neye erişebileceğini protokol belirlemiyor, uygulama belirliyor. Risk, daha önce ayrı sistemlere dağılmış erişimlerin tek istemcide birleşmesinden ve bu birleşimin hiçbir onay sürecinden geçmemesinden doğuyor.
Sunucuları tek tek incelemek yetmez mi?
Yetmiyor, çünkü risk bileşimden doğuyor. İç dokümantasyonu okuyan bir sunucu tek başına zararsız; dışarıya e-posta gönderen bir sunucu da tek başına zararsız. İkisi aynı istemcide bulunduğunda, hiçbirinde bulunmayan bir yetenek ortaya çıkıyor: hassas veriyi dışarıya taşıma. Güvenlik literatüründe buna veri akışı kontrolü deniyor ve inceleme bileşim düzeyinde yapılmadıkça bu yetenek görünmüyor.
Klasik entegrasyon katmanlarından farkı ne?
Merkezileşmenin kendisi yeni değil; kurumsal hizmet veri yolları da yetkiyi tek noktada toplar. Fark, çağrı kararının nerede verildiği. Klasik katmanlarda hangi çağrının yapılacağı kodda sabitti ve gözden geçirilebilirdi. MCP'de bu kararı model veriyor ve karar girdiden etkileniyor — yani saldırganın etkileyebildiği bir yerden. Merkezîleşmiş yetkiyi kullanacak kararın veri tarafından yönlendirilebilir olması yeni olan.
Doğru yetki kalıbı nedir?
Çağrının son kullanıcının kendi kimliğiyle ve kendi izinleriyle yapılması. Pratikte en kolay yol sunucuya geniş yetkili tek bir hizmet kimliği vermek; bu durumda her kullanıcı o kimliğin tüm yetkisiyle iş görüyor ve kullanıcı bazlı yetki ayrımı kayboluyor. Doğru kalıp teknik olarak mümkün ama daha fazla iş gerektirdiği için nadiren uygulanıyor. Ek olarak okuma ve yazma yetkilerinin aynı istemcide buluşmaması gerekiyor.
Kaynaklar
- 01Model Context Protocol — Specification — Model Context Protocol · Dokümantasyon
- 02Building Effective Agents — Anthropic · Dokümantasyon
- 03OWASP Top 10 for Large Language Model Applications — OWASP · Teknik rapor
UNDERSTAND
Analizin dayandığı kavramları da oku
Her analiz, Atlas'taki kalıcı kavram girdilerine yaslanır. Terimleri oradan derinleştirebilirsin.
