2 poin oleh GN⁺ 2025-04-07 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2025-04-07
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

    • Berlawanan dengan kecurigaan banyak orang, masalah keamanan pada pemanggilan tool LLM bergaya MCP bukan terletak pada mengisolasi implementasi server MCP yang berbeda satu sama lain
    • Implementasi server MCP yang berjalan secara lokal harus divalidasi oleh package manager yang digunakan untuk instalasi (server MCP jarak jauh justru sebenarnya lebih sulit diverifikasi)
    • Masalahnya adalah bentuk khusus dari indirect prompt injection yang muncul ketika MCP digunakan dalam sistem agen
    • Karena agen memasukkan spesifikasi semua server MCP yang terpasang dalam konteks yang sama, server MCP yang tidak tepercaya dapat dengan mudah memanipulasi perilaku server MCP lain (misalnya server yang bisa mengakses database sensitif). Ini disebut tool shadowing
    • Selain itu, karena sifat MCP yang dinamis, server MCP dapat mengubah set tool yang disediakannya hanya untuk pengguna tertentu. Ini berarti server MCP bisa berubah menjadi jahat kapan saja
    • Klien MCP saat ini, Claude dan Cursor, tidak memberi tahu perubahan semacam ini, sehingga agen dan pengguna menjadi rentan
    • Bagi yang tertarik lebih jauh, silakan lihat posting blog yang lebih rinci di [1]. Kami sudah lama meneliti dan mengerjakan keamanan agen di Invariant
    • Kami juga merilis snippet kode yang bisa dicoba semua orang, termasuk serangan tool poisoning terhadap server MCP WhatsApp yang populer [2]
  • 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

    • Server MCP menjalankan kode pada level pengguna, jadi tidak perlu menipu AI agar membaca kunci SSH. Ia bisa langsung membacanya
    • Sisanya pada dasarnya adalah keluhan yang sama yang juga bisa diarahkan ke tool/ekosistem pengembang lain (NPM atau VS Code Extensions)
  • Tantangannya adalah membayangkan desain yang lebih baik yang:

      1. memiliki standar keamanan yang layak sehingga orang tidak menulis artikel berjudul "S berarti security"
      1. memungkinkan program menyediakan himpunan kemampuan yang sama dengan yang saat ini ditawarkan MCP paling berguna, tanpa mengubah fitur otomatis menjadi sesuatu yang memerlukan konfirmasi manual pengguna, dan secara umum tanpa meniadakan tujuan utama dari keseluruhan gagasan ini
      1. tidak mengunci semuanya ke marketplace tertutup dengan penjaga gerbang korporat
    • Saya ingin melihat usulan, karena sejauh ini yang saya lihat hanya "MCP tidak aman!!!111" yang umum dan tidak spesifik. Ini makin sulit ketika orang lupa bahwa keamanan dan kegunaan adalah dua kekuatan yang saling bertentangan
  • Artikelnya bagus, tetapi saya penasaran apakah semua ini dibuat oleh AI

    • Foto profilnya terlihat seperti dibuat dengan StableDiffusion, akunnya dibuat hari ini, dan tidak ada artikel sebelumnya
    • Saya juga tidak bisa menemukan referensi lain tentang Elena Cross
  • O berarti observability. Minggu ini saya sangat tenggelam dalam menjelajahi dan menulis server MCP

    • Sebagian besar implementasi, termasuk implementasi mainan saya, tidak memiliki audit atau metrik. Claude memang menyimpan output log server MCP, tetapi itu untuk debugging, bukan untuk DevOps/SecOps
    • Secara budaya, masalah yang dijelaskan OP adalah masalah besar bagi orang-orang nonteknis. Di subreddit terkait, orang-orang sedang asyik menjalankan program MCP CLI di mesin mereka sendiri
    • Komentar keamanan dari OP jelas bagi pengembang, tetapi pengguna seperti ini tidak punya perspektif tentang seberapa berbahayanya hal itu
    • Orang-orang sedang belajar tentang Docker, dan Claude memasukkan penggunaannya dalam contoh-contohnya. Namun kebanyakan orang hanya mengunduh blob lalu menjalankannya. Orang-orang sedang asal membuat kode dan menjalankan server MCP
    • Seiring MCP menyebar, framework dan tool akan berkembang untuk mendukung keamanan, observability, dan sebagainya. Ini seperti membangun web pada pertengahan 90-an
    • Tidak terkait dengan OP, tetapi saat membangun ini, sangat menarik bisa mengetik sesuatu di Claude Desktop lalu memicu breakpoint di VSCode
  • 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?

    • Misalkan ada server MCP yang dapat memodifikasi file system lokal dan server MCP lain yang memodifikasi objek di cloud storage. Bagaimana pengguna bisa menjamin agen LLM membuat pilihan yang benar?
    • Kita ingin memberi banyak opsi dan tidak mengawasi setiap tindakan, tetapi itu juga tampaknya bisa menimbulkan lebih banyak masalah
  • Lebih dari 43% implementasi server MCP yang diuji Equixly memiliki pemanggilan shell yang tidak aman

    • Bagaimana bisa kita jatuh ke jebakan yang sama setiap saat
  • 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