• Home
  • Tips
  • Keamanan MCP: 6 Cara Membatasi Akses AI Agent ke Server

Keamanan MCP: 6 Cara Membatasi Akses AI Agent ke Server

Oleh Ratna Patria
Keamanan MCP: 6 Cara Membatasi Akses AI Agent ke Server 1

Bayangkan sebuah AI agent mendapatkan tugas sederhana untuk memperbaiki kesalahan konfigurasi pada satu file. Masalah dapat muncul ketika agent tersebut ternyata mempunyai akses tulis ke seluruh direktori production, sementara instruksi yang diberikan pengguna tidak menjelaskan batas perubahan secara spesifik.

Dalam kondisi seperti itu, masalahnya bukan sekadar apakah model AI cukup pintar memahami instruksi. Masalah sebenarnya terletak pada seberapa besar akses yang diberikan kepada agent dan seberapa jauh sistem membatasi tindakan yang dapat dijalankannya.

Keamanan MCP membahas kontrol yang menentukan siapa yang dapat mengakses MCP Server, resource apa yang dapat dibaca, tool apa yang boleh dipanggil, serta tindakan mana yang membutuhkan izin tambahan.

Kontrol tersebut menjadi semakin penting ketika Model Context Protocol digunakan untuk menghubungkan AI agent dengan file, database, repository, server, atau layanan lain yang mempunyai dampak langsung terhadap environment production.

Kenapa Keamanan MCP Perlu Dipikirkan Sejak Awal?

Model Context Protocol atau MCP merupakan protokol terbuka yang membantu aplikasi AI terhubung dengan data, tool, dan layanan eksternal. Jika kamu belum mengenal konsep tersebut, pembahasan mengenai apa itu MCP dan cara kerjanya dapat membantu memahami arsitekturnya sebelum membahas sisi keamanan.

Pada implementasinya, MCP Server dapat mengekspos tool yang hanya membaca informasi, tetapi server yang sama juga dapat menyediakan kemampuan untuk mengubah file, menjalankan deployment, memperbarui database, atau mengubah konfigurasi tertentu.

Artinya, satu koneksi MCP dapat mempunyai dampak yang sangat berbeda tergantung tool dan permission yang diberikan kepada AI agent.

Kamu dapat membayangkan MCP Server seperti resepsionis yang mengatur akses menuju berbagai ruangan. Sistem harus memastikan identitas pengunjung, menentukan ruangan yang boleh dimasuki, serta membatasi tindakan yang boleh dilakukan di dalam ruangan tersebut.

Keamanan MCP karena itu tidak cukup hanya mengandalkan satu password. Sistem membutuhkan beberapa lapisan kontrol yang bekerja bersama.

Apa Perbedaan Risiko MCP dengan API Konvensional?

MCP dan API sama-sama memungkinkan dua sistem saling berkomunikasi, tetapi pola pengambilan keputusannya dapat berbeda.

Pada aplikasi berbasis API konvensional, developer biasanya menentukan endpoint, kondisi, parameter, dan urutan eksekusi melalui kode. Jika kamu ingin memahami fondasinya lebih dahulu, pembahasan mengenai API dan cara kerjanya dapat memberikan konteks tambahan.

Pada workflow MCP berbasis AI agent, model dapat memilih tool berdasarkan instruksi pengguna dan konteks yang sedang diproses.

Aspek API Konvensional MCP + AI Agent
Pemilihan operasi Aplikasi atau developer menentukan operasi AI dapat memilih tool berdasarkan instruksi dan konteks
Prediktabilitas Relatif tinggi karena alur ditentukan kode Dapat lebih bervariasi karena model menginterpretasikan konteks
Kontrol utama Endpoint, autentikasi, validasi, dan business logic Permission, tool, autentikasi, konteks, approval, dan business logic
Risiko tambahan Bug, injection, atau kesalahan konfigurasi Prompt injection, excessive privilege, tool poisoning, dan context manipulation

