Latar Belakang
Senarai semak keselamatan ini ditulis dan diselenggara oleh @SlowMist_Team, bertujuan untuk meningkatkan keselamatan ekosistem blockchain dan kecerdasan buatan. Kami mengucapkan terima kasih kepada FENZ.AI atas sumbangan berharga mereka kepada senarai ini.
Gambaran Keseluruhan
Sejak dilancarkan pada akhir 2024, MCP telah digunakan secara meluas dalam aplikasi AI arus perdana seperti Claude Desktop, Cursor, dan lain-lain. Walau bagaimanapun, penyebaran pesat MCP juga membawa cabaran keselamatan baharu. Senibina MCP semasa terdiri daripada tiga bahagian: Host (persekitaran aplikasi AI yang berjalan secara tempatan), Client (komponen yang bertanggungjawab untuk berkomunikasi dengan pelayan dan panggilan alat), dan Server (pelayan yang sepadan dengan pemalam MCP). Pengguna berinteraksi dengan AI melalui Host, Client menghuraikan permintaan pengguna dan meneruskannya ke Pelayan MCP, melaksanakan panggilan alat atau akses sumber. Dalam senario di mana berbilang contoh dan komponen berjalan bersama, senibina ini mendedahkan pelbagai risiko keselamatan, terutamanya dalam senario sensitif yang melibatkan transaksi mata wang kripto atau penyesuaian pemalam tersuai LLM, di mana risiko adalah lebih ketara dan memerlukan langkah keselamatan yang sesuai untuk diuruskan.
Oleh itu, adalah penting untuk membangunkan dan mengikuti senarai semak keselamatan MCP yang komprehensif. Senarai ini meliputi antara muka interaksi pengguna, komponen klien, pemalam perkhidmatan, mekanisme kerjasama berbilang MCP, dan perkara utama keselamatan khusus domain (seperti senario mata wang kripto), bertujuan untuk membantu pembangun mengenal pasti potensi risiko secara sistematik dan mencegahnya tepat pada masanya. Dengan melaksanakan langkah keselamatan ini, kestabilan dan kebolehkawalan keseluruhan sistem MCP boleh dipertingkatkan dengan berkesan, memastikan bahawa aplikasi AI berkembang pesat sambil turut memastikan keselamatan terjamin.
Cara Penggunaan
Senarai semak ini adalah berdasarkan potensi titik risiko yang dihadapi dalam audit projek MCP, yang bertujuan untuk membantu pembangun memastikan keselamatan pelaksanaan MCP. Kami menggunakan 3 tahap keutamaan untuk mengenal pasti kepentingan item:
- 🟢️ Menunjukkan item yang disyorkan, tetapi boleh diabaikan dalam keadaan tertentu.
- 🔶 Menunjukkan item yang sangat disyorkan, tetapi boleh diabaikan dalam kes khas. Peninggalan boleh memberi kesan negatif kepada keselamatan.
- 🟥️ Menunjukkan item yang tidak boleh diabaikan dalam apa jua keadaan. Mengalih keluar elemen ini boleh menyebabkan kegagalan sistem atau kerentanan keselamatan.
Keselamatan Pelayan MCP (Pemalam MCP)
Perkhidmatan MCP ialah perkhidmatan luaran yang menyediakan alatan, sumber dan fungsi untuk panggilan AI. Ia biasanya mengandungi sumber, alatan dan gesaan. Berikut ialah pertimbangan untuk memastikan keselamatan pelayan MCP:
Keselamatan API
- Pengesahan Input: 🟥️ Sahkan dengan ketat semua input API, mencegah serangan suntikan dan parameter yang menyalahi undang-undang. Ini termasuk mengesahkan jenis data, panjang dan format, dan membersihkan dan melarikan diri daripada input.
- Had Kadar API: 🔶 Laksanakan had kadar panggilan API untuk mencegah penyalahgunaan dan serangan. Ini boleh menghalang pengguna berniat jahat daripada membebankan pelayan dengan menghantar sejumlah besar permintaan.
- Pengekodan Output: 🔶 Kodkan output API dengan betul untuk mencegah serangan skrip rentas tapak (XSS). Ini termasuk pengekodan output seperti HTML, JavaScript dan URL.
Pengesahan dan Kebenaran Pelayan
- Kawalan Akses: 🟥️ Laksanakan kawalan akses berasaskan peranan, menghadkan akses sumber, dan melaksanakan prinsip keistimewaan paling minimum. Hanya pengguna yang dibenarkan boleh mengakses sumber tertentu.
- Pengurusan Kredensial: 🟥️ Urus dan simpan kelayakan perkhidmatan dengan selamat, elakkan pengekodan tegar, dan gunakan perkhidmatan pengurusan kunci. Ini termasuk menggunakan penyulitan untuk menyimpan kelayakan dan memutar kelayakan dengan kerap.
- Pengesahan Perkhidmatan Luaran: 🟥️ Gunakan kaedah selamat untuk mengesahkan kepada perkhidmatan pihak ketiga. Ini termasuk menggunakan protokol selamat seperti OAuth 2.0 atau SAML.
- Keistimewaan Minimum: 🔶 Proses perkhidmatan berjalan dengan keistimewaan minimum yang diperlukan, mengurangkan potensi permukaan serangan dan risiko peningkatan keistimewaan. Ini bermakna perkhidmatan hanya perlu mempunyai keistimewaan yang diperlukan untuk melaksanakan fungsinya.
- Putaran Kunci API: 🔶 Putar secara automatik kunci API dan kelayakan perkhidmatan dengan kerap, menghadkan tempoh sah kunci. Ini boleh mengurangkan risiko kebocoran kunci.
- Pengesahan Perkhidmatan: 🔶 Sediakan mekanisme untuk alatan untuk mengesahkan identiti perkhidmatan, memudahkan klien untuk mengesahkan dan menggunakan dengan selamat. Ini boleh membantu klien mengesahkan bahawa mereka berkomunikasi dengan perkhidmatan yang dipercayai.
Kawalan Ketekalan Latar Belakang
- Pengurusan Kitaran Hayat: 🟥️ Laksanakan pengurusan kitaran hayat pemalam MCP yang ketat dan segerakkan dengan klien. Pemalam hendaklah dimulakan dan dihentikan dengan betul apabila ia tidak lagi diperlukan.
- Penutupan Pembersihan: 🟥️ Paksa membersihkan semua proses latar belakang MCP apabila klien ditutup. Ini boleh menghalang pemalam berniat jahat daripada terus berjalan selepas klien ditutup.
- Mekanisme Semakan Kesihatan: 🔶 Periksa status pemalam MCP dengan kerap untuk mengenal pasti ketekunan yang tidak normal. Ini boleh membantu mengenal pasti pemalam yang tidak berfungsi dengan betul.
- Pemantauan Aktiviti Latar Belakang: 🔶 Pantau dan log semua aktiviti latar belakang MCP. Ini boleh membantu mengenal pasti aktiviti berniat jahat.
- Had Aktiviti: 🔶 Hadkan jenis dan tempoh tindakan yang boleh dilakukan oleh pemalam MCP di latar belakang. Ini boleh mengurangkan kerosakan yang disebabkan oleh pemalam berniat jahat.
Keselamatan Penggunaan dan Masa Jalan
- Persekitaran Terpencil: 🟥️ Perkhidmatan berjalan dalam persekitaran terpencil (bekas, VM, kotak pasir) untuk mengelakkan pelarian dan serangan pergerakan timur-barat. Ini boleh menghalang perkhidmatan berniat jahat daripada menjejaskan perkhidmatan atau sistem lain.
- Keselamatan Bekas: 🟥️ Gunakan konfigurasi keselamatan bekas yang diperkukuh dan jalankan pengguna bukan root, laksanakan infrastruktur yang tidak berubah, dan perlindungan masa jalan. Ini boleh meningkatkan keselamatan bekas.
- But Selamat: 🔶 Sahkan integriti proses permulaan perkhidmatan, laksanakan rantaian but selamat dan semakan integriti. Ini boleh menghalang perkhidmatan berniat jahat daripada disuntik semasa permulaan.
- Keselamatan Pembolehubah Persekitaran: 🔶 Pembolehubah persekitaran sensitif dilindungi dan tidak dibocorkan dalam log. Ini boleh menghalang pengguna berniat jahat daripada mengakses maklumat sensitif.
- Had Sumber: 🔶 Laksanakan had penggunaan sumber untuk mencegah gelung dan panggilan berulang yang besar apabila model besar tersilap. Ini boleh menghalang perkhidmatan berniat jahat daripada menghabiskan sumber sistem.
Integriti Kod dan Data
- Mekanisme Pengesahan Integriti: 🟥️ Gunakan tandatangan digital, semakan hash dan mekanisme lain untuk memastikan kod tidak diusik. Ini boleh menghalang pengguna berniat jahat daripada mengubah suai kod.
- Pengesahan Jauh: 🔶 Sokong mekanisme untuk pengesahan jauh integriti kod. Ini membenarkan pengguna jauh mengesahkan sama ada kod telah diusik atau tidak.
- Kekaburan dan Pengukuhan Kod: 🟢️ Gunakan teknik kekaburan dan pengukuhan kod untuk meningkatkan kesukaran kejuruteraan terbalik. Ini boleh menyukarkan pengguna berniat jahat untuk memahami dan mengubah suai kod.
Keselamatan Rantaian Bekalan
- Pengurusan Kebergantungan: 🟥️ Urus kebergantungan pihak ketiga dengan selamat. Ini termasuk menjejak kebergantungan, memastikan ia dikemas kini dan mengimbasnya untuk kerentanan.
- Integriti Pakej: 🟥️ Sahkan integriti dan ketulenan pakej. Ini boleh menghalang pengguna berniat jahat daripada menyuntik pakej berniat jahat.
- Pengesahan Sumber: 🔶 Sahkan sumber semua kod dan kebergantungan. Ini boleh membantu memastikan kod itu datang daripada sumber yang dipercayai.
- Bina Keselamatan: 🔶 Pastikan proses binaan itu selamat. Ini termasuk menggunakan alatan binaan yang selamat dan memastikan persekitaran binaan itu selamat.
Pemantauan dan Pengelogan
- Pengesanan Anomali: 🟥️ Mengesan dan melaporkan corak aktiviti yang tidak normal. Ini boleh membantu mengenal pasti aktiviti berniat jahat.
- Pengelogan Terperinci: 🟥️ Log semua aktiviti perkhidmatan dan insiden keselamatan. Ini boleh membantu menyiasat insiden keselamatan.
- Makluman Insiden Keselamatan: 🟥️ Konfigurasikan makluman masa nyata untuk insiden keselamatan kritikal. Ini boleh membantu bertindak balas terhadap insiden keselamatan tepat pada masanya.
- Pengurusan Log Terpusat: 🔶 Kumpul dan analisis log secara terpusat. Ini boleh memberikan pandangan yang lebih komprehensif tentang insiden keselamatan.
- Integriti Log: 🔶 Pastikan integriti log untuk mengelakkan gangguan. Ini boleh menghalang pengguna berniat jahat daripada memadam atau mengubah suai log.
- Keupayaan Audit: 🔶 Sokong audit terperinci dan penyiasatan insiden. Ini boleh membantu menentukan punca insiden keselamatan.
Pengasingan Persekitaran Panggilan
- Pengasingan Antara MCP: 🟥️ Pastikan pengasingan operasi antara berbilang perkhidmatan MCP. Ini boleh menghalang perkhidmatan MCP berniat jahat daripada menjejaskan perkhidmatan MCP lain.
- Kawalan Akses Sumber: 🟥️ Berikan sempadan kebenaran akses sumber yang jelas untuk setiap perkhidmatan MCP. Ini boleh menghadkan sumber yang boleh diakses oleh perkhidmatan MCP berniat jahat.
- Pemisahan Kebenaran Alat: 🔶 Alatan dalam domain yang berbeza menggunakan set kebenaran yang berbeza. Ini boleh mengurangkan kerosakan yang disebabkan oleh alatan berniat jahat.
Keserasian dan Keselamatan Platform
- Pengasingan Sumber Sistem: 🟥️ Laksanakan dasar pengasingan sumber yang sesuai mengikut ciri sistem pengendalian yang berbeza. Ini boleh menghalang perkhidmatan berniat jahat daripada menjejaskan perkhidmatan atau sistem lain.
- Ujian Keserasian Rentas Platform: 🔶 Uji konsistensi tingkah laku keselamatan perkhidmatan MCP pada sistem pengendalian dan klien yang berbeza. Ini boleh memastikan perkhidmatan itu selamat pada semua platform.
- Penilaian Risiko Khusus Platform: 🔶 Nilaikan risiko keselamatan unik dan langkah mitigasi platform tertentu. Ini boleh membantu mengenal pasti dan mengurangkan risiko keselamatan khusus platform.
- Pengendalian Perbezaan Klien: 🔶 Pastikan kawalan keselamatan boleh menyesuaikan diri dengan perbezaan dalam pelbagai pelaksanaan klien. Ini boleh memastikan perkhidmatan itu selamat dengan semua klien.
Keselamatan dan Privasi Data
- Peminimuman Data: 🟥️ Hanya kumpul dan proses data yang diperlukan. Ini boleh mengurangkan risiko kebocoran data.
- Penyulitan Data: 🟥️ Data sensitif disulitkan semasa penyimpanan dan penghantaran. Ini boleh menghalang pengguna berniat jahat daripada mengakses maklumat sensitif.
- Pengasingan Data: 🟥️ Data pengguna yang berbeza diasingkan dengan berkesan. Ini boleh menghalang pengguna berniat jahat daripada mengakses data pengguna lain.
- Kawalan Akses Data: 🟥️ Laksanakan kawalan akses data yang ketat. Ini boleh menghadkan akses kepada data.
- Pengenalpastian Data Sensitif: 🟥️ Kenal pasti secara automatik dan kendalikan data sensitif secara khusus. Ini boleh membantu menghalang kebocoran data sensitif.
Keselamatan Sumber
- Kawalan Akses Sumber: 🟥️ Laksanakan kawalan akses sumber yang terperinci. Ini boleh menghadkan akses kepada sumber tertentu.
- Had Sumber: 🔶 Hadkan saiz dan kuantiti sumber individu. Ini boleh menghalang pengguna berniat jahat daripada menghabiskan sumber sistem.
- Keselamatan Templat Sumber: 🔶 Pastikan parameter templat sumber disahkan dan dibersihkan. Ini boleh menghalang pengguna berniat jahat daripada menyuntik kod berniat jahat.
- Penandaan Sumber Sensitif: 🔶 Tandakan dan kendalikan sumber sensitif secara khusus. Ini boleh membantu menghalang kebocoran sumber sensitif.
Keselamatan Pelaksanaan Alat
- Amalan Pengekodan Selamat: 🟥️ Ikut piawaian pengekodan selamat dan amalan terbaik. Ini boleh mengurangkan bilangan kerentanan dalam kod.
- Pengasingan Alat: 🟥️ Pelaksanaan alat adalah dalam persekitaran terkawal untuk mengelakkan kesan peringkat sistem. Ini boleh menghalang alatan berniat jahat daripada menjejaskan perkhidmatan atau sistem lain.
- Pengesahan Input: 🟥️ Sahkan dengan ketat semua input daripada klien. Ini boleh menghalang pengguna berniat jahat daripada menyuntik kod berniat jahat.
- Kawalan Kebenaran Alat: 🟥️ Setiap alat hanya mempunyai kebenaran minimum yang diperlukan untuk menyelesaikan tugas. Ini boleh mengurangkan kerosakan yang disebabkan oleh alatan berniat jahat.
- Pengesahan Data: 🟥️ Sahkan data yang diproses oleh alat untuk mencegah suntikan dan gangguan. Ini boleh menghalang pengguna berniat jahat daripada menyuntik data berniat jahat.
- Kekangan Tingkah Laku Alat: 🟥️ Hadkan skop dan jenis operasi yang boleh dilakukan oleh alat. Ini boleh mengurangkan kerosakan yang disebabkan oleh alatan berniat jahat.
- Keselamatan Maklumat Pemulangan Antara Muka Pihak Ketiga: 🟥️ Sahkan sama ada maklumat pemulangan antara muka seperti yang diharapkan, dan maklumat pemulangan tidak boleh dimasukkan terus ke dalam konteks. Ini boleh menghalang alatan berniat jahat daripada menggunakan antara muka pihak ketiga.
- Pengendalian Ralat: 🔶 Kendalikan ralat dengan selamat tanpa membocorkan maklumat sensitif. Ini boleh menghalang pengguna berniat jahat daripada menggunakan maklumat ralat.
- Pengasingan Ruang Nama: 🔶 Laksanakan pengasingan ruang nama yang ketat untuk alatan yang berbeza. Ini boleh menghalang konflik antara alatan.
Keselamatan Klien MCP/ Keselamatan Hos MCP
Hos ialah persekitaran di mana aplikasi AI dan klien MCP berjalan, dan merupakan titik masuk untuk pengguna akhir berinteraksi dengan sistem AI. Klien ialah komponen dalaman aplikasi AI yang bertanggungjawab untuk berkomunikasi dengan perkhidmatan MCP, mengendalikan konteks, panggilan alat dan paparan hasil. Berikut ialah pertimbangan untuk melindungi klien dan hos MCP:
Keselamatan Interaksi Pengguna
*Keselamatan Antara Muka Pengguna: 🟥️ Antara muka pengguna memaparkan dengan jelas skop kebenaran dan potensi kesan operasi AI, memberikan penunjuk keselamatan intuitif. Ini boleh membantu pengguna memahami kebenaran yang mereka berikan kepada AI.
- Pengesahan Operasi Sensitif: 🟥️ Operasi berisiko tinggi (seperti pemadaman fail, pemindahan dana) memerlukan pengesahan pengguna yang jelas. Ini boleh menghalang pengguna daripada melakukan operasi berisiko tinggi secara tidak sengaja.
- Permintaan Kebenaran Telus: 🟥️ Permintaan kebenaran menyatakan dengan jelas tujuan dan skop, membantu pengguna membuat keputusan termaklum dan mengelakkan kebenaran yang berlebihan. Ini boleh membantu pengguna memahami kebenaran yang mereka berikan kepada AI.
- Visualisasi Operasi: 🔶 Panggilan alat dan akses data boleh dilihat oleh pengguna dan boleh diaudit, menyediakan log operasi terperinci. Ini boleh membantu pengguna memahami operasi yang sedang dilakukan oleh AI.
- Ketelusan Maklumat: 🔶 Alat hendaklah membenarkan pengguna sama ada memaparkan teg tersembunyi secara lalai, memastikan bahawa pengguna melihat konteks yang dijana dan dipanggil adalah lengkap dan konsisten, dan menghalang sebarang logik berniat jahat daripada wujud dalam teg tersembunyi.
- Maklum Balas Status: 🔶 Pengguna boleh memahami dengan jelas operasi MCP yang sedang dijalankan.
Kawalan dan Pemantauan AI
- Rekod Operasi: 🟥️ Rekod semua operasi AI penting dan hasilnya. Ini boleh membantu menyiasat insiden keselamatan.
- Pengesanan Anomali: 🔶 Mengesan corak panggilan alat atau urutan permintaan yang tidak normal. Ini boleh membantu mengenal pasti aktiviti berniat jahat.
- Had Panggilan Alat: 🔶 Laksanakan had kekerapan dan kuantiti panggilan alat. Ini boleh menghalang pengguna berniat jahat daripada menyalahgunakan alatan.
Keselamatan Storan Tempatan
- Storan Selamat Kelayakan: 🟥️ Gunakan rantai kunci sistem atau storan disulitkan khusus untuk melindungi kelayakan pengesahan untuk kelayakan penting, mencegah akses tanpa kebenaran. Ini boleh menghalang pengguna berniat jahat daripada mengakses kelayakan.
- Pengasingan Data Sensitif: 🔶 Laksanakan mekanisme pengasingan data untuk menyimpan dan memproses data pengguna sensitif secara berasingan daripada data biasa. Ini boleh menghalang pengguna berniat jahat daripada mengakses data sensitif.
Keselamatan Aplikasi
- Integriti Aplikasi: 🟥️ Sahkan integriti aplikasi dan pemalam MCP untuk mencegah gangguan. Ini boleh menghalang pengguna berniat jahat daripada mengubah suai aplikasi.
- Pengesahan Kemas Kini: 🔶 Kemas kini aplikasi Hos disahkan melalui tandatangan digital. Ini boleh memastikan kemas kini datang daripada sumber yang dipercayai.
- Kotak Pasir Aplikasi: 🟢️ Cuba jalankan aplikasi dalam persekitaran kotak pasir untuk menghadkan akses sistem. Ini boleh mengurangkan kerosakan yang disebabkan oleh aplikasi berniat jahat.
Pengesahan dan Kebenaran Klien
- Pengesahan Paksa: 🟥️ Penguatkuasaan pengesahan sebelum berkomunikasi dengan mana-mana perkhidmatan MCP penting, mencegah akses tanpa nama. Ini boleh menghalang pengguna tanpa kebenaran daripada mengakses perkhidmatan.
- Pelaksanaan OAuth: 🔶 Laksanakan dengan betul OAuth 2.1 atau proses versi yang lebih tinggi, mengikut amalan terbaik dan piawaian keselamatan. Ini boleh memastikan pengesahan adalah selamat.
- Parameter Status: 🔶 Laksanakan parameter status untuk beberapa klien web untuk mencegah serangan CSRF, menggunakan nilai rawak yang unik untuk setiap permintaan. Ini boleh menghalang serangan permintaan rentas tapak palsu (CSRF).
Pengurusan Alat dan Pelayan MCP
- Pengesahan Alat MCP: 🟥️ Sahkan ketulenan dan integriti alat pendaftaran. Ini boleh menghalang alatan berniat jahat daripada didaftarkan.
- Kemas Kini Selamat: 🟥️ Klien MCP kerap menyemak dan menggunakan kemas kini keselamatan, mengesahkan sama ada alatan yang dikemas kini mengandungi perihalan berniat jahat. Ini boleh memastikan alatan itu dikemas kini dan tidak mengandungi kod berniat jahat.
- Semakan Nama Fungsi: 🟥️ Semak konflik nama dan potensi tindanan berniat jahat sebelum mendaftarkan alatan. Ini boleh menghalang alatan berniat jahat daripada menindih alatan sedia ada.
- Pengesanan MCP Berniat Jahat: 🟥️ Pantau dan kenal pasti corak tingkah laku MCP yang berpotensi berniat jahat. Ini boleh membantu mengenal pasti MCP berniat jahat.
- Kawalan Penamaan Alat MCP: 🔶 Gunakan ruang nama atau pengecam unik untuk mencegah konflik penamaan. Ini boleh menghalang konflik antara alatan.
- Direktori Perkhidmatan: 🔶 Kekalkan direktori yang dibenarkan bagi perkhidmatan dan alatan MCP yang dipercayai. Ini boleh membantu pengguna mencari perkhidmatan yang dipercayai.
- Penyelesaian Konflik: 🔶 Terdapat peraturan yang jelas untuk menyelesaikan konflik alat dengan nama yang sama.
- Pengasingan Domain: 🔶 Alat dalam domain yang berbeza diasingkan antara satu sama lain untuk mengelakkan pengaruh silang.
- Mekanisme Keutamaan: 🔶 Wujudkan peraturan keutamaan fungsi yang jelas untuk mengelakkan tindanan berniat jahat.
- Kawalan Versi: 🔶 Laksanakan kawalan versi pada fungsi dan alatan untuk mengesan perubahan.
- Mekanisme Pendaftaran dan Pembatalan Alat: 🔶 Jelas tentukan proses pendaftaran dan pembatalan alatan untuk mencegah risiko keselamatan alatan legasi.
- Mekanisme Pengesanan Konflik: 🔶 Mengesan dan menyelesaikan konflik fungsi dan sumber dalam persekitaran berbilang MCP.
- Pengelasan Alat: 🟢️ Klasifikasikan alatan mengikut sensitiviti dan tahap risiko.
Keselamatan Gesaan
- Pertahanan Suntikan Gesaan: 🟥️ Laksanakan langkah pertahanan berbilang lapisan untuk mencegah serangan suntikan gesaan, termasuk pengesahan manual pelaksanaan kritikal.
- Pengesanan Arahan Berniat Jahat: 🟥️ Wujudkan mekanisme untuk mengesan dan menyekat arahan pengguna yang berpotensi berniat jahat untuk mengelakkan sistem daripada dimanipulasi, seperti mengesan dan menyekat arahan berniat jahat pramuat semasa permulaan tempatan dan alatan berniat jahat daripada pelayan MCP pihak ketiga yang mengandungi arahan berbahaya tersembunyi.
- Perlindungan Gesaan Sistem: 🟥️ Gesaan sistem diasingkan dengan jelas daripada input pengguna untuk mencegah gangguan.
- Penapisan Data Sensitif: 🟥️ Tapis data peribadi sensitif daripada gesaan dan konteks.
- Pengasingan Konteks: 🔶 Pastikan kandungan konteks daripada sumber yang berbeza diasingkan antara satu sama lain untuk mengelakkan pencemaran konteks dan kebocoran maklumat.
- Templat Gesaan: 🔶 Gunakan templat gesaan yang selamat untuk mengurangkan risiko suntikan.
- Pengesahan Perihalan Alat: 🔶 Semak perihalan alat untuk potensi arahan berniat jahat.
- Pengesahan Konsistensi Gesaan: 🔶 Pastikan gesaan yang sama menghasilkan hasil yang konsisten dan boleh diramalkan dalam persekitaran yang berbeza.
- Pengurusan Konteks Sejarah: 🔶 Jelas tentukan mekanisme pembersihan selamat konteks sejarah untuk mencegah risiko kebocoran maklumat yang disebabkan oleh pengumpulan data lama.
Log dan Audit
- Pengelogan Klien: 🟥️ Log semua interaksi dengan perkhidmatan MCP, panggilan alat dan aktiviti kebenaran.
- Log Insiden Keselamatan: 🟥️ Log semua insiden berkaitan keselamatan, termasuk kegagalan kebenaran.
- Makluman Anomali: 🔶 Mengesan dan memaklumkan corak aktiviti yang tidak normal.
Pengesahan Pelayan dan Keselamatan Komunikasi
- Pengesahan Identiti Pelayan: 🟥️ Sahkan identiti pelayan MCP untuk mengelakkan sambungan ke pelayan berniat jahat, melaksanakan pin sijil.
- Pengesahan Sijil: 🟥️ Sahkan dengan ketat sijil TLS pelayan jauh untuk mencegah serangan orang tengah, semak integriti rantaian sijil.
- Penyulitan Komunikasi: 🟥️ Semua komunikasi klien-pelayan menggunakan penyulitan TLS 1.2+, melumpuhkan suite penyulitan yang lemah.
- Konfigurasi Protokol Selamat: 🔶 Konfigurasikan parameter TLS yang selamat, audit dan kemas kini algoritma penyulitan dan protokol dengan kerap.
Storan dan Pengurusan Token Kebenaran
- Had Skop Kebenaran: 🟥️ Hadkan dengan ketat skop kebenaran token, laksanakan prinsip keistimewaan paling minimum.
Kawalan Kelulusan Automatik
- Had Kelulusan Automatik: 🟥️ Kawal dengan ketat skop alatan dan operasi yang boleh diluluskan secara automatik.
- Pengurusan Senarai Putih: 🔶 Jelas tentukan mekanisme senarai putih untuk alatan yang boleh diluluskan secara automatik.
- Penilaian Risiko Dinamik: 🔶 Laraskan secara dinamik dasar kelulusan automatik berdasarkan konteks.
- Audit Proses Kelulusan: 🔶 Log dan audit semua keputusan kelulusan automatik.
Keselamatan Pensampelan
- Kawalan Kandungan Konteks: 🟥️ Kawal dengan ketat skop konteks yang disertakan dalam permintaan pensampelan.
- Penapisan Data Sensitif: 🟥️ Tapis data sensitif daripada permintaan dan respons pensampelan.
- Pengesahan Permintaan Pensampelan: 🔶 Sahkan semua parameter dan kandungan permintaan pensampelan.
- Kawalan Pengguna: 🔶 Pastikan pengguna mempunyai kawalan yang jelas ke atas permintaan dan hasil pensampelan.
- Keselamatan Keutamaan Model: 🔶 Kendalikan maklumat keutamaan model dengan selamat untuk mencegah penyalahgunaan.
- Pengesahan Hasil: 🔶 Sahkan sama ada hasil pensampelan mematuhi piawaian keselamatan.
Keselamatan Penyesuaian dan Panggilan MCP pada LLM yang Berbeza
Bahagian belakang LLM yang berbeza mungkin mempunyai perbezaan dalam keutamaan panggilan dan logik pelaksanaan MCP, jadi perlu diberi perhatian kepada keselamatan gabungan LLM dan MCP.
Pelaksanaan Selamat LLM
- Pelaksanaan Fungsi Keutamaan: 🟥️ Pastikan LLM boleh melaksanakan fungsi pemalam yang betul dengan keutamaan.
- Perlindungan Gesaan Berniat Jahat: 🟥️ LLM boleh mengenal pasti dan melindungi terhadap tingkah laku yang diperlukan oleh mnemonic yang disuntik dalam senario gesaan berniat jahat.
- Panggilan Selamat: 🟥️ LLM boleh memanggil fungsi MCP yang berkaitan dengan selamat dan betul.
- Perlindungan Maklumat Sensitif: 🟥️ Mencegah kebocoran maklumat sensitif.
Keselamatan Berbilang Modal
- Penapisan Kandungan Berbilang Modal: 🟥️ Tapis maklumat berbahaya atau sensitif dalam kandungan berbilang modal (seperti gesaan berniat jahat dalam gambar).
Keselamatan Senario Berbilang MCP
Apabila berbilang pelayan MCP didayakan serentak, disebabkan kekurangan audit rasmi, pengguna mungkin memasang MCP berniat jahat, menyebabkan ancaman kepada keselamatan keseluruhan.
- Keselamatan Persekitaran Berbilang MCP: 🟥️ Pastikan keselamatan keseluruhan persekitaran berbilang MCP, dan imbas dan periksa MCP yang dipasang dengan kerap.
- Perlindungan Rampasan Keutamaan Fungsi: 🟥️ Semak potensi pratetapan gesaan berniat jahat untuk mencegah keutamaan fungsi daripada dirampas secara berniat jahat.
- Kawalan Panggilan Fungsi Rentas MCP: 🟥️ Kawal dengan selamat panggilan fungsi rentas MCP untuk menghalang MCP berniat jahat daripada mengembalikan gesaan berniat jahat untuk memanggil MCP lain untuk melaksanakan operasi sensitif.
Titik Keselamatan Unik MCP Berkaitan Mata Wang Kripto
MCP yang berkaitan dengan mata wang kripto biasanya mempunyai fungsi mengurus dompet mata wang kripto, yang mempunyai risiko tinggi.
- Perlindungan Kunci Peribadi: 🟥️ Kukuhkan langkah perlindungan keselamatan kunci peribadi, seperti Scrypt.
- Keselamatan Generasi Dompet: 🟥️ Jaminan keselamatan untuk proses penjanaan mnemonic atau dompet.
- Privasi Maklumat Dompet: 🟥️ Lindungi privasi maklumat dompet, dan penapisan perlu dilakukan apabila meminta maklumat dompet antara muka pihak ketiga.
- Pengesahan Maklumat Pemindahan: 🟥️ Maklumat tandatangan pemindahan pada rantaian atau pertukaran perlu dipaparkan dan disahkan sepenuhnya.
- Pengesahan Operasi Dana: 🟥️ Pengesahan kedua diperlukan untuk operasi dana penting, seperti Google Authenticator.
- Perlindungan Privasi Model Tempatan: 🔶 Gunakan model besar tempatan untuk melindungi data privasi, dan mencegah vendor model besar pihak ketiga daripada memperoleh maklumat sensitif seperti maklumat dompet anda.
- Keserasian Dompet Tradisional: 🔶 Keserasian selamat dompet tradisional, seperti menyokong operasi tandatangan dengan dompet tradisional.