Daftar Periksa Keamanan MCP: Panduan AI

Dengan pesatnya popularitas alat kecerdasan buatan, memastikan keamanannya menjadi sangat penting. Daftar periksa keamanan ini dirancang untuk membantu pengembang mengidentifikasi dan mengurangi potensi risiko yang terkait dengan Model Context Protocol (MCP), yang telah menjadi jembatan penting yang menghubungkan model bahasa besar (LLM) dengan alat eksternal dan sumber data.

Latar Belakang

Daftar periksa keamanan ini ditulis dan dikelola oleh @SlowMist_Team, yang bertujuan untuk meningkatkan keamanan ekosistem blockchain dan kecerdasan buatan. Terima kasih kepada FENZ.AI atas kontribusi berharga mereka pada daftar ini.

Ringkasan

Sejak dirilis pada akhir tahun 2024, MCP telah banyak digunakan dalam aplikasi AI utama seperti Claude Desktop, Cursor, dll. Namun, popularitas MCP yang pesat juga membawa tantangan keamanan baru. Arsitektur MCP saat ini terdiri dari tiga bagian: Host (lingkungan aplikasi AI yang berjalan secara lokal), Client (komponen yang bertanggung jawab untuk berkomunikasi dengan Server dan memanggil alat), dan Server (server yang sesuai dengan plugin MCP). Pengguna berinteraksi dengan AI melalui Host, dan Client mengurai permintaan pengguna dan meneruskannya ke MCP Server untuk menjalankan panggilan alat atau akses sumber daya. Dalam skenario di mana beberapa instance dan komponen beroperasi secara kolaboratif, arsitektur ini mengekspos serangkaian risiko keamanan, terutama dalam skenario sensitif yang melibatkan transaksi mata uang kripto atau adaptasi plugin khusus LLM. Risiko ini lebih menonjol dan memerlukan tindakan keamanan yang tepat untuk mengelolanya.

Oleh karena itu, pengembangan dan penerapan daftar periksa keamanan MCP yang komprehensif sangat penting. Daftar ini mencakup antarmuka interaksi pengguna, komponen klien, plugin layanan, mekanisme kolaborasi multi-MCP, dan poin keamanan khusus bidang (seperti skenario mata uang kripto), yang dirancang untuk membantu pengembang secara sistematis mengidentifikasi potensi risiko dan mencegahnya tepat waktu. Dengan menerapkan langkah-langkah keamanan ini, stabilitas dan pengendalian keseluruhan sistem MCP dapat ditingkatkan secara efektif, memastikan bahwa keamanan aplikasi AI dijamin seiring dengan perkembangannya yang pesat.

Cara Penggunaan

Daftar periksa ini didasarkan pada kemungkinan poin risiko yang dihadapi dalam audit proyek MCP, dan dirancang untuk membantu pengembang memastikan keamanan implementasi MCP. Kami menggunakan 3 tingkat prioritas untuk mengidentifikasi pentingnya item:

  • 🟢️ Menunjukkan item yang direkomendasikan, tetapi dapat dihilangkan dalam keadaan tertentu.
  • 🔶 Menunjukkan item yang sangat direkomendasikan, tetapi dapat dihilangkan dalam keadaan khusus. Menghilangkan item tersebut dapat berdampak negatif pada keamanan.
  • 🟥️ Menunjukkan item yang tidak boleh dihilangkan dalam keadaan apa pun. Menghapus elemen ini dapat menyebabkan kegagalan sistem atau kerentanan keamanan.

Keamanan Server MCP (Plugin MCP)

Layanan MCP adalah layanan eksternal yang menyediakan alat, sumber daya, dan fungsi untuk dipanggil oleh AI. Biasanya berisi sumber daya, alat, dan petunjuk. Berikut adalah pertimbangan untuk memastikan keamanan server MCP:

