MCP sistemindeki potansiyel güvenlik riskleri ve saldırı gösterimi
Mevcut MCP ( Model Context Protocol ) ekosistemi hala erken gelişim aşamasındadır, genel ortam oldukça kaotik ve çeşitli potansiyel saldırı yöntemleri ortaya çıkmaktadır. Mevcut protokol ve araçların tasarımı etkili bir savunma sağlamakta zorlanmaktadır. Topluluğun MCP güvenlik bilincini artırmasına yardımcı olmak amacıyla, MasterMCP adında açık kaynaklı bir araç ortaya çıkmıştır. Bu araç, gerçek saldırı tatbikatları yoluyla geliştiricilerin ürün tasarımındaki güvenlik açıklarını zamanında tespit etmelerine yardımcı olmayı ve böylece MCP projesinin güvenliğini sürekli olarak güçlendirmeyi hedeflemektedir.
Bu makale okuyucuları MCP ekosisteminde yaygın saldırı yöntemlerini, bilgi zehirleme, gizli kötü niyetli komutlar gibi gerçek vakalar da dahil olmak üzere, pratik bir şekilde göstermeye yönlendirecektir. Tüm gösterim scriptleri açık kaynaklıdır ve herkesin güvenli bir ortamda sürecin tamamını yeniden üretmesi ve hatta buna dayanarak kendi saldırı test eklentilerini geliştirmesi için mevcuttur.
Genel Mimarinin Gözden Geçirilmesi
Demonstrasyon Saldırı Hedefi MCP: Toolbox
Toolbox, geniş bir kullanıcı kitlesine sahip popüler bir MCP yönetim aracıdır. Onu test hedefi olarak seçmenin başlıca nedenleri şunlardır:
Kullanıcı tabanı büyük, temsil yeteneğine sahip
Diğer eklentilerin otomatik olarak yüklenmesini destekler, bazı istemci işlevlerini tamamlayabilir.
Hassas yapılandırmaları içerir ( gibi API Anahtarı ), gösterim için kolaylık sağlar.
gösterim amacıyla kullanılan kötü niyetli MC: MasterMC
MasterMCP, güvenlik testleri için tasarlanmış bir sahte kötü niyetli MCP aracıdır ve eklenti mimarisi tasarımıyla aşağıdaki temel modülleri içerir:
Yerel web hizmeti simülasyonu:
Bu modül, FastAPI çerçevesi kullanarak basit bir HTTP sunucusu hızlı bir şekilde kurar ve yaygın web sayfası ortamını simüle eder. Bu sayfalar yüzeyde normal görünür, ancak gerçekte kaynak kodu veya API yanıtında özenle tasarlanmış kötü niyetli yükler gizlenmiştir.
Yerel Eklentili MCP Mimarı
MasterMCP, eklenti tabanlı bir genişletme yöntemi kullanır; bu, yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini kolaylaştırır. Çalıştırıldığında, MasterMCP yukarıda belirtilen FastAPI hizmetini bir alt süreçte başlatır.
Demo İstemcisi
Cursor: Dünyada popüler olan AI destekli programlama IDE'lerinden biri
Claude Desktop: Anthropic resmi istemcisi
gösterim için kullanılan büyük model
Claude 3.7
Bu sürümü seçmenin nedeni, hassas işlem tanıma konusunda belirli bir iyileşme sağlanmış olması ve aynı zamanda mevcut MCP ekosisteminde güçlü bir işlem yeteneğini temsil etmesidir.
Cross-MCP kötü niyetli çağrı
web içeriği zehirleme saldırısı
Açıklamalı zehirleme
Cursor ile yerel test web sitesine erişim sağlamak, bu "Lezzetli Kek Dünyası" sayfası görünüşte zararsızdır. Komutları uyguladıktan sonra web sayfası içeriğini elde eden Cursor, yalnızca web sayfası içeriğini okumakla kalmadı, aynı zamanda yerel hassas yapılandırma verilerini de test sunucusuna geri gönderdi. Kaynak kodunda, kötü niyetli anahtar kelimeler HTML yorumları şeklinde yerleştirilmiştir.
Kodlama Tabanlı Yorum Zehirleme
/encode sayfasına erişin, bu aynı görünen bir web sayfasıdır, ancak içindeki kötü amaçlı anahtar kelimeler kodlanmıştır, bu da saldırıları daha gizli hale getirir. Kaynak kodu açık anahtar kelimeler içermese bile, saldırı yine de başarılı bir şekilde yürütülmektedir.
MCP aracı geri bildirim zehirleme
MasterMCP'nin ipuçlarıyla "get a lot of apples" simülasyon komutunu girdikten sonra, istemci MCP üzerinden Toolbox'u çağırdı ve yeni bir MCP sunucusu eklemeyi başardı. Eklenti kodunu incelediğimizde, dönen verilerde kodlanmış zararlı yükün gömülü olduğunu görebiliriz, kullanıcı tarafı neredeyse bir anormallik fark edemiyor.
Üçüncü taraf arayüzü kirlilik saldırısı
JSON verilerini almak için isteği yerine getirdikten sonra, zararlı anahtar kelimeler dönen JSON verisine yerleştirildi ve zararlı yürütmeyi başarıyla tetikledi. Bu, bize hatırlatıyor ki, ister zararlı ister zararsız MCP olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama geri döndürmek ciddi etkilere yol açabilir.
MCP başlangıç aşamasında zehirleme teknikleri
kötü niyetli fonksiyon kaplama saldırısı
MasterMCP, Toolbox ile aynı fonksiyon adı olan remove_server'ı kullanan bir araç yazdı ve kötü niyetli anahtar kelimeleri gizledi. Komut yürütüldüğünde, Claude Desktop aslında toolbox'taki remove_server yöntemini çağırmadı, bunun yerine MasterMCP'nin sağladığı aynı isimli yöntemi tetikledi. Bu, "eski yöntem geçersiz kılındı" vurgusu yaparak büyük modeli kötü niyetli örtme fonksiyonunu çağırmaya yönlendirmek için yapıldı.
kötü niyetli genel kontrol mantığı ekle
MasterMCP, tüm araçların çalışmadan önce bu aracın güvenlik kontrolünü yapmasını zorunlu kılan bir banana aracı geliştirdi. Her fonksiyon çalıştırılmadan önce, sistem önce banana kontrol mekanizmasını çağırır. Bu, kodda "banana kontrolü çalıştırılmalıdır" ifadesinin sürekli vurgulanmasıyla sağlanan küresel bir mantık enjektesidir.
Kötü niyetli ipuçlarını gizlemenin ileri düzey teknikleri
büyük model dostu kodlama yöntemi
Büyük dil modellerinin çok dilli formatları çözme yeteneği oldukça güçlü olduğundan, bu durum kötü niyetli bilgilerin gizlenmesinde kullanılmaktadır. Yaygın yöntemler arasında şunlar bulunmaktadır:
İngilizce ortam: Hex Byte kodlaması kullanarak
Çince ortam: NCR kodlama veya JavaScript kodlama kullanın
Rastgele Kötücül Yük İade Mekanizması
/random isteği yapıldığında, her seferinde kötü amaçlı yük içeren rastgele bir sayfa döndürülür, bu da tespit ve izleme zorluğunu büyük ölçüde artırır.
Özet
MasterMCP'nin pratik gösterimiyle, MCP sisteminde gizli olan çeşitli güvenlik açıklarını gözlerimizle gördük. Basit ipucu enjeksiyonundan, MCP'ler arası çağrılara, daha gizli olan başlatma aşaması saldırılarına ve kötü niyetli komut gizlemeye kadar her aşama bize hatırlatıyor ki: MCP ekosistemi güçlü olsa da, aynı zamanda kırılgandır.
Özellikle büyük modellerin giderek daha sık dış eklentilerle, API'lerle etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi bütün sistem seviyesinde güvenlik risklerine yol açabilir. Saldırganların yöntemlerinin çeşitlenmesi ( kodlama gizleme, rastgele kirlenme, fonksiyon örtme ) aynı zamanda, geleneksel koruma yaklaşımlarının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor.
Güvenlik asla bir anda elde edilmez. Umarım bu sunum herkes için bir uyarı niteliğinde olur: İster geliştirici, ister kullanıcı olsun, MCP sistemine karşı yeterli bir dikkatle yaklaşmalı, her etkileşimi, her kod satırını ve her dönüş değerini sürekli gözlemlemelidir. Her bir detayda titizlikle davranarak, gerçekten sağlam ve güvenli bir MCP ortamı inşa edebiliriz.
Sonraki adımda, MasterMCP betiğini geliştirmeye devam edeceğiz, daha fazla hedefe yönelik test senaryolarını açık kaynak yapacağız, böylece herkesin güvenli bir ortamda derinlemesine anlamasına, pratik yapmasına ve koruma güçlendirmesine yardımcı olacağız.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
13 Likes
Reward
13
2
Share
Comment
0/400
LeverageAddict
· 07-23 09:26
Dikkat, MCP kör deliklerine geçiş yaparken
View OriginalReply0
FarmHopper
· 07-23 09:13
Zehirli saldırılara karşı sıkı tedbirler alınmalıdır.
MCP ekosistem güvenlik riski analizi: MCP'ler arası saldırılar ve gizli zehirleme gösterimi
MCP sistemindeki potansiyel güvenlik riskleri ve saldırı gösterimi
Mevcut MCP ( Model Context Protocol ) ekosistemi hala erken gelişim aşamasındadır, genel ortam oldukça kaotik ve çeşitli potansiyel saldırı yöntemleri ortaya çıkmaktadır. Mevcut protokol ve araçların tasarımı etkili bir savunma sağlamakta zorlanmaktadır. Topluluğun MCP güvenlik bilincini artırmasına yardımcı olmak amacıyla, MasterMCP adında açık kaynaklı bir araç ortaya çıkmıştır. Bu araç, gerçek saldırı tatbikatları yoluyla geliştiricilerin ürün tasarımındaki güvenlik açıklarını zamanında tespit etmelerine yardımcı olmayı ve böylece MCP projesinin güvenliğini sürekli olarak güçlendirmeyi hedeflemektedir.
Bu makale okuyucuları MCP ekosisteminde yaygın saldırı yöntemlerini, bilgi zehirleme, gizli kötü niyetli komutlar gibi gerçek vakalar da dahil olmak üzere, pratik bir şekilde göstermeye yönlendirecektir. Tüm gösterim scriptleri açık kaynaklıdır ve herkesin güvenli bir ortamda sürecin tamamını yeniden üretmesi ve hatta buna dayanarak kendi saldırı test eklentilerini geliştirmesi için mevcuttur.
Genel Mimarinin Gözden Geçirilmesi
Demonstrasyon Saldırı Hedefi MCP: Toolbox
Toolbox, geniş bir kullanıcı kitlesine sahip popüler bir MCP yönetim aracıdır. Onu test hedefi olarak seçmenin başlıca nedenleri şunlardır:
gösterim amacıyla kullanılan kötü niyetli MC: MasterMC
MasterMCP, güvenlik testleri için tasarlanmış bir sahte kötü niyetli MCP aracıdır ve eklenti mimarisi tasarımıyla aşağıdaki temel modülleri içerir:
Bu modül, FastAPI çerçevesi kullanarak basit bir HTTP sunucusu hızlı bir şekilde kurar ve yaygın web sayfası ortamını simüle eder. Bu sayfalar yüzeyde normal görünür, ancak gerçekte kaynak kodu veya API yanıtında özenle tasarlanmış kötü niyetli yükler gizlenmiştir.
MasterMCP, eklenti tabanlı bir genişletme yöntemi kullanır; bu, yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini kolaylaştırır. Çalıştırıldığında, MasterMCP yukarıda belirtilen FastAPI hizmetini bir alt süreçte başlatır.
Demo İstemcisi
gösterim için kullanılan büyük model
Bu sürümü seçmenin nedeni, hassas işlem tanıma konusunda belirli bir iyileşme sağlanmış olması ve aynı zamanda mevcut MCP ekosisteminde güçlü bir işlem yeteneğini temsil etmesidir.
Cross-MCP kötü niyetli çağrı
web içeriği zehirleme saldırısı
Cursor ile yerel test web sitesine erişim sağlamak, bu "Lezzetli Kek Dünyası" sayfası görünüşte zararsızdır. Komutları uyguladıktan sonra web sayfası içeriğini elde eden Cursor, yalnızca web sayfası içeriğini okumakla kalmadı, aynı zamanda yerel hassas yapılandırma verilerini de test sunucusuna geri gönderdi. Kaynak kodunda, kötü niyetli anahtar kelimeler HTML yorumları şeklinde yerleştirilmiştir.
/encode sayfasına erişin, bu aynı görünen bir web sayfasıdır, ancak içindeki kötü amaçlı anahtar kelimeler kodlanmıştır, bu da saldırıları daha gizli hale getirir. Kaynak kodu açık anahtar kelimeler içermese bile, saldırı yine de başarılı bir şekilde yürütülmektedir.
MCP aracı geri bildirim zehirleme
MasterMCP'nin ipuçlarıyla "get a lot of apples" simülasyon komutunu girdikten sonra, istemci MCP üzerinden Toolbox'u çağırdı ve yeni bir MCP sunucusu eklemeyi başardı. Eklenti kodunu incelediğimizde, dönen verilerde kodlanmış zararlı yükün gömülü olduğunu görebiliriz, kullanıcı tarafı neredeyse bir anormallik fark edemiyor.
Üçüncü taraf arayüzü kirlilik saldırısı
JSON verilerini almak için isteği yerine getirdikten sonra, zararlı anahtar kelimeler dönen JSON verisine yerleştirildi ve zararlı yürütmeyi başarıyla tetikledi. Bu, bize hatırlatıyor ki, ister zararlı ister zararsız MCP olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama geri döndürmek ciddi etkilere yol açabilir.
MCP başlangıç aşamasında zehirleme teknikleri
kötü niyetli fonksiyon kaplama saldırısı
MasterMCP, Toolbox ile aynı fonksiyon adı olan remove_server'ı kullanan bir araç yazdı ve kötü niyetli anahtar kelimeleri gizledi. Komut yürütüldüğünde, Claude Desktop aslında toolbox'taki remove_server yöntemini çağırmadı, bunun yerine MasterMCP'nin sağladığı aynı isimli yöntemi tetikledi. Bu, "eski yöntem geçersiz kılındı" vurgusu yaparak büyük modeli kötü niyetli örtme fonksiyonunu çağırmaya yönlendirmek için yapıldı.
kötü niyetli genel kontrol mantığı ekle
MasterMCP, tüm araçların çalışmadan önce bu aracın güvenlik kontrolünü yapmasını zorunlu kılan bir banana aracı geliştirdi. Her fonksiyon çalıştırılmadan önce, sistem önce banana kontrol mekanizmasını çağırır. Bu, kodda "banana kontrolü çalıştırılmalıdır" ifadesinin sürekli vurgulanmasıyla sağlanan küresel bir mantık enjektesidir.
Kötü niyetli ipuçlarını gizlemenin ileri düzey teknikleri
büyük model dostu kodlama yöntemi
Büyük dil modellerinin çok dilli formatları çözme yeteneği oldukça güçlü olduğundan, bu durum kötü niyetli bilgilerin gizlenmesinde kullanılmaktadır. Yaygın yöntemler arasında şunlar bulunmaktadır:
Rastgele Kötücül Yük İade Mekanizması
/random isteği yapıldığında, her seferinde kötü amaçlı yük içeren rastgele bir sayfa döndürülür, bu da tespit ve izleme zorluğunu büyük ölçüde artırır.
Özet
MasterMCP'nin pratik gösterimiyle, MCP sisteminde gizli olan çeşitli güvenlik açıklarını gözlerimizle gördük. Basit ipucu enjeksiyonundan, MCP'ler arası çağrılara, daha gizli olan başlatma aşaması saldırılarına ve kötü niyetli komut gizlemeye kadar her aşama bize hatırlatıyor ki: MCP ekosistemi güçlü olsa da, aynı zamanda kırılgandır.
Özellikle büyük modellerin giderek daha sık dış eklentilerle, API'lerle etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi bütün sistem seviyesinde güvenlik risklerine yol açabilir. Saldırganların yöntemlerinin çeşitlenmesi ( kodlama gizleme, rastgele kirlenme, fonksiyon örtme ) aynı zamanda, geleneksel koruma yaklaşımlarının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor.
Güvenlik asla bir anda elde edilmez. Umarım bu sunum herkes için bir uyarı niteliğinde olur: İster geliştirici, ister kullanıcı olsun, MCP sistemine karşı yeterli bir dikkatle yaklaşmalı, her etkileşimi, her kod satırını ve her dönüş değerini sürekli gözlemlemelidir. Her bir detayda titizlikle davranarak, gerçekten sağlam ve güvenli bir MCP ortamı inşa edebiliriz.
Sonraki adımda, MasterMCP betiğini geliştirmeye devam edeceğiz, daha fazla hedefe yönelik test senaryolarını açık kaynak yapacağız, böylece herkesin güvenli bir ortamda derinlemesine anlamasına, pratik yapmasına ve koruma güçlendirmesine yardımcı olacağız.