Perbedaan tersebut tidak berarti MCP secara otomatis lebih berbahaya daripada API. MCP hanya membutuhkan model keamanan yang memperhitungkan fakta bahwa model AI dapat ikut menentukan kemampuan mana yang perlu digunakan.

Karena itu, kamu sebaiknya tidak hanya bertanya, “Apakah agent boleh masuk?”, tetapi juga bertanya, “Apa saja yang boleh dilakukan agent setelah berhasil masuk?”

keamanan MCP

1. Terapkan Autentikasi dan Otorisasi secara Terpisah

Autentikasi menjawab pertanyaan mengenai identitas pihak yang terhubung. Otorisasi menentukan resource dan tindakan yang boleh digunakan setelah identitas tersebut berhasil diverifikasi.

Kedua mekanisme tersebut tidak boleh dianggap sebagai satu kontrol yang sama.

MCP telah mengembangkan framework otorisasi berbasis OAuth untuk penggunaan melalui transport HTTP. OAuth membantu server menggunakan token, scope, dan mekanisme otorisasi yang lebih terstruktur daripada membagikan satu kredensial utama kepada semua client.

Namun, OAuth tidak otomatis membuat implementasi MCP aman. Server tetap harus memeriksa scope, audience, resource yang diminta, serta tindakan yang boleh dilakukan oleh token tersebut.

Pada implementasi praktis, kamu dapat menerapkan beberapa aturan berikut.

  • Sistem sebaiknya menggunakan token atau kredensial MCP yang terpisah dari password akun utama.
  • Sistem sebaiknya membatasi setiap token menggunakan scope sesuai kebutuhan pekerjaan.
  • Tim sebaiknya memisahkan kredensial staging dan production agar agent tidak dapat berpindah environment tanpa izin.
  • Sistem sebaiknya memberikan masa berlaku terbatas kepada token yang tidak perlu aktif secara permanen.
  • Administrator sebaiknya dapat mencabut akses agent tanpa harus mengganti kredensial utama seluruh akun.

Prinsip tersebut juga berlaku ketika kamu menggunakan akses server berbasis kunci. Panduan membuat SSH key di Cloud VPS dapat menjadi referensi ketika kamu ingin memisahkan akses berbasis key dari password akun utama.

2. Jadikan Least Privilege sebagai Batas Utama AI Agent

Least privilege berarti AI agent hanya memperoleh permission yang benar-benar dibutuhkan untuk menyelesaikan pekerjaan.

Prinsip ini sangat penting karena agent dapat memproses instruksi, memilih tool, serta berinteraksi dengan data yang berasal dari berbagai sumber.

Sebagai contoh, sebuah agent yang bertugas memeriksa konfigurasi website sebenarnya hanya membutuhkan kemampuan membaca file. Agent tersebut tidak perlu memperoleh akses untuk menghapus file, memperbarui DNS, mengubah database, atau menjalankan deployment.

Jika agent diberi Full access sejak awal, satu interpretasi instruksi yang salah dapat mempunyai dampak jauh lebih besar daripada tugas awalnya.

Kamu dapat menerapkan least privilege menggunakan pola berikut.

  • Kamu memberikan akses read-only terlebih dahulu untuk pekerjaan audit.
  • Kamu menambahkan akses write hanya pada resource yang memang membutuhkan perubahan.
  • Kamu membatasi direktori agar agent tidak dapat mengakses seluruh filesystem.
  • Kamu memisahkan tool untuk staging dan production.
  • Kamu meminta approval manusia sebelum agent menjalankan perubahan dengan dampak tinggi.
  • Kamu mencabut permission tambahan setelah pekerjaan selesai.

Pendekatan tersebut mempunyai pola yang sejalan dengan implementasi Zero Trust Security, karena setiap identitas dan permintaan tetap harus memperoleh akses sesuai kebutuhan.

Pada tahap ini, pembatasan teknis lebih penting daripada sekadar menuliskan larangan di dalam prompt.

Instruksi seperti “jangan hapus file” dapat membantu mengarahkan model. Namun, sistem akan lebih aman jika tool atau permission yang diberikan memang tidak menyediakan kemampuan menghapus file.