Keamanan API

  • Validasi Input: 🟥️ Validasi secara ketat semua input API untuk mencegah serangan injeksi dan parameter ilegal. Ini termasuk memvalidasi tipe data, panjang, dan format, dan membersihkan serta meloloskan input.
  • Pembatasan Kecepatan API: 🔶 Terapkan pembatasan kecepatan panggilan API untuk mencegah penyalahgunaan dan serangan. Ini dapat mencegah pengguna jahat membanjiri server dengan mengirimkan sejumlah besar permintaan.
  • Pengkodean Output: 🔶 Kodekan output API dengan benar untuk mencegah serangan lintas situs (XSS). Ini termasuk mengkodekan output seperti HTML, JavaScript, dan URL.

Autentikasi dan Otorisasi Server

  • Kontrol Akses: 🟥️ Terapkan kontrol akses berbasis peran untuk membatasi akses sumber daya dan menerapkan prinsip hak istimewa terendah. Hanya pengguna yang berwenang yang dapat mengakses sumber daya tertentu.
  • Manajemen Kredensial: 🟥️ Kelola dan simpan kredensial layanan dengan aman, hindari hard coding, dan gunakan layanan manajemen kunci. Ini termasuk menggunakan enkripsi untuk menyimpan kredensial dan merotasi kredensial secara berkala.
  • Autentikasi Layanan Eksternal: 🟥️ Autentikasi ke layanan pihak ketiga menggunakan metode yang aman. Ini termasuk menggunakan protokol aman seperti OAuth 2.0 atau SAML.
  • Hak Istemewa Terendah: 🔶 Proses layanan berjalan dengan hak istimewa terendah yang diperlukan, mengurangi potensi permukaan serangan dan risiko peningkatan hak istimewa. Ini berarti layanan hanya boleh memiliki izin yang diperlukan untuk menjalankan fungsinya.
  • Rotasi Kunci API: 🔶 Rotasi otomatis kunci API dan kredensial layanan secara berkala, membatasi masa berlaku kunci. Ini dapat mengurangi risiko kebocoran kunci.
  • Autentikasi Layanan: 🔶 Sediakan mekanisme bagi alat untuk memverifikasi identitas layanan, memfasilitasi verifikasi klien dan penggunaan yang aman. Ini dapat membantu klien memverifikasi bahwa mereka berkomunikasi dengan layanan tepercaya.

Kontrol Persistensi Latar Belakang

  • Manajemen Siklus Hidup: 🟥️ Terapkan manajemen siklus hidup plugin MCP yang ketat, sinkronkan dengan klien. Plugin harus dimulai dan dihentikan dengan benar ketika tidak lagi diperlukan.
  • Pembersihan Saat Menutup: 🟥️ Paksa pembersihan semua proses latar belakang MCP saat klien menutup. Ini dapat mencegah plugin jahat terus berjalan setelah klien menutup.
  • Mekanisme Pemeriksaan Kesehatan: 🔶 Periksa status plugin MCP secara berkala untuk mengidentifikasi persistensi abnormal. Ini dapat membantu mengidentifikasi plugin yang tidak berfungsi dengan benar.
  • Pemantauan Aktivitas Latar Belakang: 🔶 Pantau dan catat semua aktivitas latar belakang MCP. Ini dapat membantu mengidentifikasi aktivitas jahat.
  • Pembatasan Aktivitas: 🔶 Batasi jenis dan durasi operasi yang dapat dilakukan plugin MCP di latar belakang. Ini dapat mengurangi kerusakan yang disebabkan oleh plugin jahat.

