MCP sisteminin güvenliğine yönelik zorluklar ve çözüm yolları
Yapay zeka teknolojisinin hızlı gelişimiyle birlikte, Model Context Protocol (MCP) sistemi, büyük model yeteneklerini artırırken, giderek daha zorlu güvenlik tehditleriyle de karşı karşıya kalmaktadır. Şu anda MCP sistemi hala erken gelişim aşamasındadır, genel ortam oldukça karmaşık olup, çeşitli potansiyel saldırı yöntemleri ortaya çıkmaktadır ve mevcut protokoller ile araç tasarımı etkili bir savunma sağlamakta zorluk çekmektedir. Topluluğun MCP'nin güvenliğini daha iyi anlamasına ve artırmasına yardımcı olmak için, MasterMCP adında bir açık kaynak aracı ortaya çıkmıştır. Bu araç, gerçek saldırı tatbikatları aracılığıyla geliştiricilerin ürün tasarımındaki güvenlik açıklarını zamanında keşfetmelerine yardımcı olmayı ve böylece MCP projesini aşamalı olarak güçlendirmeyi amaçlamaktadır.
Bu makale okuyucuları uygulamalı bir şekilde yönlendirecek ve MCP sistemi altında yaygın saldırı yöntemlerini, örneğin bilgi zehirleme, gizli kötü niyetli komutlar gibi gerçek vakaları gösterecektir. Tüm gösterim betikleri de GitHub'a açık kaynak olarak yüklenecek ve herkesin güvenli bir ortamda tüm süreci tam olarak yeniden oluşturmasına, hatta bu betikler üzerine kendi saldırı test eklentilerini geliştirmesine olanak tanıyacaktır.
Genel Mimari Gözden Geçirme
Saldırı Hedefi MCP: Toolbox
Bir tanınmış MCP eklenti sitesindeki resmi MCP yönetim aracı test hedefi olarak seçilmiştir, bu esasen aşağıdaki noktalara dayanmaktadır:
Kullanıcı tabanı büyük, temsil edici.
Diğer eklentilerin otomatik olarak yüklenmesini destekler, istemci işlevlerinin bir kısmını tamamlar.
Hassas yapılandırmaları içerir ( gibi API Anahtarı ), gösterim yapmak için kolaylık sağlar
gösterim için kullanılan kötü niyetli MC:MasterMC
MasterMCP, güvenlik testleri için yazılmış kötü niyetli MCP simülasyon aracıdır ve eklenti tabanlı mimari tasarımına sahiptir. Aşağıdaki ana modülleri içerir:
Yerel web hizmeti 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. Bu modül, FastAPI çerçevesi aracılığıyla hızlı bir şekilde basit bir HTTP sunucusu kurarak yaygın web ortamlarını simüle eder. Bu sayfalar yüzeyde normal görünüyor, örneğin bir pasta dükkanı bilgilerini göstermek veya standart JSON verisi döndürmek gibi, ancak aslında sayfa kaynak kodunda veya API dökümlerinde özenle tasarlanmış kötü niyetli yükler gizlidir.
Bu şekilde, güvenli ve kontrol edilebilir bir yerel ortamda, bilgi zehirleme, komut gizleme gibi saldırı yöntemlerini tam olarak sergileyebiliriz. Bu, herkesin daha somut bir şekilde anlamasına yardımcı olur: görünüşte sıradan bir web sayfası bile büyük modellerin anormal işlemler gerçekleştirmesine yol açan bir tehlike kaynağı olabilir.
Yerel Eklenti Tabanlı MCP Mimarisi
MasterMCP, yeni saldırı yöntemlerini hızlı bir şekilde eklemek için eklenti tabanlı bir genişletme yöntemi kullanmaktadır. Çalıştırıldıktan sonra, MasterMCP, alt süreçte bir önceki modülün FastAPI hizmetini çalıştıracaktır. ( Dikkatliyseniz, burada zaten bir güvenlik açığı olduğunu fark edeceksiniz - yerel eklentiler, MCP'nin beklemediği alt süreçleri herhangi bir şekilde başlatabilir. )
Demo İstemcisi
Cursor: Dünyanın en popüler AI destekli programlama IDE'lerinden biri
Claude Desktop: Bilinen bir AI şirketi ( MCP protokolü özelleştiren ) 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ü bu sürüm hassas işlemlerin tanınmasında belirli bir iyileşme sağlamıştır ve aynı zamanda mevcut MCP ekosisteminde güçlü bir işlem yeteneğini temsil etmektedir.
Cross-MCP kötü niyetli çağrı
web içeriği zehirleme saldırısı
Yorumlayıcı zehirleme
Yerel test sitesine erişim sağlayarak, büyük model istemcisinin kötü niyetli bir siteye erişiminin etkilerini simüle edin. Sonuçlar, istemcinin yalnızca web sayfası içeriğini okumakla kalmayıp, aynı zamanda yerel hassas yapılandırma verilerini test sunucusuna geri ilettiğini gösteriyor. Kaynak kodda, kötü niyetli anahtar kelimeler HTML yorumları şeklinde yerleştirilmiştir. Yorum biçimi oldukça açık olduğundan kolayca tanınabiliyor, ancak kötü niyetli işlemleri tetiklemek için yeterli.
Kodlama tipi yorum zehirleme
/encode sayfasına erişim, yukarıdaki örnekle aynı görünen bir web sayfasıdır, ancak içindeki kötü niyetli anahtar kelimeler kodlanmıştır, bu da zehirleme deneyimini daha gizli hale getirir, web sayfasının kaynak koduna erişseniz bile doğrudan fark etmek zordur. Kaynak kodu açık anahtar kelimeler içermese bile, saldırı yine de başarılı bir şekilde gerçekleştirilir.
Üçüncü taraf arayüzü kirletme saldırısı
Bu gösterim, herkesin dikkatine sunulmakta, ister kötü niyetli ister iyi niyetli MCP olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama döndürmenin ciddi sonuçlar doğurabileceğini hatırlatmaktadır.
MCP başlangıç aşamasındaki zehirleme teknikleri
kötü niyetli fonksiyon örtme saldırısı
MasterMCP, Toolbox ile aynı işlev adı olan remove_server adlı bir araç yazdı ve kötü niyetli anahtar kelimeleri kod içinde gizledi. "Mevcut yöntemin kullanımdan kaldırıldığı" vurgulanarak, büyük modeli kötü niyetli olarak üst üste bindirilmiş işlevi çağırmaya teşvik etmeye öncelik verildi.
kötü niyetli genel kontrol mantığı ekle
MasterMCP, "banana" adlı bir araç geliştirdi. Bu aracın temel işlevi, tüm araçların çalıştırılmadan önce bu aracı güvenlik kontrolü için zorunlu kılmaktır. Bu, kodda "banana kontrolü yapılmalıdır" ifadesini sürekli vurgulayarak gerçekleştirilen küresel bir mantık enjekte edilmesiyle sağlanmaktadır.
Kötü niyetli ipuçlarını gizlemenin ileri düzey teknikleri
Büyük model dostu kodlama yöntemi
Büyük dil modeli (LLM), çok dilli formatları çözme yeteneği ile kötü niyetli bilgilerin gizlenmesinde kullanılmaktadır. Yaygın yöntemler şunlardır:
İngilizce ortamda: Hex Byte kodlaması kullanın
Çince ortamda: NCR kodlaması veya JavaScript kodlaması kullanın
Rastgele kötü niyetli yük geri dönüş mekanizması
/random isteği yapıldığında, her seferinde kötü niyetli yük içeren bir sayfa rastgele döndürülür, bu da tespiti ve izlenmeyi büyük ölçüde zorlaştırır.
Özet
MasterMCP'nin uygulamalı gösterimi sayesinde, Model Context Protocol (MCP) sisteminde gizli çeşitli güvenlik açıklarını doğrudan gözlemledik. Basit ipucu enjeksiyonundan, MCP'ler arası çağrılara, daha gizli olan başlatma aşaması saldırılarına ve kötü niyetli talimat gizlemeye kadar her aşama, bize şunu hatırlatıyor: MCP ekosistemi güçlü olsa da, aynı zamanda kırılgandır.
Özellikle büyük modellerin dış eklentiler ve API'lerle daha sık etkileşime girdiği günümüzde, küçük bir giriş kirlenmesi bile 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 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ği taşır: Hem geliştiricilerin hem de kullanıcıların MCP sistemine yeterince dikkat göstermesi, her etkileşimi, her kod satırını ve her dönüş değerini sürekli olarak izlemeleri gerekir. Her bir detaya titizlikle yaklaşarak, gerçekten sağlam ve güvenli bir MCP ortamı inşa edilebilir.
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
GateUser-00be86fc
· 23h ago
Biraz daha bekleyelim, henüz yeterince stabil değil.
View OriginalReply0
NullWhisperer
· 23h ago
mcp, dürüst olmak gerekirse, zaman bombası gibi görünüyor... başka bir gün, başka bir istismar bekliyor.
View OriginalReply0
StablecoinGuardian
· 23h ago
Yine anlamadığım bir kalabalık~
View OriginalReply0
NFTRegretful
· 23h ago
Kazı yaparken uzmanlara bakmak lazım.
View OriginalReply0
StableGenius
· 23h ago
tahmin edilebilir... q2'den beri mcp güvenlik açıkları hakkında bunu söylüyorum
View OriginalReply0
GateUser-1a2ed0b9
· 23h ago
Tırmandım, tırmandım, güvenlik kazasına dayanamadım.
MCP güvenlik risklerinin kapsamlı analizi: zehirlemelerden gizli saldırılara gerçek savaş simülasyonu
MCP sisteminin güvenliğine yönelik zorluklar ve çözüm yolları
Yapay zeka teknolojisinin hızlı gelişimiyle birlikte, Model Context Protocol (MCP) sistemi, büyük model yeteneklerini artırırken, giderek daha zorlu güvenlik tehditleriyle de karşı karşıya kalmaktadır. Şu anda MCP sistemi hala erken gelişim aşamasındadır, genel ortam oldukça karmaşık olup, çeşitli potansiyel saldırı yöntemleri ortaya çıkmaktadır ve mevcut protokoller ile araç tasarımı etkili bir savunma sağlamakta zorluk çekmektedir. Topluluğun MCP'nin güvenliğini daha iyi anlamasına ve artırmasına yardımcı olmak için, MasterMCP adında bir açık kaynak aracı ortaya çıkmıştır. Bu araç, gerçek saldırı tatbikatları aracılığıyla geliştiricilerin ürün tasarımındaki güvenlik açıklarını zamanında keşfetmelerine yardımcı olmayı ve böylece MCP projesini aşamalı olarak güçlendirmeyi amaçlamaktadır.
Bu makale okuyucuları uygulamalı bir şekilde yönlendirecek ve MCP sistemi altında yaygın saldırı yöntemlerini, örneğin bilgi zehirleme, gizli kötü niyetli komutlar gibi gerçek vakaları gösterecektir. Tüm gösterim betikleri de GitHub'a açık kaynak olarak yüklenecek ve herkesin güvenli bir ortamda tüm süreci tam olarak yeniden oluşturmasına, hatta bu betikler üzerine kendi saldırı test eklentilerini geliştirmesine olanak tanıyacaktır.
Genel Mimari Gözden Geçirme
Saldırı Hedefi MCP: Toolbox
Bir tanınmış MCP eklenti sitesindeki resmi MCP yönetim aracı test hedefi olarak seçilmiştir, bu esasen aşağıdaki noktalara dayanmaktadır:
gösterim için kullanılan kötü niyetli MC:MasterMC
MasterMCP, güvenlik testleri için yazılmış kötü niyetli MCP simülasyon aracıdır ve eklenti tabanlı mimari tasarımına sahiptir. Aşağıdaki ana modülleri içerir:
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. Bu modül, FastAPI çerçevesi aracılığıyla hızlı bir şekilde basit bir HTTP sunucusu kurarak yaygın web ortamlarını simüle eder. Bu sayfalar yüzeyde normal görünüyor, örneğin bir pasta dükkanı bilgilerini göstermek veya standart JSON verisi döndürmek gibi, ancak aslında sayfa kaynak kodunda veya API dökümlerinde özenle tasarlanmış kötü niyetli yükler gizlidir.
Bu şekilde, güvenli ve kontrol edilebilir bir yerel ortamda, bilgi zehirleme, komut gizleme gibi saldırı yöntemlerini tam olarak sergileyebiliriz. Bu, herkesin daha somut bir şekilde anlamasına yardımcı olur: görünüşte sıradan bir web sayfası bile büyük modellerin anormal işlemler gerçekleştirmesine yol açan bir tehlike kaynağı olabilir.
MasterMCP, yeni saldırı yöntemlerini hızlı bir şekilde eklemek için eklenti tabanlı bir genişletme yöntemi kullanmaktadır. Çalıştırıldıktan sonra, MasterMCP, alt süreçte bir önceki modülün FastAPI hizmetini çalıştıracaktır. ( Dikkatliyseniz, burada zaten bir güvenlik açığı olduğunu fark edeceksiniz - yerel eklentiler, MCP'nin beklemediği alt süreçleri herhangi bir şekilde başlatabilir. )
Demo İstemcisi
gösterim için kullanılan büyük model
Claude 3.7 sürümünü seçin, çünkü bu sürüm hassas işlemlerin tanınmasında belirli bir iyileşme sağlamıştır ve aynı zamanda mevcut MCP ekosisteminde güçlü bir işlem yeteneğini temsil etmektedir.
Cross-MCP kötü niyetli çağrı
web içeriği zehirleme saldırısı
Yerel test sitesine erişim sağlayarak, büyük model istemcisinin kötü niyetli bir siteye erişiminin etkilerini simüle edin. Sonuçlar, istemcinin yalnızca web sayfası içeriğini okumakla kalmayıp, aynı zamanda yerel hassas yapılandırma verilerini test sunucusuna geri ilettiğini gösteriyor. Kaynak kodda, kötü niyetli anahtar kelimeler HTML yorumları şeklinde yerleştirilmiştir. Yorum biçimi oldukça açık olduğundan kolayca tanınabiliyor, ancak kötü niyetli işlemleri tetiklemek için yeterli.
/encode sayfasına erişim, yukarıdaki örnekle aynı görünen bir web sayfasıdır, ancak içindeki kötü niyetli anahtar kelimeler kodlanmıştır, bu da zehirleme deneyimini daha gizli hale getirir, web sayfasının kaynak koduna erişseniz bile doğrudan fark etmek zordur. Kaynak kodu açık anahtar kelimeler içermese bile, saldırı yine de başarılı bir şekilde gerçekleştirilir.
Üçüncü taraf arayüzü kirletme saldırısı
Bu gösterim, herkesin dikkatine sunulmakta, ister kötü niyetli ister iyi niyetli MCP olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama döndürmenin ciddi sonuçlar doğurabileceğini hatırlatmaktadır.
MCP başlangıç aşamasındaki zehirleme teknikleri
kötü niyetli fonksiyon örtme saldırısı
MasterMCP, Toolbox ile aynı işlev adı olan remove_server adlı bir araç yazdı ve kötü niyetli anahtar kelimeleri kod içinde gizledi. "Mevcut yöntemin kullanımdan kaldırıldığı" vurgulanarak, büyük modeli kötü niyetli olarak üst üste bindirilmiş işlevi çağırmaya teşvik etmeye öncelik verildi.
kötü niyetli genel kontrol mantığı ekle
MasterMCP, "banana" adlı bir araç geliştirdi. Bu aracın temel işlevi, tüm araçların çalıştırılmadan önce bu aracı güvenlik kontrolü için zorunlu kılmaktır. Bu, kodda "banana kontrolü yapılmalıdır" ifadesini sürekli vurgulayarak gerçekleştirilen küresel bir mantık enjekte edilmesiyle sağlanmaktadır.
Kötü niyetli ipuçlarını gizlemenin ileri düzey teknikleri
Büyük model dostu kodlama yöntemi
Büyük dil modeli (LLM), çok dilli formatları çözme yeteneği ile kötü niyetli bilgilerin gizlenmesinde kullanılmaktadır. Yaygın yöntemler şunlardır:
Rastgele kötü niyetli yük geri dönüş mekanizması
/random isteği yapıldığında, her seferinde kötü niyetli yük içeren bir sayfa rastgele döndürülür, bu da tespiti ve izlenmeyi büyük ölçüde zorlaştırır.
Özet
MasterMCP'nin uygulamalı gösterimi sayesinde, Model Context Protocol (MCP) sisteminde gizli çeşitli güvenlik açıklarını doğrudan gözlemledik. Basit ipucu enjeksiyonundan, MCP'ler arası çağrılara, daha gizli olan başlatma aşaması saldırılarına ve kötü niyetli talimat gizlemeye kadar her aşama, bize şunu hatırlatıyor: MCP ekosistemi güçlü olsa da, aynı zamanda kırılgandır.
Özellikle büyük modellerin dış eklentiler ve API'lerle daha sık etkileşime girdiği günümüzde, küçük bir giriş kirlenmesi bile 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 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ği taşır: Hem geliştiricilerin hem de kullanıcıların MCP sistemine yeterince dikkat göstermesi, her etkileşimi, her kod satırını ve her dönüş değerini sürekli olarak izlemeleri gerekir. Her bir detaya titizlikle yaklaşarak, gerçekten sağlam ve güvenli bir MCP ortamı inşa edilebilir.