Demonstrasi praktis risiko keamanan sistem MCP: dari pencemaran hingga manipulasi tersembunyi

Penyuntikan dan Manipulasi Tersembunyi dalam Sistem MCP: Demonstrasi Praktis

MCP (Model Context Protocol) sistem ini saat ini berada dalam tahap perkembangan awal, lingkungan keseluruhan cukup kacau, berbagai cara serangan potensial bermunculan, dan desain protokol serta alat yang ada sulit untuk melakukan pertahanan yang efektif. Untuk membantu komunitas lebih baik memahami dan meningkatkan keamanan MCP, Slow Mist secara khusus mengopen-source alat MasterMCP, berharap melalui latihan serangan praktis, dapat membantu menemukan potensi celah keamanan dalam desain produk, sehingga secara bertahap memperkuat proyek MCP.

Artikel ini akan memandu Anda dalam demonstrasi praktis mengenai metode serangan umum dalam sistem MCP, seperti pencemaran informasi, penyembunyian instruksi jahat, dan kasus nyata lainnya. Semua skrip demonstrasi juga akan dibuka sumbernya, sehingga Anda dapat mereproduksi seluruh proses di lingkungan yang aman, bahkan mengembangkan plugin pengujian serangan Anda sendiri berdasarkan skrip-skrip ini.

Praktik Langsung: Penyembunyian Racun dan Manipulasi dalam Sistem MCP

Tinjauan Arsitektur Keseluruhan

Target Serangan MCP: Toolbox

smithery.ai adalah salah satu situs plugin MCP yang paling populer saat ini, mengumpulkan banyak daftar MCP dan pengguna aktif. Di antaranya, @smithery/toolbox adalah alat manajemen MCP resmi yang diluncurkan oleh smithery.ai.

Pilih Toolbox sebagai target pengujian, terutama berdasarkan poin-poin berikut:

  • Basis pengguna yang besar, memiliki representativitas
  • Mendukung pemasangan otomatis plugin lain, melengkapi beberapa fungsi klien ( seperti Claude Desktop )
  • Termasuk konfigurasi sensitif ( seperti API Key ), memudahkan untuk melakukan demonstrasi

Praktik Langsung: Penyuntikan Tersembunyi dan Manipulasi dalam Sistem MCP

Demo penggunaan MCP jahat: MasterMCP

MasterMCP adalah alat simulasi MCP jahat yang dirancang khusus oleh Slow Fog untuk pengujian keamanan, menggunakan desain arsitektur plug-in, dan mencakup modul kunci berikut:

  1. Simulasi layanan situs web lokal:

Untuk lebih realistis dalam mereproduksi skenario serangan, MasterMCP dilengkapi dengan modul simulasi layanan situs web lokal. Modul ini dengan cepat membangun server HTTP sederhana menggunakan kerangka kerja FastAPI, mensimulasikan lingkungan halaman web yang umum. Halaman-halaman ini tampak normal di permukaan, seperti menampilkan informasi toko kue atau mengembalikan data JSON standar, tetapi sebenarnya menyimpan muatan berbahaya yang dirancang dengan cermat dalam kode sumber halaman atau respons antarmuka.

  1. Arsitektur MCP yang Dapat Dipasang Secara Lokal

MasterMCP menggunakan metode plug-in untuk memperluas, memudahkan penambahan metode serangan baru dengan cepat di kemudian hari. Setelah dijalankan, MasterMCP akan menjalankan layanan FastAPI dari modul sebelumnya di proses anak. ( Di sini sudah ada potensi risiko keamanan - plugin lokal dapat memulai proses anak yang tidak diharapkan oleh MCP ).

Praktik: Pencemaran Tersembunyi dan Manipulasi dalam Sistem MCP

Klien Demo

  • Cursor: Salah satu IDE pemrograman yang didukung AI paling populer di dunia saat ini
  • Claude Desktop:Anthropic(MCP protocol kustom) klien resmi

model besar yang digunakan untuk demonstrasi

  • Claude 3.7

Pilih versi Claude 3.7, karena telah ada perbaikan dalam pengenalan operasi sensitif, sekaligus mewakili kemampuan operasi yang cukup kuat dalam ekosistem MCP saat ini.