Keamanan Penerapan dan Runtime

  • Lingkungan Terisolasi: 🟥️ Layanan berjalan di lingkungan yang terisolasi (kontainer, VM, kotak pasir) untuk mencegah pelarian dan serangan pergerakan lateral. Ini dapat mencegah layanan jahat memengaruhi layanan atau sistem lain.
  • Keamanan Kontainer: 🟥️ Gunakan konfigurasi keamanan kontainer yang diperkeras dan jalankan pengguna non-root, terapkan infrastruktur yang tidak dapat diubah, dan lindungi runtime. Ini dapat meningkatkan keamanan kontainer.
  • Booting Aman: 🔶 Verifikasi integritas proses booting layanan, terapkan rantai booting aman dan pemeriksaan integritas. Ini dapat mencegah layanan jahat disuntikkan saat booting.
  • Keamanan Variabel Lingkungan: 🔶 Variabel lingkungan sensitif dilindungi dan tidak bocor dalam log. Ini dapat mencegah pengguna jahat mengakses informasi sensitif.
  • Pembatasan Sumber Daya: 🔶 Terapkan pembatasan penggunaan sumber daya untuk mencegah panggilan berulang yang berlebihan saat model besar mengalami kesalahan. Ini dapat mencegah layanan jahat menghabiskan sumber daya sistem.

Integritas Kode dan Data

  • Mekanisme Verifikasi Integritas: 🟥️ Gunakan mekanisme seperti tanda tangan digital dan verifikasi hash untuk memastikan bahwa kode tidak dirusak. Ini dapat mencegah pengguna jahat memodifikasi kode.
  • Verifikasi Jarak Jauh: 🔶 Dukung mekanisme untuk memverifikasi integritas kode dari jarak jauh. Ini memungkinkan pengguna jarak jauh untuk memverifikasi apakah kode telah dirusak.
  • Obfuscasi dan Penguatan Kode: 🟢️ Terapkan teknik obfuscasi dan penguatan kode untuk meningkatkan kesulitan rekayasa balik. Ini dapat membuat pengguna jahat lebih sulit untuk memahami dan memodifikasi kode.

Keamanan Rantai Pasokan

  • Manajemen Dependensi: 🟥️ Kelola dependensi pihak ketiga dengan aman. Ini termasuk melacak dependensi, memastikan bahwa mereka mutakhir, dan memindai mereka untuk kerentanan.
  • Integritas Paket: 🟥️ Verifikasi integritas dan keaslian paket. Ini dapat mencegah pengguna jahat menyuntikkan paket jahat.
  • Verifikasi Asal: 🔶 Verifikasi asal semua kode dan dependensi. Ini dapat membantu memastikan bahwa kode berasal dari sumber tepercaya.
  • Bangun Keamanan: 🔶 Pastikan proses pembuatan aman. Ini termasuk menggunakan alat pembuatan yang aman dan memastikan bahwa lingkungan pembuatan aman.

Pemantauan dan Pencatatan Log

  • Deteksi Anomali: 🟥️ Deteksi dan laporkan pola aktivitas abnormal. Ini dapat membantu mengidentifikasi aktivitas jahat.
  • Pencatatan Log Terperinci: 🟥️ Catat semua aktivitas layanan dan insiden keamanan. Ini dapat membantu menyelidiki insiden keamanan.
  • Peringatan Insiden Keamanan: 🟥️ Konfigurasikan peringatan real-time untuk insiden keamanan kritis. Ini dapat membantu menanggapi insiden keamanan secara tepat waktu.
  • Manajemen Log Terpusat: 🔶 Kumpulkan dan analisis log secara terpusat. Ini dapat memberikan pandangan yang lebih komprehensif tentang insiden keamanan.
  • Integritas Log: 🔶 Pastikan integritas log untuk mencegah perusakan. Ini dapat mencegah pengguna jahat menghapus atau memodifikasi log.
  • Kemampuan Audit: 🔶 Mendukung audit terperinci dan investigasi insiden. Ini dapat membantu menentukan penyebab insiden keamanan.

Isolasi Lingkungan Panggilan

  • Isolasi Antar MCP: 🟥️ Pastikan isolasi operasi antara beberapa layanan MCP. Ini dapat mencegah layanan MCP jahat memengaruhi layanan MCP lain.
  • Kontrol Akses Sumber Daya: 🟥️ Tetapkan batasan izin akses sumber daya yang jelas untuk setiap layanan MCP. Ini dapat membatasi sumber daya yang dapat diakses oleh layanan MCP jahat.
  • Pemisahan Izin Alat: 🔶 Alat di berbagai domain menggunakan set izin yang berbeda. Ini dapat mengurangi kerusakan yang disebabkan oleh alat jahat.

