"S" dalam MCP berarti keamanan
(elenacross7.medium.com)- MCP adalah protokol standar yang menghubungkan LLM dan alat, tetapi pada dasarnya tidak menerapkan keamanan secara default
- Ada berbagai kerentanan keamanan seperti injeksi perintah, peracunan alat, dan manipulasi definisi
- MCP sulit dipercaya karena tidak memiliki fitur autentikasi, enkripsi, maupun verifikasi integritas
- Untuk saat ini, respons terbaik adalah memperoleh visibilitas dan kontrol dengan alat seperti ScanMCP
Apa itu MCP dan mengapa penting
- MCP adalah singkatan dari Model Context Protocol, standar baru untuk cara LLM seperti Claude, GPT, dan Cursor terintegrasi dengan alat dan data
- MCP menyediakan cara koneksi yang terstandarisasi sehingga dijuluki sebagai "USB-C untuk agen AI"
- Melalui MCP, agen AI dapat melakukan fungsi berikut
- Terhubung ke alat dengan API yang terstandarisasi
- Mempertahankan status sesi
- Menjalankan perintah (dan bisa berjalan terlalu bebas)
- Berbagi konteks antar alur kerja
- Namun, secara default keamanan tidak diterapkan
- Ada risiko terbukanya side channel yang memungkinkan akses ke sistem tanpa sepengetahuan pengguna
Kerentanan keamanan utama yang muncul di MCP
-
Kerentanan injeksi perintah (riset Equixly)
- Hingga tahun 2025, eksekusi kode jarak jauh (RCE) melalui injeksi perintah masih terjadi
- Menurut investigasi Equixly, lebih dari 43% implementasi server MCP menggunakan pemanggilan shell yang tidak aman
- Penyerang dapat menyisipkan perintah shell ke nilai input alat untuk mengeksekusi kode jarak jauh melalui agen tepercaya
-
Peracunan alat (Tool Poisoning, Invariant Labs)
- Penyerang menyembunyikan perintah berbahaya di dalam deskripsi alat
- Tidak terlihat oleh pengguna, tetapi AI mengenali dan mengeksekusinya apa adanya
- Alat yang tampak seperti operasi matematika sederhana sebenarnya bisa membaca kunci SSH atau file konfigurasi sensitif dari sistem pengguna
-
Redefinisi alat secara diam-diam (Rug Pull)
- Alat dapat mengubah definisinya sendiri setelah dipasang
- Alat yang normal pada Day 1 bisa berubah menjadi alat pengumpul API key milik penyerang pada Day 7
- Ini adalah bentuk baru dari masalah keamanan rantai pasok yang terjadi di dalam LLM
-
Pembayangan alat lintas server
- Saat beberapa server MCP terhubung ke satu agen, server berbahaya dapat mencegat atau menimpa pemanggilan server tepercaya
- Akibatnya, masalah berikut dapat terjadi
- Mengirim email ke penyerang sambil berpura-pura mengirim ke pengguna
- Menyuntikkan logika tersembunyi ke alat
- Mengeksfiltrasi data yang sudah dikodekan
Mengapa MCP masih belum aman
- MCP memprioritaskan hal-hal berikut
- ✅ Integrasi yang mudah
- ✅ Antarmuka yang seragam
- Namun, masih kekurangan hal-hal berikut
- ❌ Tidak ada standar autentikasi
- ❌ Tidak ada enkripsi konteks
- ❌ Integritas alat tidak dapat diverifikasi
- Pengguna tidak bisa mengetahui deskripsi seperti apa yang sebenarnya dipakai agen untuk menggunakan alat
Respons keamanan yang dapat dilakukan pengembang dan operator platform
-
Pengembang
- Wajib melakukan validasi input
- Mengunci versi server dan alat MCP (pinning)
- Menghapus informasi sensitif dari deskripsi alat
-
Operator platform
- Menampilkan seluruh metadata alat kepada pengguna
- Menggunakan hash integritas saat server diperbarui
- Menerapkan keamanan sesi secara wajib
-
Pengguna
- Jangan terhubung ke server MCP yang tidak tepercaya
- Pantau log sesi seperti memantau lingkungan produksi
- Awasi pembaruan alat yang mencurigakan
Usulan ide ScanMCP.com
- ScanMCP diusulkan sebagai pemindai dan dashboard yang melakukan hal-hal berikut
- Mengaudit alat MCP yang terhubung
- Mendeteksi risiko seperti RCE, peracunan alat, dan kebocoran sesi
- Membandingkan dan memvisualisasikan informasi yang dilihat pengguna vs. informasi yang dikenali agen
- Ini dapat berguna bagi pengguna seperti berikut
- Tim keamanan platform agen
- Startup infrastruktur AI
- Pengembang independen yang ingin membuat alat berbasis kepercayaan
Pemikiran penutup
MCP adalah protokol yang kuat, tetapi diadopsi terlalu cepat ketika tingkat kematangan keamanan API masih kurang
Sebelum pendekatan secure-by-default diterapkan, alat seperti ScanMCP.com adalah cara terbaik untuk mendapatkan visibilitas dan kontrol
- Kesimpulan: "S" dalam MCP bukan berarti Security. Tetapi seharusnya begitu
1 komentar
Komentar Hacker News
Tulisan ini menyoroti dan mengutip skenario serangan yang dijelaskan dalam catatan keamanan yang dirilis Invariant Labs beberapa hari lalu (tool poisoning, shadowing, MCP rug pull). Saya adalah penulis posting blog tersebut
Serangan-serangan ini sebagian besar hanyalah contoh lain dari berada di sisi yang salah dari airlock. Ini tidak melampaui batas izin, hanya melakukan hal-hal yang sebenarnya sudah bisa dilakukan dengan cara yang aneh
Tantangannya adalah membayangkan desain yang lebih baik yang:
Artikelnya bagus, tetapi saya penasaran apakah semua ini dibuat oleh AI
O berarti observability. Minggu ini saya sangat tenggelam dalam menjelajahi dan menulis server MCP
Benar. Saya juga berpikir begitu, walaupun saat menerbitkan catatan saya tidak membahasnya terlalu dalam
Bahkan ketika software yang digunakan tidak jahat dan diimplementasikan dengan aman, bagaimana kita memastikan bahwa software itu digunakan dengan cara yang kita inginkan?
Lebih dari 43% implementasi server MCP yang diuji Equixly memiliki pemanggilan shell yang tidak aman
Saya penasaran apa sebenarnya MCP itu. Saya sudah beberapa kali mencoba membaca dokumentasinya, tetapi tidak bisa memahami masalah apa yang sebenarnya ingin diselesaikan. Terutama, apa yang istimewa dari AI agent di sini yang tidak berlaku untuk agen deterministik yang sudah ada selama puluhan tahun
Saya mengira tujuan keseluruhan MCP adalah agar Anthropic bisa menguping prompt dan output serta memaksimalkan data pelatihan. Baru kali ini saya tahu bahwa ini adalah middleware untuk semua model AI