Invokasi Jahat Cross-MCP

Demonstrasi ini mencakup dua konten: pemotongan dan pemanggilan jahat Cross-MCP.

serangan pencemaran konten web

  1. Poisoning Tipe Komentar

Cursor mengakses situs web pengujian lokal.

Ini adalah halaman "Delicious Cake World" yang tampaknya tidak berbahaya, melalui eksperimen ini, kami mensimulasikan dampak yang ditimbulkan oleh klien model besar yang mengakses situs web berbahaya.

Eksekusi perintah:

Ambil konten dari

Hasil menunjukkan bahwa Cursor tidak hanya membaca konten halaman web, tetapi juga mengirimkan data konfigurasi sensitif lokal kembali ke server pengujian. Dalam kode sumber, kata-kata yang berbahaya disisipkan dalam bentuk komentar HTML.

Meskipun cara penjelasannya cukup langsung dan mudah dikenali, namun sudah dapat memicu tindakan jahat.

Praktik: Penyembunyian Racun dan Manipulasi dalam Sistem MCP

  1. Penyuntikan komentar berbasis kode

Kunjungi halaman /encode, ini adalah halaman web yang terlihat mirip dengan contoh sebelumnya, tetapi kata-kata yang berbahaya telah dienkode, membuat ekspresi racun lebih tersembunyi, bahkan sulit untuk mendeteksi secara langsung meskipun mengakses kode sumber halaman web.

Meskipun kode sumber tidak mengandung kata kunci yang jelas, serangan tetap berhasil dilaksanakan.

Praktik: Penyebaran Tersembunyi dan Manipulasi dalam Sistem MCP

MCP alat mengembalikan informasi racun

Berdasarkan petunjuk kata kunci MasterMCP, masukkan perintah simulasi (. Perintah ini tidak memiliki makna nyata dan bertujuan untuk memicu MCP jahat untuk mendemonstrasikan operasi selanjutnya ):

dapat banyak apel

Dapat dilihat, setelah perintah dipicu, klien melakukan panggilan lintas MCP ke Toolbox dan berhasil menambahkan server MCP baru.

Melihat kode plugin, dapat ditemukan bahwa data yang dikembalikan sudah menyertakan muatan berbahaya yang telah diproses dengan encoding, sehingga pengguna hampir tidak dapat mendeteksi adanya anomali.

Praktik: Penyuntikan Tersembunyi dan Manipulasi dalam Sistem MCP

serangan pencemaran antarmuka pihak ketiga

Demo ini terutama dimaksudkan untuk mengingatkan, baik MCP yang bersifat jahat maupun tidak jahat, saat memanggil API pihak ketiga, jika data pihak ketiga langsung dikembalikan ke konteks, dapat membawa dampak serius.

Eksekusi permintaan:

Ambil json dari /api/data

Hasil: Kata kunci jahat disisipkan ke dalam data JSON yang dikembalikan dan berhasil memicu eksekusi jahat.

Praktik: Penyebaran Tersembunyi dan Manipulasi dalam Sistem MCP

Teknik pencemaran tahap inisialisasi MCP

Presentasi ini mencakup dua konten yaitu penyisipan prompt awal dan konflik nama.

serangan penimpaan fungsi jahat

Di sini MasterMCP telah menulis sebuah tool dengan nama fungsi yang sama remove_server seperti Toolbox, dan telah menyembunyikan kata-kata jahat dalam kode.

Eksekusi perintah:

alat kotak hapus ambil plugin server

Claude Desktop tidak memanggil metode remove_server toolbox yang asli, melainkan memicu metode dengan nama yang sama yang disediakan oleh MasterMCP.

Prinsipnya adalah dengan menekankan "metode lama telah dibatalkan", utamakan mengarahkan model besar untuk memanggil fungsi yang ditimpa secara jahat.

Praktik Langsung: Penyuntikan Tersembunyi dan Manipulasi dalam Sistem MCP

Menambahkan logika pemeriksaan global yang berbahaya

Di sini MasterMCP telah menulis sebuah alat banana, yang memiliki fungsi inti untuk memaksa semua alat menjalankan pemeriksaan keamanan dengan alat ini sebelum menjalankan kata perintah.