Kompatibilitas dan Keamanan Platform

  • Isolasi Sumber Daya Sistem: 🟥️ Terapkan strategi isolasi sumber daya yang sesuai berdasarkan karakteristik sistem operasi yang berbeda. Ini dapat mencegah layanan jahat memengaruhi layanan atau sistem lain.
  • Pengujian Kompatibilitas Lintas Platform: 🔶 Uji konsistensi perilaku keamanan layanan MCP pada sistem operasi dan klien yang berbeda. Ini dapat memastikan bahwa layanan aman di semua platform.
  • Penilaian Risiko Khusus Platform: 🔶 Nilai risiko keamanan unik dan tindakan mitigasi untuk platform tertentu. Ini dapat membantu mengidentifikasi dan mengurangi risiko keamanan khusus platform.
  • Penanganan Perbedaan Klien: 🔶 Pastikan bahwa kontrol keamanan dapat beradaptasi dengan perbedaan dalam implementasi klien yang berbeda. Ini dapat memastikan bahwa layanan aman dengan semua klien.

Keamanan dan Privasi Data

  • Minimalkan Data: 🟥️ Hanya kumpulkan dan proses data yang diperlukan. Ini dapat mengurangi risiko kebocoran data.
  • Enkripsi Data: 🟥️ Enkripsi data sensitif saat disimpan dan ditransmisikan. Ini dapat mencegah pengguna jahat mengakses informasi sensitif.
  • Isolasi Data: 🟥️ Data pengguna yang berbeda diisolasi secara efektif. Ini dapat mencegah pengguna jahat mengakses data pengguna lain.
  • Kontrol Akses Data: 🟥️ Terapkan kontrol akses data yang ketat. Ini dapat membatasi akses ke data.
  • Identifikasi Data Sensitif: 🟥️ Otomatis identifikasi dan tangani secara khusus data sensitif. Ini dapat membantu mencegah kebocoran data sensitif.

Keamanan Sumber Daya

  • Kontrol Akses Sumber Daya: 🟥️ Terapkan kontrol akses sumber daya yang terperinci. Ini dapat membatasi akses ke sumber daya tertentu.
  • Pembatasan Sumber Daya: 🔶 Batasi ukuran dan jumlah sumber daya tunggal. Ini dapat mencegah pengguna jahat menghabiskan sumber daya sistem.
  • Keamanan Template Sumber Daya: 🔶 Pastikan bahwa parameter template sumber daya divalidasi dan dibersihkan. Ini dapat mencegah pengguna jahat menyuntikkan kode jahat.
  • Penandaan Sumber Daya Sensitif: 🔶 Tandai dan tangani secara khusus sumber daya sensitif. Ini dapat membantu mencegah kebocoran sumber daya sensitif.

Keamanan Implementasi Alat

  • Praktik Pengkodean Aman: 🟥️ Ikuti standar pengkodean aman dan praktik terbaik. Ini dapat mengurangi jumlah kerentanan dalam kode.
  • Isolasi Alat: 🟥️ Alat dieksekusi di lingkungan yang terkendali untuk mencegah dampak tingkat sistem. Ini dapat mencegah alat jahat memengaruhi layanan atau sistem lain.
  • Validasi Input: 🟥️ Validasi secara ketat semua input dari klien. Ini dapat mencegah pengguna jahat menyuntikkan kode jahat.
  • Kontrol Izin Alat: 🟥️ Setiap alat hanya memiliki izin minimum yang diperlukan untuk menyelesaikan tugas. Ini dapat mengurangi kerusakan yang disebabkan oleh alat jahat.
  • Validasi Data: 🟥️ Validasi data yang diproses oleh alat untuk mencegah injeksi dan perusakan. Ini dapat mencegah pengguna jahat menyuntikkan data jahat.
  • Batasan Perilaku Alat: 🟥️ Batasi cakupan dan jenis operasi yang dapat dilakukan alat. Ini dapat mengurangi kerusakan yang disebabkan oleh alat jahat.
  • Keamanan Informasi Pengembalian Antarmuka Pihak Ketiga: 🟥️ Verifikasi apakah informasi pengembalian antarmuka sesuai dengan harapan, dan informasi pengembalian tidak dapat langsung dimasukkan ke dalam konteks. Ini dapat mencegah alat jahat mengeksploitasi antarmuka pihak ketiga.
  • Penanganan Kesalahan: 🔶 Tangani kesalahan dengan aman tanpa membocorkan informasi sensitif. Ini dapat mencegah pengguna jahat mengeksploitasi informasi kesalahan.
  • Isolasi Namespace: 🔶 Terapkan isolasi namespace yang ketat untuk alat yang berbeda. Ini dapat mencegah konflik antar alat.