Coba MCP dengan Permission yang Dapat Disesuaikan

Jika kamu ingin mencoba workflow MCP tanpa membangun seluruh integrasi hosting dari awal, Web Hosting DomaiNesia menyediakan AI Agent Access dengan beberapa level permission, mulai dari Containment, Read-only, No destructive, hingga Full access.

Kamu dapat memulai dengan akses paling terbatas, menguji perilaku agent, lalu meningkatkan permission hanya ketika pekerjaan memang membutuhkan kemampuan tambahan.

3. Pisahkan Secret dari Prompt, Repository, dan Source Code

Secret mencakup API key, database credential, access token, MCP Password, dan kredensial lain yang memungkinkan agent terhubung dengan sistem eksternal.

Secret tersebut sebaiknya tidak dituliskan langsung pada prompt atau disimpan di source code.

Masalah akan menjadi lebih serius ketika satu MCP Server memegang kredensial untuk beberapa layanan sekaligus. Kompromi terhadap satu server dapat membuka akses menuju database, repository, layanan cloud, atau sistem lain yang menggunakan kredensial tersebut.

Kamu dapat mengurangi risikonya dengan beberapa tindakan berikut.

  • Aplikasi menyimpan secret melalui environment variable atau secret manager.
  • Tim memisahkan kredensial berdasarkan layanan dan environment.
  • Administrator menggunakan token dengan masa berlaku terbatas jika layanan mendukungnya.
  • Tim menjalankan rotasi kredensial setelah terjadi perubahan anggota atau dugaan kebocoran.
  • Sistem tidak mencatat access token secara utuh di audit log.
  • Pengguna tidak menempelkan secret ke percakapan AI untuk kebutuhan debugging.

OWASP MCP Top 10 juga memasukkan token mismanagement dan secret exposure sebagai salah satu risiko utama MCP. Risiko tersebut menunjukkan bahwa keamanan agent tidak dapat dipisahkan dari cara organisasi mengelola credential.

4. Batasi Tool dengan Allowlist dan Approval

Tool allowlist menentukan kemampuan apa saja yang boleh tersedia untuk AI agent.

Pendekatan ini lebih aman daripada memberikan seluruh tool lalu berharap model memilih tindakan yang tepat setiap saat.

Misalnya, agent untuk audit website dapat memperoleh tool berikut.

  • Agent dapat menggunakan list_directory untuk membaca struktur direktori.
  • Agent dapat menggunakan read_file untuk memeriksa konfigurasi.
  • Agent tidak memperoleh tool delete_file karena tugas audit tidak membutuhkan penghapusan.
  • Agent tidak memperoleh tool shell karena pemeriksaan tidak membutuhkan eksekusi command.

Allowlist juga dapat dilengkapi approval untuk operasi tertentu.

Sebagai contoh, sistem dapat membiarkan agent membaca status deployment secara otomatis, tetapi agent harus meminta persetujuan pengguna sebelum menjalankan deployment baru.

Model seperti ini membuat risiko lebih mudah dikendalikan karena sistem membedakan operasi berdasarkan tingkat dampaknya.

Namun, allowlist tidak menyelesaikan seluruh masalah keamanan MCP. Tool yang memang sudah diizinkan tetap dapat menjadi masalah jika definisi, dependency, atau source-nya telah dimanipulasi.

5. Catat Aktivitas Agent melalui Audit Log

Audit log memberikan rekam jejak mengenai tindakan yang dilakukan melalui MCP Server.

Log yang baik sebaiknya mencatat identitas pemanggil, waktu permintaan, tool yang dipanggil, target resource, status operasi, dan hasil eksekusi yang relevan.

Informasi tersebut mempunyai dua fungsi.

Pertama, tim dapat mendeteksi pola aktivitas yang tidak normal. Kedua, tim mempunyai data yang lebih jelas ketika perlu melakukan investigasi setelah insiden.