Sebelum setiap eksekusi fungsi, sistem akan terlebih dahulu memanggil mekanisme pemeriksaan banana.

Ini adalah injeksi logika global yang dicapai dengan menekankan berulang kali dalam kode "harus menjalankan deteksi banana".

Praktik Dimulai: Penyuntikan Tersembunyi dan Manipulasi dalam Sistem MCP

Teknik Lanjutan untuk Menyembunyikan Kata Kunci Berbahaya

cara pengkodean yang ramah terhadap model besar

Karena model bahasa besar (LLM) memiliki kemampuan analisis yang sangat kuat terhadap format multibahasa, hal ini malah dimanfaatkan untuk menyembunyikan informasi jahat, metode yang umum digunakan termasuk:

  • Dalam lingkungan Inggris: menggunakan pengkodean Hex Byte
  • Dalam lingkungan Cina: gunakan encoding NCR atau encoding JavaScript

Praktik Berbasis: Pencemaran Tersembunyi dan Manipulasi dalam Sistem MCP

mekanisme pengembalian muatan jahat acak

Seperti yang disebutkan dalam Bab Kedua mengenai pencemaran antarmuka pihak ketiga, saat meminta /random:

Setiap kali akan secara acak mengembalikan halaman dengan muatan berbahaya, sangat meningkatkan kesulitan deteksi dan pelacakan.

Praktik Dimulai: Penyebaran Tersembunyi dan Pengendalian dalam Sistem MCP

Ringkasan

Melalui demonstrasi praktis MasterMCP, kami secara langsung melihat berbagai potensi risiko keamanan yang tersembunyi dalam sistem Model Context Protocol (MCP). Dari injeksi kata kunci yang sederhana, panggilan lintas MCP, hingga serangan fase inisialisasi yang lebih tersembunyi dan penyembunyian instruksi jahat, setiap langkah mengingatkan kami: meskipun ekosistem MCP kuat, ia juga rentan.

Terutama di zaman di mana model besar semakin sering berinteraksi dengan plugin dan API eksternal, sedikit pencemaran input dapat memicu risiko keamanan sistem yang besar. Dan keberagaman metode penyerangan ( penyembunyian kode, pencemaran acak, dan penutupan fungsi ) juga berarti bahwa pendekatan perlindungan tradisional perlu ditingkatkan secara menyeluruh.

Keamanan tidak pernah dicapai dalam sekejap.

Semoga presentasi kali ini dapat membangunkan kesadaran semua orang: baik pengembang maupun pengguna, harus tetap waspada terhadap sistem MCP, selalu memperhatikan setiap interaksi, setiap baris kode, dan setiap nilai kembali. Hanya dengan memperhatikan setiap detail dengan cermat, kita dapat benar-benar membangun lingkungan MCP yang kokoh dan aman.

Selanjutnya, kami juga akan terus menyempurnakan skrip MasterMCP, membuka lebih banyak kasus uji yang ditargetkan, untuk membantu semua orang memahami, berlatih, dan memperkuat perlindungan dalam lingkungan yang aman.

Praktik Langsung: Penyebaran Tersembunyi dan Manipulasi dalam Sistem MCP

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 6
  • Bagikan
Komentar
0/400
gas_guzzlervip
· 07-16 22:51
MCP melihat bahaya, cepat lari
Lihat AsliBalas0
faded_wojak.ethvip
· 07-15 19:06
Melihat keluarga mcp kamu bermain-main
Lihat AsliBalas0
PanicSellervip
· 07-15 19:06
Suckers belum dipotong habis sudah dilepas begitu saja?
Lihat AsliBalas0
LiquiditySurfervip
· 07-15 19:01
Keamanan Blockchain juga perlu menyesuaikan titik terbaik untuk surfing di on-chain~ Pasar yang kacau saat ini bahkan martini dengan es pun tidak cukup untuk mendinginkan.
Lihat AsliBalas0
consensus_failurevip
· 07-15 18:54
Jujur saja, jangan terus menerus membuka celah seperti ini.
Lihat AsliBalas0
AllInAlicevip
· 07-15 18:50
Pekerjaan ini terlalu liar, saya sedikit panik.
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)