Keamanan Klien MCP / Host MCP

Host adalah lingkungan tempat aplikasi AI dan klien MCP berjalan, dan merupakan titik masuk bagi pengguna akhir untuk berinteraksi dengan sistem AI. Klien adalah komponen di dalam aplikasi AI yang bertanggung jawab untuk berkomunikasi dengan layanan MCP, memproses konteks, memanggil alat, dan menampilkan hasil. Berikut adalah pertimbangan untuk melindungi klien dan host MCP:

Keamanan Interaksi Pengguna

  • Keamanan Antarmuka Pengguna: 🟥️ Antarmuka pengguna dengan jelas menampilkan cakupan izin dan potensi dampak operasi AI, menyediakan indikator keamanan yang intuitif. Ini dapat membantu pengguna memahami izin yang mereka berikan kepada AI.
  • Konfirmasi Operasi Sensitif: 🟥️ Operasi berisiko tinggi (seperti penghapusan file, transfer dana) memerlukan konfirmasi pengguna yang jelas. Ini dapat mencegah pengguna secara tidak sengaja melakukan operasi berisiko tinggi.
  • Permintaan Izin Transparan: 🟥️ Permintaan izin dengan jelas menyatakan tujuan dan cakupan, membantu pengguna membuat keputusan yang tepat dan menghindari otorisasi yang berlebihan. Ini dapat membantu pengguna memahami izin yang mereka berikan kepada AI.
  • Visualisasi Operasi: 🔶 Panggilan alat dan akses data terlihat dan dapat diaudit oleh pengguna, menyediakan log operasi yang terperinci. Ini dapat membantu pengguna memahami operasi yang dilakukan AI.
  • Transparansi Informasi: 🔶 Alat harus mengizinkan pengguna untuk menampilkan atau tidak menampilkan label tersembunyi secara default, memastikan bahwa konteks yang dilihat pengguna lengkap dan konsisten dengan konteks yang dihasilkan dan dipanggil yang sebenarnya, mencegah logika jahat ada di label tersembunyi.
  • Umpan Balik Status: 🔶 Pengguna dapat dengan jelas memahami operasi MCP yang sedang dieksekusi.

Kontrol dan Pemantauan AI

  • Catatan Operasi: 🟥️ Catat semua operasi AI penting dan hasilnya. Ini dapat membantu menyelidiki insiden keamanan.
  • Deteksi Anomali: 🔶 Deteksi pola panggilan alat atau urutan permintaan yang tidak normal. Ini dapat membantu mengidentifikasi aktivitas jahat.
  • Pembatasan Panggilan Alat: 🔶 Terapkan pembatasan frekuensi dan jumlah panggilan alat. Ini dapat mencegah pengguna jahat menyalahgunakan alat.

Keamanan Penyimpanan Lokal

  • Penyimpanan Kredensial Aman: 🟥️ Gunakan rantai kunci sistem atau penyimpanan terenkripsi khusus untuk melindungi kredensial otentikasi untuk kredensial penting, mencegah akses yang tidak sah. Ini dapat mencegah pengguna jahat mengakses kredensial.
  • Isolasi Data Sensitif: 🔶 Terapkan mekanisme isolasi data untuk menyimpan dan memproses data pengguna sensitif secara terpisah dari data umum. Ini dapat mencegah pengguna jahat mengakses data sensitif.

