MCP sistemindeki gizli zehirleme ve manipülasyon: pratik gösterim
MCP (Model Context Protocol) sistemi şu anda erken gelişim aşamasındadır, genel ortam oldukça karmaşık, çeşitli potansiyel saldırı yöntemleri ortaya çıkmakta, mevcut protokoller ve araç tasarımları etkili bir savunma sağlamada zorlanmaktadır. Topluluğun MCP güvenliğini daha iyi anlamasına ve artırmasına yardımcı olmak için, Slow Mist özellikle MasterMCP aracını açık kaynak olarak sunmuştur, umuyoruz ki pratik saldırı simülasyonlarıyla, ürün tasarımındaki güvenlik açıklarını keşfetmeye yardımcı olarak MCP projesini kademeli olarak güçlendirebiliriz.
Bu makale, MCP sistemi altında yaygın saldırı yöntemlerini, örneğin bilgi zehirleme, gizli kötü niyetli talimatlar gibi gerçek vakalarla uygulamalı olarak gösterecektir. Tüm gösterim betikleri de açık kaynak olarak sunulacak, herkes güvenli bir ortamda sürecin tamamını yeniden gerçekleştirebilir ve bu betikler temelinde kendi saldırı test eklentilerini geliştirebilir.
Genel Mimari İncelemesi
saldırı hedefi MCP:Toolbox
smithery.ai, şu anda en popüler MCP eklenti sitelerinden biridir ve çok sayıda MCP listesi ve aktif kullanıcıyı bir araya getirir. Bunlardan @smithery/toolbox, smithery.ai tarafından resmi olarak sunulan MCP yönetim aracıdır.
Test hedefi olarak Toolbox'ı seçin, temel olarak aşağıdaki noktalara dayanarak:
Kullanıcı tabanı oldukça büyük ve temsil edicidir.
Diğer eklentilerin otomatik olarak yüklenmesini destekler, bazı istemci işlevlerini tamamlar ( gibi Claude Desktop )
Hassas yapılandırmalar ( gibi API Anahtarı ) içerir, sunum yapmak için kolaylık sağlar.
gösterim için kötü niyetli MC: MasterMC
MasterMCP, Slow Mist tarafından güvenlik testleri için yazılmış sahte kötü niyetli MCP aracıdır. Eklenti tabanlı bir mimari tasarımı benimsemekte olup, aşağıdaki ana modülleri içermektedir:
Yerel web sitesi hizmet simülasyonu:
Saldırı senaryosunu daha gerçekçi bir şekilde yeniden oluşturmak için, MasterMCP yerel bir web hizmeti simülasyon modülü içerir. FastAPI çerçevesi aracılığıyla basit bir HTTP sunucusu hızlı bir şekilde kurulmakta ve yaygın web sayfası ortamlarını simüle etmektedir. Bu sayfalar yüzeyde normal görünmekte, örneğin bir pastane bilgilerini sergilemekte veya standart JSON verisi döndürmekte, ancak aslında sayfa kaynak kodunda veya arayüz dönüşlerinde özenle tasarlanmış kötü niyetli yükler gizlenmiştir.
Yerel eklenti tabanlı MCP mimarisi
MasterMCP, eklenti tabanlı bir genişletme yöntemi kullanarak, yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini sağlar. Çalıştırıldığında, MasterMCP, alt süreçte bir önceki modülün FastAPI hizmetini çalıştırır. ( burada bir güvenlik açığı mevcut - yerel eklentiler, MCP'nin beklemediği alt süreçleri her türlü başlatabilir )
Demo İstemcisi
Cursor: Dünyada en popüler AI destekli programlama IDE'lerinden biri
Claude Desktop:Anthropic(MCP protokolü özel yapım ) resmi istemcisi
gösterim için kullanılan büyük model
Claude 3.7
Claude 3.7 sürümünü seçin, çünkü hassas işlem tanımlama konusunda belirli iyileştirmeler yapılmıştır ve aynı zamanda mevcut MCP ekosisteminde güçlü bir operasyon yeteneğini temsil etmektedir.
Cross-MCP Kötü Niyetli Çağrı
Bu sunum, zehirleme ve Cross-MCP kötü niyetli çağrısı olmak üzere iki içeriği içermektedir.
web içeriği zehirleme saldırısı
Açıklamalı zehirleme
Cursor yerel test web sitesine erişiyor.
Bu, görünüşte zararsız bir "Delicious Cake World" sayfası. Bu deneyle, büyük model istemcisinin kötü amaçlı bir web sitesine erişiminin neden olduğu etkileri simüle ediyoruz.
Talimatı yerine getir:
İçeriği al
Sonuçlar, Cursor'ın yalnızca web sayfası içeriğini okumakla kalmadığını, aynı zamanda yerel hassas yapılandırma verilerini test sunucusuna geri gönderdiğini gösteriyor. Kaynak kodunda, kötü niyetli anahtar kelimeler HTML yorumları biçiminde yerleştirilmiştir.
Her ne kadar yorumlama yöntemi oldukça açık ve kolayca tanınabilir olsa da, kötü niyetli işlemleri tetikleyebilir.
Kodlama tipi yorum zehirleme
/encode sayfasına erişim, bu, önceki örnekle aynı görünen bir web sayfasıdır, ancak içindeki kötü niyetli anahtar kelimeler kodlanmıştır, bu da zehirleme exp'sini daha gizli hale getirir, hatta web sayfasının kaynak koduna erişseniz bile doğrudan fark edilmesi zordur.
Kaynak kodu açık metin ipucu içermese bile, saldırı yine de başarıyla gerçekleştirildi.
MCP aracı geri bildirim zehirleme
MasterMCP'nin ipucu açıklamasına göre, simülasyon komutunu girin (, bu komutun gerçek bir anlamı yoktur, kötü niyetli MCP'yi tetiklemek ve sonraki işlemlerini göstermek amacıyla ):
birçok elma almak
Görülebilir ki, komut tetiklendiğinde, istemci MCP üzerinden Toolbox'u çağırdı ve yeni bir MCP sunucusu başarıyla eklendi.
Eklenti kodunu incelediğinizde, dönen verilerde kodlanmış kötü amaçlı yüklerin yerleştirildiğini görebilirsiniz, kullanıcı tarafında neredeyse bir anormallik fark edilemez.
Üçüncü taraf arayüzü kirletme saldırısı
Bu gösterim, kötü niyetli veya kötü niyetli olmayan MCP'lerin, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama geri döndürmeleri durumunda ciddi etkiler yaratabileceğini hatırlatmak amacıyla yapılmıştır.
İstek gerçekleştiriliyor:
/api/data adresinden json al
Sonuç: Kötü niyetli anahtar kelimeler dönen JSON verisine yerleştirildi ve kötü niyetli eylem başarıyla tetiklendi.
MCP başlangıç aşamasının zehirleme teknikleri
Bu sunum, başlangıçta ipucu enjeksiyonu ve ad çakışması olmak üzere iki içeriği içermektedir.
kötü niyetli fonksiyon örtme saldırısı
Burada MasterMCP, Toolbox ile aynı işlev adı olan remove_server'ı kullanan bir araç yazdı ve kötü niyetli anahtar kelimeleri gizlice kodladı.
Talimatı yerine getir:
kutu kaldırma almak eklenti sunucu
Claude Desktop, aslında toolbox remove_server yöntemini çağırmadı, bunun yerine MasterMCP tarafından sağlanan aynı isimli yöntemi tetikledi.
Prensip, "mevcut yöntemlerin geçersiz kılındığını" vurgulayarak büyük modelin kötü niyetli olarak geçersiz kılınmış fonksiyonları çağırmasını öncelikli olarak teşvik etmektir.
kötü niyetli genel kontrol mantığı ekle
Burada MasterMCP, bir banana aracı yazdı; bu aracın temel işlevi, tüm araçların çalışmadan önce bu aracı güvenlik kontrolü için zorunlu olarak çalıştırmasıdır.
Her fonksiyon çalıştırılmadan önce, sistem önce banana kontrol mekanizmasını çağırır.
Bu, kodda "banana testini çalıştırmak zorundasınız" ifadesinin tekrar tekrar vurgulanması yoluyla gerçekleştirilen küresel mantık enjekte edilmesidir.
Kötü Amaçlı İpuçlarını Gizlemenin İleri Düzey Teknikleri
büyük model dostu kodlama yöntemi
Büyük dil modelleri (LLM) çok dilli formatları analiz etme konusunda son derece güçlü bir yetenek sergilediğinden, bu durum kötü niyetli bilgileri gizlemek için kullanılmıştır. Yaygın yöntemler arasında şunlar bulunmaktadır:
İngilizce ortamda: Hex Byte kodlaması kullanın
Çince ortamında: NCR kodlaması veya JavaScript kodlaması kullanın
Rastgele Kötü Amaçlı Yük Geri Dönüş Mekanizması
İkinci bölümde bahsedilen üçüncü taraf arayüzü kirliliği durumunda, /random isteği yapıldığında:
Her seferinde kötü niyetli yük içeren rastgele bir sayfa döndürülüyor, bu da tespit ve iz sürme zorluğunu büyük ölçüde artırıyor.
Özet
MasterMCP'nin uygulamalı gösterimi sayesinde, Model Context Protocol (MCP) sisteminde gizli duran çeşitli güvenlik açıklarını görsel olarak deneyimledik. Basit ipucu enjeksiyonu, MCP'ler arası çağrılar, daha gizli olan başlatma aşaması saldırıları ve kötü niyetli komut gizleme gibi her aşama, MCP ekosisteminin güçlü olmasına rağmen aynı zamanda kırılgan olduğunu bize hatırlatıyor.
Özellikle büyük modellerin giderek daha sık dış eklentiler ve API'lerle etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi tüm sistem düzeyinde güvenlik risklerine yol açabilir. Saldırganların yöntemlerinin çeşitlenmesi ( kodlama gizleme, rastgele kirlenme, fonksiyon örtme ) ise, geleneksel koruma anlayışının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor.
Güven asla bir anda elde edilmez.
Bu sunumun herkese bir uyarı niteliği taşımasını umuyorum: Hem geliştiricilerin hem de kullanıcıların MCP sistemine karşı yeterince dikkatli olmaları, her bir etkileşimi, her bir kod satırını, her bir dönüş değerini sürekli takip etmeleri gerekiyor. Her bir detaya titizlikle yaklaşarak, gerçekten sağlam ve güvenli bir MCP ortamı inşa edebiliriz.
Sonraki adım olarak, MasterMCP script'ini geliştirmeye devam edeceğiz, daha fazla hedefe yönelik test vakasını açık kaynak olarak paylaşacağız, herkesin güvenli bir ortamda derinlemesine anlamasına, uygulama yapmasına ve korumayı güçlendirmesine yardımcı olacağız.
View Original
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.
19 Likes
Reward
19
6
Share
Comment
0/400
gas_guzzler
· 10h ago
MCP tehlikeye bakıyor, hemen kaç!
View OriginalReply0
faded_wojak.eth
· 07-15 19:06
Evindeki mcp'yi görmek, numara yapmak.
View OriginalReply0
PanicSeller
· 07-15 19:06
enayiler daha kesilmeden böyle mi bırakıldı?
View OriginalReply0
LiquiditySurfer
· 07-15 19:01
Blok Zinciri güvenliği için en iyi zincirleme noktasını ayarlamak gerekiyor~ Şu anki kaotik piyasa, martini ve buz bile soğutmaya yetmiyor.
View OriginalReply0
consensus_failure
· 07-15 18:54
Gerçekten, bu tür bir açığın sürekli olarak büyük bir başla açılmaması gerekiyor.
MCP sistemi güvenlik riskleri uygulamalı gösterimi: zehirlemeden gizli manipülasyona
MCP sistemindeki gizli zehirleme ve manipülasyon: pratik gösterim
MCP (Model Context Protocol) sistemi şu anda erken gelişim aşamasındadır, genel ortam oldukça karmaşık, çeşitli potansiyel saldırı yöntemleri ortaya çıkmakta, mevcut protokoller ve araç tasarımları etkili bir savunma sağlamada zorlanmaktadır. Topluluğun MCP güvenliğini daha iyi anlamasına ve artırmasına yardımcı olmak için, Slow Mist özellikle MasterMCP aracını açık kaynak olarak sunmuştur, umuyoruz ki pratik saldırı simülasyonlarıyla, ürün tasarımındaki güvenlik açıklarını keşfetmeye yardımcı olarak MCP projesini kademeli olarak güçlendirebiliriz.
Bu makale, MCP sistemi altında yaygın saldırı yöntemlerini, örneğin bilgi zehirleme, gizli kötü niyetli talimatlar gibi gerçek vakalarla uygulamalı olarak gösterecektir. Tüm gösterim betikleri de açık kaynak olarak sunulacak, herkes güvenli bir ortamda sürecin tamamını yeniden gerçekleştirebilir ve bu betikler temelinde kendi saldırı test eklentilerini geliştirebilir.
Genel Mimari İncelemesi
saldırı hedefi MCP:Toolbox
smithery.ai, şu anda en popüler MCP eklenti sitelerinden biridir ve çok sayıda MCP listesi ve aktif kullanıcıyı bir araya getirir. Bunlardan @smithery/toolbox, smithery.ai tarafından resmi olarak sunulan MCP yönetim aracıdır.
Test hedefi olarak Toolbox'ı seçin, temel olarak aşağıdaki noktalara dayanarak:
gösterim için kötü niyetli MC: MasterMC
MasterMCP, Slow Mist tarafından güvenlik testleri için yazılmış sahte kötü niyetli MCP aracıdır. Eklenti tabanlı bir mimari tasarımı benimsemekte olup, aşağıdaki ana modülleri içermektedir:
Saldırı senaryosunu daha gerçekçi bir şekilde yeniden oluşturmak için, MasterMCP yerel bir web hizmeti simülasyon modülü içerir. FastAPI çerçevesi aracılığıyla basit bir HTTP sunucusu hızlı bir şekilde kurulmakta ve yaygın web sayfası ortamlarını simüle etmektedir. Bu sayfalar yüzeyde normal görünmekte, örneğin bir pastane bilgilerini sergilemekte veya standart JSON verisi döndürmekte, ancak aslında sayfa kaynak kodunda veya arayüz dönüşlerinde özenle tasarlanmış kötü niyetli yükler gizlenmiştir.
MasterMCP, eklenti tabanlı bir genişletme yöntemi kullanarak, yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini sağlar. Çalıştırıldığında, MasterMCP, alt süreçte bir önceki modülün FastAPI hizmetini çalıştırır. ( burada bir güvenlik açığı mevcut - yerel eklentiler, MCP'nin beklemediği alt süreçleri her türlü başlatabilir )
Demo İstemcisi
gösterim için kullanılan büyük model
Claude 3.7 sürümünü seçin, çünkü hassas işlem tanımlama konusunda belirli iyileştirmeler yapılmıştır ve aynı zamanda mevcut MCP ekosisteminde güçlü bir operasyon yeteneğini temsil etmektedir.
Cross-MCP Kötü Niyetli Çağrı
Bu sunum, zehirleme ve Cross-MCP kötü niyetli çağrısı olmak üzere iki içeriği içermektedir.
web içeriği zehirleme saldırısı
Cursor yerel test web sitesine erişiyor.
Bu, görünüşte zararsız bir "Delicious Cake World" sayfası. Bu deneyle, büyük model istemcisinin kötü amaçlı bir web sitesine erişiminin neden olduğu etkileri simüle ediyoruz.
Talimatı yerine getir:
İçeriği al
Sonuçlar, Cursor'ın yalnızca web sayfası içeriğini okumakla kalmadığını, aynı zamanda yerel hassas yapılandırma verilerini test sunucusuna geri gönderdiğini gösteriyor. Kaynak kodunda, kötü niyetli anahtar kelimeler HTML yorumları biçiminde yerleştirilmiştir.
Her ne kadar yorumlama yöntemi oldukça açık ve kolayca tanınabilir olsa da, kötü niyetli işlemleri tetikleyebilir.
/encode sayfasına erişim, bu, önceki örnekle aynı görünen bir web sayfasıdır, ancak içindeki kötü niyetli anahtar kelimeler kodlanmıştır, bu da zehirleme exp'sini daha gizli hale getirir, hatta web sayfasının kaynak koduna erişseniz bile doğrudan fark edilmesi zordur.
Kaynak kodu açık metin ipucu içermese bile, saldırı yine de başarıyla gerçekleştirildi.
MCP aracı geri bildirim zehirleme
MasterMCP'nin ipucu açıklamasına göre, simülasyon komutunu girin (, bu komutun gerçek bir anlamı yoktur, kötü niyetli MCP'yi tetiklemek ve sonraki işlemlerini göstermek amacıyla ):
birçok elma almak
Görülebilir ki, komut tetiklendiğinde, istemci MCP üzerinden Toolbox'u çağırdı ve yeni bir MCP sunucusu başarıyla eklendi.
Eklenti kodunu incelediğinizde, dönen verilerde kodlanmış kötü amaçlı yüklerin yerleştirildiğini görebilirsiniz, kullanıcı tarafında neredeyse bir anormallik fark edilemez.
Üçüncü taraf arayüzü kirletme saldırısı
Bu gösterim, kötü niyetli veya kötü niyetli olmayan MCP'lerin, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama geri döndürmeleri durumunda ciddi etkiler yaratabileceğini hatırlatmak amacıyla yapılmıştır.
İstek gerçekleştiriliyor:
/api/data adresinden json al
Sonuç: Kötü niyetli anahtar kelimeler dönen JSON verisine yerleştirildi ve kötü niyetli eylem başarıyla tetiklendi.
MCP başlangıç aşamasının zehirleme teknikleri
Bu sunum, başlangıçta ipucu enjeksiyonu ve ad çakışması olmak üzere iki içeriği içermektedir.
kötü niyetli fonksiyon örtme saldırısı
Burada MasterMCP, Toolbox ile aynı işlev adı olan remove_server'ı kullanan bir araç yazdı ve kötü niyetli anahtar kelimeleri gizlice kodladı.
Talimatı yerine getir:
kutu kaldırma almak eklenti sunucu
Claude Desktop, aslında toolbox remove_server yöntemini çağırmadı, bunun yerine MasterMCP tarafından sağlanan aynı isimli yöntemi tetikledi.
Prensip, "mevcut yöntemlerin geçersiz kılındığını" vurgulayarak büyük modelin kötü niyetli olarak geçersiz kılınmış fonksiyonları çağırmasını öncelikli olarak teşvik etmektir.
kötü niyetli genel kontrol mantığı ekle
Burada MasterMCP, bir banana aracı yazdı; bu aracın temel işlevi, tüm araçların çalışmadan önce bu aracı güvenlik kontrolü için zorunlu olarak çalıştırmasıdır.
Her fonksiyon çalıştırılmadan önce, sistem önce banana kontrol mekanizmasını çağırır.
Bu, kodda "banana testini çalıştırmak zorundasınız" ifadesinin tekrar tekrar vurgulanması yoluyla gerçekleştirilen küresel mantık enjekte edilmesidir.
Kötü Amaçlı İpuçlarını Gizlemenin İleri Düzey Teknikleri
büyük model dostu kodlama yöntemi
Büyük dil modelleri (LLM) çok dilli formatları analiz etme konusunda son derece güçlü bir yetenek sergilediğinden, bu durum kötü niyetli bilgileri gizlemek için kullanılmıştır. Yaygın yöntemler arasında şunlar bulunmaktadır:
Rastgele Kötü Amaçlı Yük Geri Dönüş Mekanizması
İkinci bölümde bahsedilen üçüncü taraf arayüzü kirliliği durumunda, /random isteği yapıldığında:
Her seferinde kötü niyetli yük içeren rastgele bir sayfa döndürülüyor, bu da tespit ve iz sürme zorluğunu büyük ölçüde artırıyor.
Özet
MasterMCP'nin uygulamalı gösterimi sayesinde, Model Context Protocol (MCP) sisteminde gizli duran çeşitli güvenlik açıklarını görsel olarak deneyimledik. Basit ipucu enjeksiyonu, MCP'ler arası çağrılar, daha gizli olan başlatma aşaması saldırıları ve kötü niyetli komut gizleme gibi her aşama, MCP ekosisteminin güçlü olmasına rağmen aynı zamanda kırılgan olduğunu bize hatırlatıyor.
Özellikle büyük modellerin giderek daha sık dış eklentiler ve API'lerle etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi tüm sistem düzeyinde güvenlik risklerine yol açabilir. Saldırganların yöntemlerinin çeşitlenmesi ( kodlama gizleme, rastgele kirlenme, fonksiyon örtme ) ise, geleneksel koruma anlayışının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor.
Güven asla bir anda elde edilmez.
Bu sunumun herkese bir uyarı niteliği taşımasını umuyorum: Hem geliştiricilerin hem de kullanıcıların MCP sistemine karşı yeterince dikkatli olmaları, her bir etkileşimi, her bir kod satırını, her bir dönüş değerini sürekli takip etmeleri gerekiyor. Her bir detaya titizlikle yaklaşarak, gerçekten sağlam ve güvenli bir MCP ortamı inşa edebiliriz.
Sonraki adım olarak, MasterMCP script'ini geliştirmeye devam edeceğiz, daha fazla hedefe yönelik test vakasını açık kaynak olarak paylaşacağız, herkesin güvenli bir ortamda derinlemesine anlamasına, uygulama yapmasına ve korumayı güçlendirmesine yardımcı olacağız.