MCP sisteminin güvenlik açıkları ve saldırı demosu
MCP (Model Context Protocol) sistemi şu anda erken gelişim aşamasındadır, genel ortam oldukça karmaşık olup, çeşitli potansiyel saldırı yöntemleri ortaya çıkmaktadır. MCP'nin güvenliğini artırmak amacıyla, SlowMist MasterMCP aracını açık kaynak olarak sunmuştur ve bu araç, gerçek saldırı tatbikatları ile ürün tasarımındaki güvenlik açıklarını keşfetmeye yardımcı olmaktadır. Bu yazıda, MCP sistemi altında yaygın saldırı yöntemleri, örneğin bilgi zehirleme, kötü niyetli talimatların gizlenmesi gibi gerçek vakalar gösterilecektir.
Genel Mimari İncelemesi
saldırı hedefi MCP: Toolbox
Toolbox, smithery.ai tarafından sunulan MCP yönetim aracıdır ve bunu test hedefi olarak seçmemizin başlıca nedenleri şunlardır:
Kullanıcı tabanı geniş, temsil kabiliyetine sahip.
Diğer eklentilerin otomatik olarak yüklenmesini destekler, bazı istemci işlevlerini tamamlar.
MasterMCP, güvenlik testleri için tasarlanmış sahte kötü niyetli MCP aracı olup, eklenti tabanlı bir mimari tasarımı benimsemekte ve aşağıdaki ana modülleri içermektedir:
Yerel web sitesi hizmeti simülasyonu: FastAPI çerçevesi kullanarak basit bir HTTP sunucusu kurarak yaygın web sayfası ortamını simüle etme.
Yerel eklentili MCP mimarisi: Eklenti tabanlı bir yaklaşım benimseyerek genişletme sağlar, yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini kolaylaştırı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
Cross-MCP Kötü Amaçlı Çağrı
web içeriği zehirleme saldırısı
Yorumlayıcı türü zehirleme
Web sayfası kaynak koduna HTML yorum biçiminde kötü niyetli anahtar kelimeler ekleyerek, kötü niyetli işlemler başarıyla tetiklendi.
Kodlama Tabanlı Yorum Zehirleme
Kaynak kodu açık metin ipuçları içermese bile, saldırı yine de başarıyla gerçekleştirildi. Kötü niyetli ipuçları kodlama işleminden geçtiği için doğrudan fark edilmesi zordur.
Üçüncü taraf arayüzü kirletme saldırısı
Demonstrasyonlar, ister kötü niyetli ister kötü niyetli olmayan MCP'ler olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama döndürmenin ciddi etkilere yol açabileceğini göstermektedir.
MCP başlangıç aşamasında zehirleme teknikleri
kötü niyetli fonksiyon örtme saldırısı
MasterMCP, Toolbox ile aynı isme sahip bir remove_server fonksiyonu yazdı ve kötü niyetli anahtar kelimeleri gizlemeyi kodladı. "Eski yöntem geçersiz kılındı" ifadesini vurgulayarak, büyük modeli kötü niyetli olarak değiştirilmiş fonksiyonu öncelikle çağırmaya teşvik etti.
kötü niyetli küresel kontrol mantığı ekle
MasterMCP, tüm araçların çalışmadan önce bu aracı güvenlik kontrolü için çalıştırmaları gerektiğini zorunlu kılan bir banana aracı geliştirmiştir. Bu, "banana kontrolü çalıştırılmalıdır" ifadesinin sürekli vurgulanmasıyla sağlanan küresel bir mantık enjekte edilmesidir.
Kötü niyetli ipuçlarını gizlemenin ileri teknikleri
büyük model dostu kodlama yöntemi
Kötü niyetli bilgileri gizlemek için çok dilli formatların güçlü analiz yeteneklerinden yararlanan büyük dil modelleri:
İngilizce ortam: Hex Byte kodlaması kullanma
Çince ortam: NCR kodlaması veya JavaScript kodlaması kullanın
Rastgele Kötü Amaçlı Yük İade Mekanizması
Her istekte rastgele kötü niyetli yükler içeren sayfalar döndürülür, tespit ve izleme zorluğunu artırır.
Özet
MasterMCP'nin uygulamalı gösterimi, MCP sistemindeki çeşitli güvenlik açıklarını ortaya koyuyor. Basit ipucu enjeksiyonundan daha gizli olan başlatma aşaması saldırılarına kadar, her aşama MCP ekosisteminin kırılganlığını hatırlatıyor. Büyük modellerin sıklıkla dış eklentilerle ve API'lerle etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi sistem düzeyinde güvenlik risklerine yol açabilir.
Saldırganların yöntemlerindeki çeşitlilik (kod gizleme, rastgele kirletme, fonksiyon örtme) geleneksel koruma anlayışının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor. Geliştiriciler ve kullanıcılar MCP sistemine dikkat etmeli, her bir etkileşimi, her bir kod satırını ve her bir dönüş değerini takip etmelidir. Sadece detaylara dikkat ederek sağlam ve güvenli bir MCP ortamı inşa edilebilir.
İlgili içerik GitHub'a senkronize edildi, ilgilenen okuyucular daha fazla keşfedebilir.
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 açıkları büyük ifşası: Zehirlemeden gizli saldırılara kapsamlı analiz
MCP sisteminin güvenlik açıkları ve saldırı demosu
MCP (Model Context Protocol) sistemi şu anda erken gelişim aşamasındadır, genel ortam oldukça karmaşık olup, çeşitli potansiyel saldırı yöntemleri ortaya çıkmaktadır. MCP'nin güvenliğini artırmak amacıyla, SlowMist MasterMCP aracını açık kaynak olarak sunmuştur ve bu araç, gerçek saldırı tatbikatları ile ürün tasarımındaki güvenlik açıklarını keşfetmeye yardımcı olmaktadır. Bu yazıda, MCP sistemi altında yaygın saldırı yöntemleri, örneğin bilgi zehirleme, kötü niyetli talimatların gizlenmesi gibi gerçek vakalar gösterilecektir.
Genel Mimari İncelemesi
saldırı hedefi MCP: Toolbox
Toolbox, smithery.ai tarafından sunulan MCP yönetim aracıdır ve bunu test hedefi olarak seçmemizin başlıca nedenleri şunlardır:
Kötü niyetli MCP: MasterMCP
MasterMCP, güvenlik testleri için tasarlanmış sahte kötü niyetli MCP aracı olup, eklenti tabanlı bir mimari tasarımı benimsemekte ve aşağıdaki ana modülleri içermektedir:
Yerel web sitesi hizmeti simülasyonu: FastAPI çerçevesi kullanarak basit bir HTTP sunucusu kurarak yaygın web sayfası ortamını simüle etme.
Yerel eklentili MCP mimarisi: Eklenti tabanlı bir yaklaşım benimseyerek genişletme sağlar, yeni saldırı yöntemlerinin hızlı bir şekilde eklenmesini kolaylaştırır.
Demo İstemcisi
gösterim için kullanılan büyük model
Cross-MCP Kötü Amaçlı Çağrı
web içeriği zehirleme saldırısı
Web sayfası kaynak koduna HTML yorum biçiminde kötü niyetli anahtar kelimeler ekleyerek, kötü niyetli işlemler başarıyla tetiklendi.
Kaynak kodu açık metin ipuçları içermese bile, saldırı yine de başarıyla gerçekleştirildi. Kötü niyetli ipuçları kodlama işleminden geçtiği için doğrudan fark edilmesi zordur.
Üçüncü taraf arayüzü kirletme saldırısı
Demonstrasyonlar, ister kötü niyetli ister kötü niyetli olmayan MCP'ler olsun, üçüncü taraf API'lerini çağırırken, üçüncü taraf verilerini doğrudan bağlama döndürmenin ciddi etkilere yol açabileceğini göstermektedir.
MCP başlangıç aşamasında zehirleme teknikleri
kötü niyetli fonksiyon örtme saldırısı
MasterMCP, Toolbox ile aynı isme sahip bir remove_server fonksiyonu yazdı ve kötü niyetli anahtar kelimeleri gizlemeyi kodladı. "Eski yöntem geçersiz kılındı" ifadesini vurgulayarak, büyük modeli kötü niyetli olarak değiştirilmiş fonksiyonu öncelikle çağırmaya teşvik etti.
kötü niyetli küresel kontrol mantığı ekle
MasterMCP, tüm araçların çalışmadan önce bu aracı güvenlik kontrolü için çalıştırmaları gerektiğini zorunlu kılan bir banana aracı geliştirmiştir. Bu, "banana kontrolü çalıştırılmalıdır" ifadesinin sürekli vurgulanmasıyla sağlanan küresel bir mantık enjekte edilmesidir.
Kötü niyetli ipuçlarını gizlemenin ileri teknikleri
büyük model dostu kodlama yöntemi
Kötü niyetli bilgileri gizlemek için çok dilli formatların güçlü analiz yeteneklerinden yararlanan büyük dil modelleri:
Rastgele Kötü Amaçlı Yük İade Mekanizması
Her istekte rastgele kötü niyetli yükler içeren sayfalar döndürülür, tespit ve izleme zorluğunu artırır.
Özet
MasterMCP'nin uygulamalı gösterimi, MCP sistemindeki çeşitli güvenlik açıklarını ortaya koyuyor. Basit ipucu enjeksiyonundan daha gizli olan başlatma aşaması saldırılarına kadar, her aşama MCP ekosisteminin kırılganlığını hatırlatıyor. Büyük modellerin sıklıkla dış eklentilerle ve API'lerle etkileşimde bulunduğu günümüzde, küçük bir girdi kirlenmesi sistem düzeyinde güvenlik risklerine yol açabilir.
Saldırganların yöntemlerindeki çeşitlilik (kod gizleme, rastgele kirletme, fonksiyon örtme) geleneksel koruma anlayışının kapsamlı bir şekilde güncellenmesi gerektiği anlamına geliyor. Geliştiriciler ve kullanıcılar MCP sistemine dikkat etmeli, her bir etkileşimi, her bir kod satırını ve her bir dönüş değerini takip etmelidir. Sadece detaylara dikkat ederek sağlam ve güvenli bir MCP ortamı inşa edilebilir.
İlgili içerik GitHub'a senkronize edildi, ilgilenen okuyucular daha fazla keşfedebilir.