Keamanan Aplikasi

  • Integritas Aplikasi: 🟥️ Verifikasi integritas aplikasi dan plugin MCP untuk mencegah perusakan. Ini dapat mencegah pengguna jahat memodifikasi aplikasi.
  • Verifikasi Pembaruan: 🔶 Pembaruan aplikasi Host diverifikasi dengan tanda tangan digital. Ini dapat memastikan bahwa pembaruan berasal dari sumber tepercaya.
  • Kotak Pasir Aplikasi: 🟢️ Cobalah untuk menjalankan aplikasi di lingkungan kotak pasir untuk membatasi akses sistem. Ini dapat mengurangi kerusakan yang disebabkan oleh aplikasi jahat.

Autentikasi dan Otorisasi Klien

  • Autentikasi Wajib: 🟥️ Terapkan autentikasi sebelum berkomunikasi dengan layanan MCP penting apa pun untuk mencegah akses anonim. Ini dapat mencegah pengguna yang tidak berwenang mengakses layanan.
  • Implementasi OAuth: 🔶 Implementasikan proses OAuth 2.1 atau versi yang lebih baru dengan benar, ikuti praktik terbaik dan standar keamanan. Ini dapat memastikan bahwa autentikasi aman.
  • Parameter Status: 🔶 Untuk beberapa klien Web, terapkan parameter status untuk mencegah serangan CSRF, gunakan nilai acak unik untuk setiap permintaan. Ini dapat mencegah serangan lintas situs (CSRF).

Alat MCP dan Manajemen Server

  • Verifikasi Alat MCP: 🟥️ Verifikasi keaslian dan integritas alat terdaftar. Ini dapat mencegah alat jahat didaftarkan.
  • Pembaruan Aman: 🟥️ Klien MCP secara berkala memeriksa dan menerapkan pembaruan keamanan, verifikasi apakah alat yang diperbarui berisi deskripsi jahat. Ini dapat memastikan bahwa alat mutakhir dan tidak berisi kode jahat.
  • Validasi Nama Fungsi: 🟥️ Periksa konflik nama dan potensi penimpaan jahat sebelum mendaftarkan alat. Ini dapat mencegah alat jahat menimpa alat yang ada.
  • Deteksi MCP Jahat: 🟥️ Pantau dan identifikasi pola perilaku MCP jahat potensial. Ini dapat membantu mengidentifikasi MCP jahat.
  • Kontrol Penamaan Alat MCP: 🔶 Gunakan namespace atau pengenal unik untuk mencegah konflik penamaan. Ini dapat mencegah konflik antar alat.
  • Direktori Layanan: 🔶 Pertahankan direktori resmi layanan dan alat MCP tepercaya. Ini dapat membantu pengguna menemukan layanan tepercaya.
  • Resolusi Konflik: 🔶 Ada aturan yang jelas untuk menyelesaikan konflik alat bernama sama.
  • Isolasi Domain: 🔶 Alat dari domain yang berbeda terisolasi satu sama lain untuk mencegah pengaruh silang.
  • Mekanisme Prioritas: 🔶 Tetapkan aturan prioritas fungsi yang jelas untuk menghindari penimpaan jahat.
  • Kontrol Versi: 🔶 Terapkan kontrol versi untuk fungsi dan alat untuk mendeteksi perubahan.
  • Mekanisme Pendaftaran dan Pembatalan Pendaftaran Alat: 🔶 Perjelas proses pendaftaran dan pembatalan pendaftaran alat untuk mencegah risiko keamanan alat warisan.
  • Mekanisme Deteksi Konflik: 🔶 Deteksi dan selesaikan konflik fungsi dan sumber daya di lingkungan multi-MCP.
  • Klasifikasi Alat: 🟢️ Klasifikasikan alat berdasarkan sensitivitas dan tingkat risiko.

