MCP sistemindeki gizli zehirleme ve manipülasyon: Pratik gösterim
Şu anda MCP ( Model Context Protocol ) sistemi hala erken gelişim aşamasında, genel ortam oldukça karmaşık, çeşitli potansiyel saldırı yöntemleri sürekli ortaya çıkıyor, mevcut protokoller ve araç tasarımları etkili bir şekilde savunma yapmada zorluk çekiyor. Topluluğun MCP güvenliğini daha iyi anlaması ve artırması için, yakın zamanda MasterMCP aracı açık kaynak olarak yayınlandı, amacı pratik saldırı tatbikatları aracılığıyla ürün tasarımındaki güvenlik açıklarını keşfetmek ve MCP projesini aşamalı olarak güçlendirmektir.
Bu makale okuyucuları uygulamalı bir şekilde yönlendirecek, MCP sistemi altında yaygın saldırı yöntemlerini, gerçek örnekler olarak bilgi zehirleme, gizli kötü niyetli komutlar gibi, sergileyecektir. Tüm gösterim betikleri de açık kaynak olarak sunulacak, okuyucular güvenli bir ortamda sürecin tamamını yeniden oluşturabilir, hatta bu betikler temelinde kendi saldırı test eklentilerini geliştirebilir.
Genel Mimari Gözden Geçirme
saldırı hedefi MCP: Toolbox
smithery.ai, şu anda en popüler MCP eklenti web sitelerinden biridir ve çok sayıda MCP listesi ve aktif kullanıcıyı bir araya getirir. Bunlar arasında @smithery/toolbox, web sitesinin resmi olarak sunduğu MCP yönetim aracıdır.
Test hedefi olarak Toolbox'u seçmenin başlıca nedenleri şunlardır:
Kullanıcı tabanı büyük ve temsil edicidir.
Diğer eklentilerin otomatik olarak yüklenmesini destekleyerek bazı istemci işlevlerini tamamlar
API Anahtarı ( gibi hassas yapılandırmaları içerir ), gösterim yapmak için kolaylık sağlar.
kötü niyetli MCP: MasterMCP için gösterim kullanımı
MasterMCP, güvenlik testleri için yazılmış bir sahte kötü niyetli MCP aracıdır, eklenti tabanlı mimari tasarımı kullanır ve aşağıdaki ana modülleri içerir:
Yerel web sitesi hizmeti simülasyonu:
Saldırı senaryosunu daha gerçekçi bir şekilde yeniden oluşturmak için, MasterMCP yerel web hizmeti simülasyon modülünü entegre etmiştir. Bu, FastAPI çerçevesi aracılığıyla basit bir HTTP sunucusu hızlı bir şekilde kurarak yaygın web sayfası ortamlarını simüle eder. Bu sayfalar yüzeyde normal görünse de, aslında sayfa kaynak kodunda veya arayüz yanıtlarında özenle tasarlanmış kötü niyetli yükler saklıdır.
Bu şekilde, güvenli ve kontrol edilebilir bir yerel ortamda, bilgi zehirleme, komut gizleme gibi saldırı yöntemlerini tam olarak gösterebiliriz. Bu, görünüşte sıradan bir web sayfasının bile büyük modellerin anormal işlemler gerçekleştirmesine yol açabilecek bir risk kaynağı olabileceğini daha somut bir şekilde anlamaya yardımcı olur.
Yerel Eklenti Tabanlı MCP Mimarisi
MasterMCP, genişletme için eklenti tabanlı bir yöntem kullanır, bu da yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini kolaylaştırır. Çalıştırıldığında, MasterMCP, alt süreçte bir önceki modülün FastAPI hizmetini çalıştırır. ( Dikkatliyseniz, burada bir güvenlik açığı olduğunu göreceksiniz - yerel eklentiler, MCP'nin beklemediği alt süreçleri rastgele başlatabilir ).
Demonstrasyon İstemcisi
Cursor: Dünyada en popüler AI destekli programlama IDE'lerinden biri
Claude Desktop: Anthropic(MCP protokolü özelleştirme tarafı) resmi istemci
gösterim amacıyla kullanılan büyük model
Claude 3.7
Claude 3.7 sürümünü seçin, çünkü hassas işlem tanıma konusunda belirli bir iyileşme sağlanmış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
Cursor yerel test web sitesine erişim.
Bu, "Lezzetli Kek Dünyası" hakkında zararsız görünen bir sayfadır. Bu deney aracılığıyla, büyük model istemcisinin kötü niyetli bir web sitesine erişiminin neden olduğu etkileri simüle etmektedir.
Talimatı yerine getir:
İçeriği al
Sonuçlar, Cursor'un 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östermektedir. Kaynak kodunda, kötü niyetli anahtar kelimeler HTML yorumları biçiminde yerleştirilmiştir.
Yorumlama yöntemi oldukça açık olmasına rağmen, kötü niyetli işlemleri tetikleyebilir.
Kodlama Yorumları Zehirleme
/encode sayfasına erişim, yukarıdaki örneğe benzer bir web sayfasıdır, ancak içindeki kötü niyetli anahtar kelimeler kodlanmıştır, böylece zehirleme exp'si daha gizli hale gelir, web sayfasının kaynak koduna erişseniz bile doğrudan fark edilmesi zor olur.
Kaynak kodu açık metin ipuçları içermese bile, saldırı yine de başarıyla gerçekleştirildi; bu konuda detaylı bilgi sonraki bölümlerde verilecektir.
MCP aracı geri dönüş bilgisi 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şlemleri göstermek için tasarlanmıştır ):
birçok elma al
Görülebilir ki, komut tetiklendiğinde, istemci MCP üzerinden Toolbox'ı çağırdı ve yeni bir MCP sunucusu başarıyla eklendi.
Eklenti kodunu incelediğinizde, dönen verilerin şifrelenmiş kötü amaçlı yükler içerdiğini görebilirsiniz, kullanıcı tarafında neredeyse bir anormallik fark edilmez.
Üçüncü taraf arayüzü kirletme saldırısı
Bu gösterim, ister kötü niyetli ister kötü niyetli olmayan MCP olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama geri döndürmenin ciddi etkilere yol açabileceğini hatırlatmaktadır.
İstek yürütme:
/api/data adresinden json al
Sonuç: Kötü niyetli anahtar kelimeler dönen JSON verisine yerleştirildi ve kötü niyetli yürütme başarıyla tetiklendi.
MCP başlatma aşamasının zehirleme teknikleri
kötü niyetli fonksiyon örtme saldırısı
MasterMCP, Toolbox ile aynı fonksiyon adı remove_server olan bir araç yazdı ve kötü niyetli anahtar kelimeleri gizlemek için kodladı.
Talimatı yerine getir:
toolbox kaldır fetch eklenti sunucu
Claude Desktop, orijinal toolbox remove_server yöntemini çağırmadı, bunun yerine MasterMCP tarafından sağlanan aynı isimli yöntemi tetikledi.
İlkeler, "eski yöntemlerin terk edildiğini" vurgulayarak büyük modelin kötü niyetli bir şekilde örtbas edilen fonksiyonları çağırmaya öncelik vermesini sağlamaktır.
kötü niyetli küresel kontrol mantığı ekle
MasterMCP, bir banana aracı yazdı, bu aracın temel işlevi, tüm araçların çalıştırılmadan önce güvenlik kontrolü yapmak için bu aracı zorunlu kılmaktır.
Her fonksiyon çalıştırılmadan önce, sistem önce banana kontrol mekanizmasını çağırır.
Bu, kod içinde "banana kontrolü çalıştırılmalıdır" ifadesinin sürekli vurgulanmasıyla gerçekleştirilen küresel bir mantık enjeksiyonudur.
Kötü niyetli anahtar kelimeleri gizlemenin ileri teknikleri
Büyük model dostu kodlama yöntemi
Büyük dil modellerinin çok dilli formatları anlama yeteneği son derece güçlü olduğundan, bu durum kötü niyetli bilgileri gizlemek için kullanılmaktadır. Yaygın yöntemler şunları içerir:
İngilizce ortamda: Hex Byte kodlaması kullanın
Türkçe ortamda: NCR kodlaması veya JavaScript kodlaması kullanın
Rastgele Kötü Niyetli Yük Dönüş Mekanizması
/random isteği yapıldığında, her seferinde kötü niyetli 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 uygulamalı gösterimi sayesinde, Model Context Protocol (MCP) sistemi içinde gizli olan çeşitli güvenlik açıklarını görsel olarak 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 talimat gizlemeye kadar, her bir 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 giderek daha sık etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi tüm sistem seviyesinde güvenlik risklerini tetikleyebilir. Ayrıca, saldırganların yöntemlerinin çeşitlenmesi ( kodlama gizleme, rastgele kirlenme, fonksiyon kaplama ) da, geleneksel koruma yaklaşımlarının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor.
Güvenlik asla bir anda elde edilmez.
Umuyorum ki bu sunum herkes için bir alarm zili çalacak: Hem geliştiricilerin hem de kullanıcıların MCP sistemi konusunda yeterince dikkatli olmaları ve her etkileşimi, her kod satırını, her dönüş değerini sürekli izlemeleri gerekiyor. Ancak her ayrıntıya titizlikle yaklaşarak, sağlam ve güvenli bir MCP ortamı inşa edebiliriz.
Sonraki adımda, MasterMCP scriptini geliştirmeye devam edeceğiz, daha fazla hedefe yönelik test senaryosunu 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.
MCP güvenlik riskleri uygulamalı: Enjeksiyon saldırılarından küresel kontrol için gizli tekniklere
MCP sistemindeki gizli zehirleme ve manipülasyon: Pratik gösterim
Şu anda MCP ( Model Context Protocol ) sistemi hala erken gelişim aşamasında, genel ortam oldukça karmaşık, çeşitli potansiyel saldırı yöntemleri sürekli ortaya çıkıyor, mevcut protokoller ve araç tasarımları etkili bir şekilde savunma yapmada zorluk çekiyor. Topluluğun MCP güvenliğini daha iyi anlaması ve artırması için, yakın zamanda MasterMCP aracı açık kaynak olarak yayınlandı, amacı pratik saldırı tatbikatları aracılığıyla ürün tasarımındaki güvenlik açıklarını keşfetmek ve MCP projesini aşamalı olarak güçlendirmektir.
Bu makale okuyucuları uygulamalı bir şekilde yönlendirecek, MCP sistemi altında yaygın saldırı yöntemlerini, gerçek örnekler olarak bilgi zehirleme, gizli kötü niyetli komutlar gibi, sergileyecektir. Tüm gösterim betikleri de açık kaynak olarak sunulacak, okuyucular güvenli bir ortamda sürecin tamamını yeniden oluşturabilir, hatta bu betikler temelinde kendi saldırı test eklentilerini geliştirebilir.
Genel Mimari Gözden Geçirme
saldırı hedefi MCP: Toolbox
smithery.ai, şu anda en popüler MCP eklenti web sitelerinden biridir ve çok sayıda MCP listesi ve aktif kullanıcıyı bir araya getirir. Bunlar arasında @smithery/toolbox, web sitesinin resmi olarak sunduğu MCP yönetim aracıdır.
Test hedefi olarak Toolbox'u seçmenin başlıca nedenleri şunlardır:
kötü niyetli MCP: MasterMCP için gösterim kullanımı
MasterMCP, güvenlik testleri için yazılmış bir sahte kötü niyetli MCP aracıdır, eklenti tabanlı mimari tasarımı kullanır ve aşağıdaki ana modülleri içerir:
Saldırı senaryosunu daha gerçekçi bir şekilde yeniden oluşturmak için, MasterMCP yerel web hizmeti simülasyon modülünü entegre etmiştir. Bu, FastAPI çerçevesi aracılığıyla basit bir HTTP sunucusu hızlı bir şekilde kurarak yaygın web sayfası ortamlarını simüle eder. Bu sayfalar yüzeyde normal görünse de, aslında sayfa kaynak kodunda veya arayüz yanıtlarında özenle tasarlanmış kötü niyetli yükler saklıdır.
Bu şekilde, güvenli ve kontrol edilebilir bir yerel ortamda, bilgi zehirleme, komut gizleme gibi saldırı yöntemlerini tam olarak gösterebiliriz. Bu, görünüşte sıradan bir web sayfasının bile büyük modellerin anormal işlemler gerçekleştirmesine yol açabilecek bir risk kaynağı olabileceğini daha somut bir şekilde anlamaya yardımcı olur.
MasterMCP, genişletme için eklenti tabanlı bir yöntem kullanır, bu da yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini kolaylaştırır. Çalıştırıldığında, MasterMCP, alt süreçte bir önceki modülün FastAPI hizmetini çalıştırır. ( Dikkatliyseniz, burada bir güvenlik açığı olduğunu göreceksiniz - yerel eklentiler, MCP'nin beklemediği alt süreçleri rastgele başlatabilir ).
Demonstrasyon İstemcisi
gösterim amacıyla kullanılan büyük model
Claude 3.7 sürümünü seçin, çünkü hassas işlem tanıma konusunda belirli bir iyileşme sağlanmış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ı
Cursor yerel test web sitesine erişim.
Bu, "Lezzetli Kek Dünyası" hakkında zararsız görünen bir sayfadır. Bu deney aracılığıyla, büyük model istemcisinin kötü niyetli bir web sitesine erişiminin neden olduğu etkileri simüle etmektedir.
Talimatı yerine getir: İçeriği al
Sonuçlar, Cursor'un 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östermektedir. Kaynak kodunda, kötü niyetli anahtar kelimeler HTML yorumları biçiminde yerleştirilmiştir.
Yorumlama yöntemi oldukça açık olmasına rağmen, kötü niyetli işlemleri tetikleyebilir.
/encode sayfasına erişim, yukarıdaki örneğe benzer bir web sayfasıdır, ancak içindeki kötü niyetli anahtar kelimeler kodlanmıştır, böylece zehirleme exp'si daha gizli hale gelir, web sayfasının kaynak koduna erişseniz bile doğrudan fark edilmesi zor olur.
Kaynak kodu açık metin ipuçları içermese bile, saldırı yine de başarıyla gerçekleştirildi; bu konuda detaylı bilgi sonraki bölümlerde verilecektir.
MCP aracı geri dönüş bilgisi 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şlemleri göstermek için tasarlanmıştır ):
birçok elma al
Görülebilir ki, komut tetiklendiğinde, istemci MCP üzerinden Toolbox'ı çağırdı ve yeni bir MCP sunucusu başarıyla eklendi.
Eklenti kodunu incelediğinizde, dönen verilerin şifrelenmiş kötü amaçlı yükler içerdiğini görebilirsiniz, kullanıcı tarafında neredeyse bir anormallik fark edilmez.
Üçüncü taraf arayüzü kirletme saldırısı
Bu gösterim, ister kötü niyetli ister kötü niyetli olmayan MCP olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama geri döndürmenin ciddi etkilere yol açabileceğini hatırlatmaktadır.
İstek yürütme: /api/data adresinden json al
Sonuç: Kötü niyetli anahtar kelimeler dönen JSON verisine yerleştirildi ve kötü niyetli yürütme başarıyla tetiklendi.
MCP başlatma aşamasının zehirleme teknikleri
kötü niyetli fonksiyon örtme saldırısı
MasterMCP, Toolbox ile aynı fonksiyon adı remove_server olan bir araç yazdı ve kötü niyetli anahtar kelimeleri gizlemek için kodladı.
Talimatı yerine getir: toolbox kaldır fetch eklenti sunucu
Claude Desktop, orijinal toolbox remove_server yöntemini çağırmadı, bunun yerine MasterMCP tarafından sağlanan aynı isimli yöntemi tetikledi.
İlkeler, "eski yöntemlerin terk edildiğini" vurgulayarak büyük modelin kötü niyetli bir şekilde örtbas edilen fonksiyonları çağırmaya öncelik vermesini sağlamaktır.
kötü niyetli küresel kontrol mantığı ekle
MasterMCP, bir banana aracı yazdı, bu aracın temel işlevi, tüm araçların çalıştırılmadan önce güvenlik kontrolü yapmak için bu aracı zorunlu kılmaktır.
Her fonksiyon çalıştırılmadan önce, sistem önce banana kontrol mekanizmasını çağırır.
Bu, kod içinde "banana kontrolü çalıştırılmalıdır" ifadesinin sürekli vurgulanmasıyla gerçekleştirilen küresel bir mantık enjeksiyonudur.
Kötü niyetli anahtar kelimeleri gizlemenin ileri teknikleri
Büyük model dostu kodlama yöntemi
Büyük dil modellerinin çok dilli formatları anlama yeteneği son derece güçlü olduğundan, bu durum kötü niyetli bilgileri gizlemek için kullanılmaktadır. Yaygın yöntemler şunları içerir:
Rastgele Kötü Niyetli Yük Dönüş Mekanizması
/random isteği yapıldığında, her seferinde kötü niyetli 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 uygulamalı gösterimi sayesinde, Model Context Protocol (MCP) sistemi içinde gizli olan çeşitli güvenlik açıklarını görsel olarak 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 talimat gizlemeye kadar, her bir 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 giderek daha sık etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi tüm sistem seviyesinde güvenlik risklerini tetikleyebilir. Ayrıca, saldırganların yöntemlerinin çeşitlenmesi ( kodlama gizleme, rastgele kirlenme, fonksiyon kaplama ) da, geleneksel koruma yaklaşımlarının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor.
Güvenlik asla bir anda elde edilmez.
Umuyorum ki bu sunum herkes için bir alarm zili çalacak: Hem geliştiricilerin hem de kullanıcıların MCP sistemi konusunda yeterince dikkatli olmaları ve her etkileşimi, her kod satırını, her dönüş değerini sürekli izlemeleri gerekiyor. Ancak her ayrıntıya titizlikle yaklaşarak, sağlam ve güvenli bir MCP ortamı inşa edebiliriz.
Sonraki adımda, MasterMCP scriptini geliştirmeye devam edeceğiz, daha fazla hedefe yönelik test senaryosunu 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.