Peracunan tool MCP: instruksi tersembunyi dalam deskripsi tool
Invariant Labs menunjukkan bahwa server MCP dapat menyembunyikan instruksi dalam deskripsi tool yang dibaca model, serta menjelaskan variasi tool shadowing dan rug pull.
Apa yang terjadi
Pada 1 April 2025, Invariant Labs menerbitkan pemberitahuan keamanan tentang peracunan tool dalam Model Context Protocol. Server MCP berbahaya menyisipkan instruksi ke dalam deskripsi tool. Pengguna jarang melihat teks tersebut, tetapi model membacanya sebagai bagian dari konteks dan mungkin menindaklanjutinya.
Pemberitahuan yang sama menjelaskan dua serangan terkait. Dalam tool shadowing, deskripsi dari satu server mengubah cara agen menggunakan tool dari server tepercaya lainnya. Dalam rug pull, server mengubah deskripsi tool setelah pengguna menyetujuinya.
Mengapa serangan berhasil
Klien memuat deskripsi tool dari semua server yang terhubung ke dalam satu konteks, dan model tidak dapat membedakan dokumentasi vendor dari instruksi penyerang. Jika klien menyetujui server sekali lalu tidak pernah memeriksanya lagi, perubahan berikutnya tidak akan terdeteksi.
Yang perlu dilakukan
- Baca seluruh deskripsi tool server MCP sebelum menghubungkannya, bukan hanya nama tool-nya.
- Tetapkan versi server dan hash deskripsi tool; minta konfirmasi ulang atau kirim peringatan saat hash berubah.
- Hubungkan hanya server yang diperlukan untuk tugas tersebut agar teks dari satu server tidak dapat mengarahkan penggunaan tool di server lain.
- Wajibkan persetujuan untuk pemanggilan tool yang mengirim data atau mengubah file.
Periksa skill, plugin, dan server MCPMinta persetujuan untuk tindakan yang berdampak besar