Apa yang terjadi
Transportasi WebSocket warisan SDK MCP Python tidak memiliki mekanisme tingkat SDK untuk membatasi asal mana yang dapat membuat koneksi, mengekspos server MCP lokal terhadap serangan lintas asal berbasis browser.
Mengapa penting
Ini adalah pola pembajakan WebSocket lintas situs klasik yang diterapkan pada server alat agentic — halaman web berbahaya dapat diam-diam terhubung ke dan memerintah server MCP yang berjalan secara lokal (misalnya yang terhubung ke agen pengkodean pengembang), mengubah penjelajahan web biasa menjadi jalan menuju penyalahgunaan panggilan alat.
Vektor serangan
Transportasi mcp.server.websocket.websocket_server yang sudah usang menerima jabat tangan WebSocket tanpa memvalidasi header Host atau Origin, berarti situs web apa pun yang dikunjungi browser korban dapat membuka koneksi WebSocket ke server MCP yang berjalan secara lokal dan berinteraksi dengannya seolah-olah itu adalah klien yang berwenang.
Sistem yang terdampak
MCP Python SDK (mcp di PyPI) sebelum 1.28.1
Mitigasi
Tingkatkan ke MCP Python SDK 1.28.1 atau lebih baru; hindari transportasi websocket yang sudah usang.