Apa yang terjadi
MoLing adalah server MCP untuk penggunaan komputer dan penggunaan browser. Saat dijalankan dengan -l (mode SSE), endpoint /sse dan /message tidak memerlukan autentikasi dan dependensi mcp-go menetapkan Access-Control-Allow-Origin: *. Oleh karena itu, halaman web berbahaya dapat membuka EventSource lintas-origin ke server lokal, berlangganan aliran pesannya, dan menggunakan alat MCP tanpa memerlukan kredensial atau persetujuan pengguna.
Mengapa penting
Ini adalah serangan browser-drive-by terhadap agen lokal: satu halaman berbahaya dapat mengendalikan agen otomasi UI secara diam-diam. Karena alat MoLing dapat mengeluarkan aksi komputer/browser dan perintah shell, ini mengubah agen lokal pengembang menjadi primitif eksekusi kode arbitrer dan eksfiltrasi data, melewati asumsi 'localhost aman'.
Vektor serangan
Endpoint HTTP /sse dan /message menerima permintaan tanpa autentikasi dan mcp-go menetapkan Access-Control-Allow-Origin: *, sehingga halaman web berbahaya dapat membuka EventSource lintas-origin ke instance MoLing yang berjalan lokal dan memanggil alat MCP (termasuk alat shell/penggunaan komputer) sebagai pengguna host.
Sistem yang terdampak
MoLing (gojue/moling) sebelum 0.5.0 saat berjalan dalam mode SSE (-l)
Mitigasi
Tingkatkan ke MoLing 0.5.0; perlakukan server MCP lokal sebagai batas keamanan (ikat ke localhost, autentikasi permintaan, batasi asal CORS). Commit perbaikan: https://github.com/gojue/moling/commit/ae07f704cbc88d4419fc0fbaec278090fcd0502d