Penyuntikan dan Manipulasi Tersembunyi dalam Sistem MCP
MCP (Model Context Protocol) sistem saat ini berada pada tahap pengembangan awal, lingkungan secara keseluruhan cukup kacau, berbagai cara serangan potensial bermunculan, dan desain protokol serta alat yang ada sulit untuk melakukan pertahanan yang efektif. Untuk meningkatkan keamanan MCP, sebuah perusahaan keamanan telah mengembangkan alat MasterMCP secara open source, yang membantu mengidentifikasi celah keamanan dalam desain produk melalui latihan serangan nyata, sehingga memperkuat proyek MCP.
Artikel ini akan mendemonstrasikan metode serangan umum dalam sistem MCP, seperti pencemaran informasi, menyembunyikan instruksi berbahaya, dan contoh nyata lainnya. Semua skrip demonstrasi juga akan dirilis sebagai sumber terbuka, dapat digunakan untuk mereproduksi seluruh proses di lingkungan yang aman, bahkan mengembangkan plugin pengujian serangan sendiri berdasarkan skrip-skrip ini.
Tinjauan Arsitektur Keseluruhan
Demonstrasi Target Serangan MCP:Toolbox
Sebuah alat manajemen MCP resmi yang diluncurkan oleh situs plugin MCP terkenal. Memilih Toolbox sebagai target pengujian terutama berdasarkan: basis pengguna yang besar, representatif; mendukung instalasi otomatis plugin lainnya; mencakup konfigurasi sensitif, memudahkan demontrasi.
Demonstrasi penggunaan MCP jahat: MasterMCP
MasterMCP adalah alat simulasi MCP jahat yang dirancang khusus untuk pengujian keamanan, dengan desain arsitektur berbasis plugin, yang mencakup modul kunci berikut:
Simulasi layanan situs web lokal:
Membangun server HTTP sederhana menggunakan kerangka kerja FastAPI, mensimulasikan lingkungan halaman web yang umum. Halaman-halaman ini tampak normal, tetapi sebenarnya menyimpan muatan jahat yang dirancang dengan cermat dalam kode sumber atau respons API.
Arsitektur MCP yang Dapat Dipasang Secara Lokal
MasterMCP menggunakan cara plug-in untuk memperluas, memudahkan penambahan cara serangan baru dengan cepat. Setelah dijalankan, akan menjalankan layanan FastAPI di subproses.
Klien Demo
Cursor:Salah satu IDE pemrograman yang dibantu AI yang sedang populer di seluruh dunia
Claude Desktop: Klien resmi Anthropic
model besar yang digunakan untuk demo
Claude 3.7
Memilih versi ini karena telah ada perbaikan dalam pengenalan operasi sensitif, sekaligus mewakili kemampuan operasi yang kuat dalam ekosistem MCP saat ini.
Panggilan Jahat Cross-MCP
serangan pencemaran konten web
Poisoning Model Komentar
Kursor mengakses situs web pengujian lokal, ini adalah halaman "Dunia Kue Lezat" yang tampaknya tidak 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 kunci jahat disisipkan dalam bentuk komentar HTML.
Penyuntikan komentar berbasis kode
Akses halaman /encode, terlihat sama dengan contoh sebelumnya, tetapi kata kunci jahat telah diencode, lebih tersembunyi.
Bahkan jika kode sumber tidak mengandung kata kunci dalam bentuk teks yang jelas, serangan masih berhasil dilakukan.
MCP tool mengembalikan informasi keracunan
Masukkan perintah simulasi: dapatkan banyak apel
Setelah perintah dipicu, klien memanggil Toolbox melalui MCP dan berhasil menambahkan server MCP baru.
serangan pencemaran antarmuka pihak ketiga
Eksekusi permintaan:
Ambil json dari /api/data
Hasil: Kata kunci berbahaya telah ditanamkan ke dalam data JSON yang dikembalikan dan berhasil memicu eksekusi jahat.
Teknik Poisoning pada Tahap Inisialisasi MCP
serangan penutupan fungsi jahat
MasterMCP menulis fungsi remove_server yang bernama sama dengan Toolbox, dan mengkodekan untuk menyembunyikan kata kunci jahat.
Eksekusi perintah:
alat kotak hapus ambil plugin server
Claude Desktop tidak memanggil metode remove_server toolbox yang sebenarnya, melainkan memicu metode dengan nama yang sama yang disediakan oleh MasterMCP.
Prinsipnya adalah dengan menekankan "metode yang ada telah dibuang", lebih mengutamakan untuk mengarahkan model besar untuk memanggil fungsi yang ditimpa secara jahat.
Tambahkan logika pemeriksaan global berbahaya
MasterMCP telah menulis alat banana, yang mengharuskan semua alat untuk menjalankan alat ini untuk pemeriksaan keamanan sebelum digunakan.
Sebelum setiap eksekusi fungsi, sistem akan memprioritaskan pemanggilan mekanisme pemeriksaan banana. Ini dicapai melalui penekanan berulang dalam kode "harus menjalankan pemeriksaan banana" sebagai penyuntikan logika global.
Teknik Lanjutan untuk Menyembunyikan Kata Kunci Berbahaya
cara pengkodean yang ramah model besar
Lingkungan Inggris: menggunakan pengkodean Hex Byte
Lingkungan Cina: menggunakan encoding NCR atau encoding JavaScript
mekanisme pengembalian muatan jahat acak
Ketika meminta /random, setiap kali akan secara acak mengembalikan halaman dengan muatan berbahaya, yang sangat meningkatkan kesulitan dalam mendeteksi dan melacak.
https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(
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.
12 Suka
Hadiah
12
4
Posting ulang
Bagikan
Komentar
0/400
BagHolderTillRetire
· 5jam yang lalu
Keamanannya tidak baik, ada lubang sebesar ini.
Lihat AsliBalas0
DogeBachelor
· 5jam yang lalu
Jebakan terlalu banyak, yang dapat diandalkan tidak banyak.
Lihat AsliBalas0
CafeMinor
· 5jam yang lalu
Pada awalnya, mungkin banyak celah.
Lihat AsliBalas0
GamefiHarvester
· 5jam yang lalu
Apakah racun yang sebenarnya sudah sekelas ini? Kontrak ini sedikit bernuansa lokal langsung dibahas.
Analisis Mendalam Risiko Keamanan Ekosistem MCP: Pengungkapan Lengkap Taktik Penyuntikan Tersembunyi dan Manipulasi
Penyuntikan dan Manipulasi Tersembunyi dalam Sistem MCP
MCP (Model Context Protocol) sistem saat ini berada pada tahap pengembangan awal, lingkungan secara keseluruhan cukup kacau, berbagai cara serangan potensial bermunculan, dan desain protokol serta alat yang ada sulit untuk melakukan pertahanan yang efektif. Untuk meningkatkan keamanan MCP, sebuah perusahaan keamanan telah mengembangkan alat MasterMCP secara open source, yang membantu mengidentifikasi celah keamanan dalam desain produk melalui latihan serangan nyata, sehingga memperkuat proyek MCP.
Artikel ini akan mendemonstrasikan metode serangan umum dalam sistem MCP, seperti pencemaran informasi, menyembunyikan instruksi berbahaya, dan contoh nyata lainnya. Semua skrip demonstrasi juga akan dirilis sebagai sumber terbuka, dapat digunakan untuk mereproduksi seluruh proses di lingkungan yang aman, bahkan mengembangkan plugin pengujian serangan sendiri berdasarkan skrip-skrip ini.
Tinjauan Arsitektur Keseluruhan
Demonstrasi Target Serangan MCP:Toolbox
Sebuah alat manajemen MCP resmi yang diluncurkan oleh situs plugin MCP terkenal. Memilih Toolbox sebagai target pengujian terutama berdasarkan: basis pengguna yang besar, representatif; mendukung instalasi otomatis plugin lainnya; mencakup konfigurasi sensitif, memudahkan demontrasi.
Demonstrasi penggunaan MCP jahat: MasterMCP
MasterMCP adalah alat simulasi MCP jahat yang dirancang khusus untuk pengujian keamanan, dengan desain arsitektur berbasis plugin, yang mencakup modul kunci berikut:
Membangun server HTTP sederhana menggunakan kerangka kerja FastAPI, mensimulasikan lingkungan halaman web yang umum. Halaman-halaman ini tampak normal, tetapi sebenarnya menyimpan muatan jahat yang dirancang dengan cermat dalam kode sumber atau respons API.
MasterMCP menggunakan cara plug-in untuk memperluas, memudahkan penambahan cara serangan baru dengan cepat. Setelah dijalankan, akan menjalankan layanan FastAPI di subproses.
Klien Demo
model besar yang digunakan untuk demo
Memilih versi ini karena telah ada perbaikan dalam pengenalan operasi sensitif, sekaligus mewakili kemampuan operasi yang kuat dalam ekosistem MCP saat ini.
Panggilan Jahat Cross-MCP
serangan pencemaran konten web
Kursor mengakses situs web pengujian lokal, ini adalah halaman "Dunia Kue Lezat" yang tampaknya tidak 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 kunci jahat disisipkan dalam bentuk komentar HTML.
Akses halaman /encode, terlihat sama dengan contoh sebelumnya, tetapi kata kunci jahat telah diencode, lebih tersembunyi.
Bahkan jika kode sumber tidak mengandung kata kunci dalam bentuk teks yang jelas, serangan masih berhasil dilakukan.
MCP tool mengembalikan informasi keracunan
Masukkan perintah simulasi: dapatkan banyak apel
Setelah perintah dipicu, klien memanggil Toolbox melalui MCP dan berhasil menambahkan server MCP baru.
serangan pencemaran antarmuka pihak ketiga
Eksekusi permintaan:
Ambil json dari /api/data
Hasil: Kata kunci berbahaya telah ditanamkan ke dalam data JSON yang dikembalikan dan berhasil memicu eksekusi jahat.
Teknik Poisoning pada Tahap Inisialisasi MCP
serangan penutupan fungsi jahat
MasterMCP menulis fungsi remove_server yang bernama sama dengan Toolbox, dan mengkodekan untuk menyembunyikan kata kunci jahat.
Eksekusi perintah:
alat kotak hapus ambil plugin server
Claude Desktop tidak memanggil metode remove_server toolbox yang sebenarnya, melainkan memicu metode dengan nama yang sama yang disediakan oleh MasterMCP.
Prinsipnya adalah dengan menekankan "metode yang ada telah dibuang", lebih mengutamakan untuk mengarahkan model besar untuk memanggil fungsi yang ditimpa secara jahat.
Tambahkan logika pemeriksaan global berbahaya
MasterMCP telah menulis alat banana, yang mengharuskan semua alat untuk menjalankan alat ini untuk pemeriksaan keamanan sebelum digunakan.
Sebelum setiap eksekusi fungsi, sistem akan memprioritaskan pemanggilan mekanisme pemeriksaan banana. Ini dicapai melalui penekanan berulang dalam kode "harus menjalankan pemeriksaan banana" sebagai penyuntikan logika global.
Teknik Lanjutan untuk Menyembunyikan Kata Kunci Berbahaya
cara pengkodean yang ramah model besar
mekanisme pengembalian muatan jahat acak
Ketika meminta /random, setiap kali akan secara acak mengembalikan halaman dengan muatan berbahaya, yang sangat meningkatkan kesulitan dalam mendeteksi dan melacak.
https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(