Keamanan Prompt

  • Pertahanan Injeksi Prompt: 🟥️ Terapkan langkah-langkah pertahanan berlapis untuk mencegah serangan injeksi prompt, termasuk verifikasi manual untuk eksekusi kritis.
  • Deteksi Instruksi Jahat: 🟥️ Buat mekanisme untuk mendeteksi dan memblokir instruksi pengguna jahat potensial untuk mencegah sistem dimanipulasi, seperti mendeteksi dan memblokir instruksi jahat yang dimuat sebelumnya saat inisialisasi lokal, dan alat jahat dari server MCP pihak ketiga yang berisi instruksi berbahaya tersembunyi.
  • Perlindungan Prompt Sistem: 🟥️ Prompt sistem dan input pengguna dipisahkan dengan jelas untuk mencegah perusakan.
  • Penyaringan Data Sensitif: 🟥️ Saring data pribadi sensitif dari prompt dan konteks.
  • Isolasi Konteks: 🔶 Pastikan bahwa konten konteks dari sumber yang berbeda saling terisolasi untuk mencegah polusi konteks dan kebocoran informasi.
  • Template Prompt: 🔶 Gunakan template prompt yang aman untuk mengurangi risiko injeksi.
  • Verifikasi Deskripsi Alat: 🔶 Periksa instruksi jahat potensial dalam deskripsi alat.
  • Verifikasi Konsistensi Prompt: 🔶 Pastikan bahwa prompt yang sama menghasilkan hasil yang konsisten dan dapat diprediksi di lingkungan yang berbeda.
  • Manajemen Konteks Historis: 🔶 Jelaskan mekanisme pembersihan aman dari konteks historis untuk mencegah risiko kebocoran informasi yang disebabkan oleh akumulasi data lama.

Log dan Audit

  • Pencatatan Log Klien: 🟥️ Catat semua interaksi dengan layanan MCP, panggilan alat, dan aktivitas otorisasi.
  • Catatan Insiden Keamanan: 🟥️ Catat semua insiden terkait keamanan, termasuk kegagalan otorisasi.
  • Peringatan Anomali: 🔶 Deteksi dan peringatkan pola aktivitas abnormal.

Verifikasi Server dan Keamanan Komunikasi

  • Autentikasi Server: 🟥️ Verifikasi identitas server MCP untuk mencegah koneksi ke server jahat, terapkan pin sertifikat.
  • Verifikasi Sertifikat: 🟥️ Verifikasi sertifikat TLS dengan ketat di server jarak jauh untuk mencegah serangan man-in-the-middle, periksa integritas rantai sertifikat.
  • Enkripsi Komunikasi: 🟥️ Semua komunikasi klien-server menggunakan enkripsi TLS 1.2+, nonaktifkan suite cipher yang lemah.
  • Konfigurasi Protokol Aman: 🔶 Konfigurasikan parameter TLS yang aman, audit dan perbarui algoritma dan protokol enkripsi secara berkala.

Penyimpanan dan Manajemen Token Izin

  • Pembatasan Cakupan Izin: 🟥️ Batasi secara ketat cakupan izin token, terapkan prinsip hak istimewa terendah.

Kontrol Persetujuan Otomatis

  • Pembatasan Persetujuan Otomatis: 🟥️ Kontrol secara ketat cakupan alat dan operasi yang dapat disetujui secara otomatis.
  • Manajemen Daftar Putih: 🔶 Definisikan dengan jelas mekanisme daftar putih untuk alat yang dapat disetujui secara otomatis.
  • Penilaian Risiko Dinamis: 🔶 Sesuaikan kebijakan persetujuan otomatis secara dinamis berdasarkan konteks.
  • Audit Proses Persetujuan: 🔶 Catat dan audit semua keputusan persetujuan otomatis.