Sebagai contoh, kamu dapat mendeteksi kondisi berikut melalui audit log.

  • Agent tiba-tiba memanggil tool yang jarang digunakan.
  • Agent mencoba mengakses banyak resource dalam waktu singkat.
  • Sistem menerima beberapa permintaan yang ditolak karena scope tidak sesuai.
  • Agent berulang kali mencoba menjalankan operasi destruktif.
  • Aktivitas terjadi pada jam atau environment yang tidak biasa.

Tim sebaiknya tidak menyimpan secret lengkap pada log. Log juga dapat dikirim ke sistem terpisah agar jejak audit tidak ikut hilang ketika server utama mengalami kompromi.

OWASP MCP Top 10 memasukkan kurangnya audit dan telemetry sebagai salah satu risiko MCP. Artinya, kemampuan mengetahui “apa yang dilakukan agent” sama pentingnya dengan kemampuan membatasi tindakan agent.

6. Verifikasi Asal MCP Server, Tool, dan Dependency

MCP Server pihak ketiga menambahkan risiko supply chain yang berbeda dari server yang kamu bangun dan kelola sendiri.

Tool dapat terlihat aman ketika pertama kali dipasang, tetapi dependency, source code, schema, atau deskripsi tool dapat berubah pada pembaruan berikutnya.

Salah satu risiko yang perlu diperhatikan adalah tool poisoning.

Tool poisoning terjadi ketika tool atau informasi yang menjelaskan tool dimanipulasi agar model mengambil keputusan yang menguntungkan penyerang. Agent dapat menganggap instruksi tersebut sebagai bagian yang valid dari tool karena informasi itu berada pada sumber yang memang dipercaya.

Risiko lain muncul melalui rogue update atau rug pull. MCP Server dapat terlihat aman ketika pertama kali diperiksa, kemudian memperoleh perubahan berbahaya melalui update berikutnya.

Riset Knostic pada 2025 menemukan 1.862 MCP Server yang terekspos ke internet. Dari 119 server yang diverifikasi secara manual, seluruh sampel tersebut mengizinkan permintaan daftar tool tanpa autentikasi. Data tersebut tidak berarti seluruh MCP Server di internet tidak aman, tetapi temuan tersebut menunjukkan bahwa kesalahan konfigurasi akses memang terjadi pada deployment nyata.

Karena itu, tim sebaiknya melakukan beberapa pemeriksaan sebelum menggunakan server pihak ketiga.

  • Tim memeriksa sumber dan reputasi pembuat MCP Server.
  • Tim meninjau source code ketika server tersedia sebagai proyek open source.
  • Administrator mengunci versi dependency yang digunakan pada production.
  • Tim meninjau perubahan sebelum melakukan upgrade.
  • Sistem memantau perubahan tool definition, manifest, dan dependency.
  • Tim menghapus MCP Server yang tidak lagi digunakan.

Dengan pendekatan tersebut, organisasi tidak hanya mengamankan koneksi MCP, tetapi juga memperhatikan rantai software yang berada di belakang koneksi tersebut.

Risiko Apa yang Masih Tersisa?

Enam lapisan kontrol di atas dapat mengurangi risiko secara signifikan, tetapi sistem tetap mempunyai beberapa skenario serangan yang perlu diperhatikan.

Prompt Injection

Prompt injection terjadi ketika konten yang diproses model mengandung instruksi yang dapat memengaruhi perilaku agent.

Serangan tersebut tidak harus berasal langsung dari prompt pengguna. Agent dapat membaca instruksi berbahaya dari website, dokumen, email, database, atau source eksternal lain.

Sebagai contoh, seorang pengguna meminta agent merangkum dokumen. Dokumen tersebut ternyata mengandung instruksi tersembunyi yang mencoba meminta agent membaca file rahasia kemudian mengirimkan isinya melalui tool lain.

OWASP menempatkan prompt injection sebagai risiko utama pada aplikasi berbasis LLM. OWASP MCP Top 10 juga memasukkan prompt injection melalui contextual payload sebagai risiko khusus pada environment MCP.