Keamanan Sampling

  • Kontrol Inklusi Konteks: 🟥️ Kontrol secara ketat cakupan konteks yang termasuk dalam permintaan sampling.
  • Penyaringan Data Sensitif: 🟥️ Saring data sensitif dari permintaan dan respons sampling.
  • Verifikasi Permintaan Sampling: 🔶 Verifikasi semua parameter dan konten permintaan sampling.
  • Kontrol Pengguna: 🔶 Pastikan bahwa pengguna memiliki kontrol yang jelas atas permintaan dan hasil sampling.
  • Keamanan Preferensi Model: 🔶 Tangani informasi preferensi model dengan aman untuk mencegah penyalahgunaan.
  • Verifikasi Hasil: 🔶 Verifikasi apakah hasil sampling mematuhi standar keamanan.

Adaptasi dan Keamanan Panggilan MCP pada LLM yang Berbeda

LLM backend yang berbeda mungkin memiliki perbedaan dalam prioritas panggilan dan logika eksekusi MCP, sehingga perlu untuk memperhatikan keamanan kombinasi antara LLM dan MCP.

Eksekusi Aman LLM

  • Eksekusi Fungsi Prioritas: 🟥️ Pastikan LLM dapat memprioritaskan eksekusi fungsi plugin yang benar.
  • Perlindungan Prompt Jahat: 🟥️ LLM dapat mengidentifikasi dan melindungi terhadap perilaku yang diminta oleh mnemonik yang disuntikkan dalam skenario prompt jahat.
  • Panggilan Aman: 🟥️ LLM dapat memanggil fungsi MCP terkait dengan benar dan aman.
  • Perlindungan Informasi Sensitif: 🟥️ Mencegah kebocoran informasi sensitif.

Keamanan Multimodal

  • Penyaringan Konten Multimodal: 🟥️ Saring informasi berbahaya atau sensitif dalam konten multimodal (seperti prompt jahat dalam gambar).

Keamanan Skenario Multi-MCP

Saat mengaktifkan beberapa server MCP secara bersamaan, karena kurangnya audit resmi, pengguna dapat menginstal MCP jahat, yang menimbulkan ancaman bagi keamanan keseluruhan.

  • Keamanan Lingkungan Multi-MCP: 🟥️ Pastikan keamanan keseluruhan lingkungan multi-MCP, dan pindai dan periksa MCP yang terinstal secara berkala.
  • Perlindungan Pembajakan Prioritas Fungsi: 🟥️ Periksa kemungkinan preset prompt jahat, dan cegah prioritas fungsi dibajak secara jahat.
  • Kontrol Panggilan Fungsi Lintas MCP: 🟥️ Kontrol panggilan fungsi lintas MCP dengan aman untuk mencegah MCP jahat mengembalikan prompt jahat untuk memanggil MCP lain untuk melakukan operasi sensitif.

Poin Keamanan Unik MCP Terkait Mata Uang Kripto

MCP terkait mata uang kripto biasanya memiliki fungsi mengelola dompet mata uang kripto, dan memiliki risiko tinggi.

  • Perlindungan Kunci Pribadi: 🟥️ Perkuat langkah-langkah perlindungan keamanan kunci pribadi, seperti Scrypt.
  • Keamanan Pembuatan Dompet: 🟥️ Jaminan keamanan untuk proses pembuatan mnemonik atau dompet.
  • Privasi Informasi Dompet: 🟥️ Lindungi privasi informasi dompet, dan lakukan penyaringan dengan baik saat meminta informasi dompet ke antarmuka pihak ketiga.
  • Konfirmasi Informasi Transfer: 🟥️ Informasi tanda tangan transfer on-chain atau bursa perlu ditampilkan dan dikonfirmasi sepenuhnya.
  • Verifikasi Operasi Dana: 🟥️ Verifikasi ulang operasi dana penting, seperti Google Authenticator.
  • Perlindungan Privasi Model Lokal: 🔶 Gunakan model besar lokal untuk melindungi data privasi, dan cegah produsen model besar pihak ketiga mendapatkan informasi sensitif seperti informasi dompet Anda.
  • Kompatibilitas Dompet Tradisional: 🔶 Kompatibilitas keamanan dengan dompet tradisional, seperti mendukung operasi tanda tangan dengan dompet tradisional.