Least privilege dan tool allowlist tidak menjamin model kebal terhadap prompt injection. Kedua kontrol tersebut bekerja dengan memperkecil dampak jika model berhasil dipengaruhi oleh instruksi berbahaya.

Confused Deputy

Confused deputy terjadi ketika sebuah sistem mempunyai privilege lebih besar daripada pengguna yang memicu tindakan tersebut, lalu privilege itu dimanfaatkan secara tidak semestinya.

Pada environment MCP, risiko tersebut perlu diperhatikan ketika server bertindak sebagai perantara menuju API atau sistem lain.

Server harus memastikan token, scope, audience, dan resource tetap sesuai dengan identitas pengguna yang sebenarnya.

Context Over-Sharing

AI agent juga dapat menerima terlalu banyak konteks untuk pekerjaan yang sederhana.

Misalnya, agent yang hanya membutuhkan satu konfigurasi tidak perlu menerima seluruh database credential, riwayat deployment, data pelanggan, dan file project lain.

Pembatasan konteks bekerja dengan prinsip yang sama seperti least privilege. Sistem memberikan informasi seminimal mungkin sesuai kebutuhan pekerjaan.

Di Mana Posisi WAF dalam Keamanan MCP?

Web Application Firewall atau WAF tetap dapat menjadi bagian dari keamanan infrastruktur ketika MCP Server tersedia melalui HTTP.

Kamu dapat mempelajari fungsi Web Application Firewall untuk memahami bagaimana lapisan tersebut menyaring traffic aplikasi web.

Namun, WAF tidak menggantikan kontrol keamanan MCP.

WAF dapat membantu melindungi permukaan web dari kategori request tertentu, sedangkan permission MCP, least privilege, tool allowlist, OAuth, secret management, dan approval bekerja pada level akses serta tindakan agent.

Dengan kata lain, kedua lapisan tersebut dapat saling melengkapi, tetapi mempunyai tanggung jawab yang berbeda.

Checklist Keamanan MCP Sebelum Terhubung ke Production

Kamu dapat menggunakan checklist berikut sebelum memberikan akses production kepada AI agent.

  1. Tim memastikan identitas MCP Client dapat diverifikasi. Sistem tidak memberikan akses sensitif kepada client anonim tanpa alasan yang jelas.
  2. Tim memisahkan kredensial MCP dari password utama. Kebocoran satu token tidak boleh memaksa organisasi mengganti semua kredensial lain.
  3. Administrator menerapkan least privilege. Agent hanya memperoleh tool dan resource yang diperlukan.
  4. Tim memulai pengujian menggunakan akses read-only. Permission tambahan diberikan setelah perilaku agent dipahami.
  5. Sistem membatasi operasi destruktif. Delete, revoke, deployment, atau perubahan sensitif membutuhkan permission atau approval khusus.
  6. Aplikasi menyimpan secret di tempat yang sesuai. Secret tidak ditaruh pada prompt, repository, atau source code.
  7. Administrator memisahkan staging dan production. Kredensial untuk satu environment tidak otomatis berlaku pada environment lain.
  8. Sistem mengaktifkan audit log. Tim dapat mengetahui identitas pemanggil, tool, target, dan hasil operasi.
  9. Tim memeriksa MCP Server pihak ketiga. Versi, dependency, source, dan perubahan tool tetap berada dalam proses review.
  10. Tim menyiapkan mekanisme pencabutan akses. Administrator dapat memutus koneksi agent tanpa mengganggu akun utama.

🚀

Hubungkan AI Agent secara Bertahap, Bukan Langsung Full Access

Web Hosting Nimbus DomaiNesia menyediakan AI Agent Access berbasis MCP sehingga kamu dapat menghubungkan aplikasi AI dengan resource hosting sesuai permission yang dipilih.

Lihat Paket Hosting Nimbus

Baca Juga:  AdSense YouTube: Syarat, Ketentuan, dan Cara Mendapatkannya

Kesimpulan

Keamanan MCP bukan hanya persoalan apakah AI agent dapat dipercaya. Sistem yang dapat membaca data dan menjalankan tindakan tetap membutuhkan batas teknis yang jelas agar satu kesalahan tidak langsung memengaruhi seluruh environment.

Autentikasi dan otorisasi menentukan siapa yang boleh masuk. Least privilege membatasi luas akses, sementara secret management melindungi kredensial yang digunakan untuk terhubung.

Tool allowlist dan approval membatasi tindakan yang dapat dijalankan. Audit log memberikan rekam jejak, sedangkan pemeriksaan source MCP Server membantu mengurangi risiko tool poisoning dan serangan supply chain.

Kontrol tersebut tidak membuat prompt injection, confused deputy, atau risiko agentic AI menghilang sepenuhnya. Namun, sistem berlapis dapat memperkecil blast radius sehingga kesalahan atau serangan tidak memperoleh akses yang lebih besar daripada yang seharusnya.

Ketika kamu mulai menghubungkan AI agent dengan production, pertanyaan terpenting bukan “Seberapa pintar agent ini?”, tetapi “Seberapa besar akses yang benar-benar dibutuhkan agent untuk menyelesaikan tugasnya?”

FAQ Seputar Keamanan MCP

Apakah MCP sama dengan API biasa?

MCP dan API sama-sama menghubungkan sistem, tetapi keduanya mempunyai pola penggunaan yang berbeda. API biasanya digunakan melalui endpoint dan alur yang ditentukan developer, sedangkan MCP memungkinkan aplikasi AI memilih tool berdasarkan instruksi dan konteks yang tersedia.

Apakah keamanan MCP hanya relevan untuk perusahaan besar?

Keamanan MCP tetap relevan untuk proyek pribadi maupun perusahaan. Risiko muncul berdasarkan resource dan permission yang diberikan kepada agent, bukan berdasarkan ukuran organisasi.

Apa yang dimaksud dengan tool poisoning?

Tool poisoning terjadi ketika tool, deskripsi tool, schema, output, atau komponen terkait dimanipulasi agar model mengambil keputusan yang tidak semestinya. Allowlist tidak selalu mencegah risiko tersebut karena tool yang terpengaruh dapat berasal dari daftar yang memang sudah dipercaya.

Apakah audit log perlu diaktifkan pada MCP Server?

Audit log sangat disarankan ketika MCP Server dapat mengakses resource sensitif atau menjalankan tindakan. Log membantu tim memantau aktivitas sekaligus melakukan investigasi ketika terjadi perilaku yang tidak diharapkan.

Apakah prompt injection dapat dicegah sepenuhnya?

Belum ada satu kontrol yang dapat menjamin seluruh prompt injection akan gagal. Sistem sebaiknya menggabungkan pembatasan konteks, least privilege, tool allowlist, validasi, dan approval agar dampaknya tetap terbatas ketika model menerima instruksi berbahaya.

Apakah OAuth otomatis membuat MCP aman?

OAuth membantu mengatur autentikasi dan otorisasi secara lebih terstruktur, tetapi OAuth bukan satu-satunya kontrol keamanan yang dibutuhkan. Server tetap harus memvalidasi token, scope, resource, permission, dan tindakan yang dijalankan.

Apakah least privilege membuat AI agent menjadi kurang berguna?

Least privilege tidak harus mengurangi kemampuan agent jika permission diberikan sesuai kebutuhan pekerjaan. Sistem dapat menaikkan akses secara bertahap ketika sebuah operasi memang membutuhkan kemampuan tambahan.

Bagaimana cara mengevaluasi MCP Server pihak ketiga?

Tim sebaiknya memeriksa pembuat, source code, dependency, riwayat perubahan, versi, dan permission yang diminta oleh server.

Tim juga sebaiknya menguji server pada environment terbatas sebelum menghubungkannya dengan data atau sistem production.

Ratna Patria

Hi! I have been writing about technology, AI, websites, and other digital things, turning complex topics into simple and enjoyable reads. I enjoy exploring new tools, ideas, and ways technology can make things easier. How about you?


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya

Hosting Nimbus Plus