무슨 일이 있었나
MoLing은 computer-use 및 browser-use를 위한 MCP 서버입니다. -l(SSE 모드)로 시작하면 /sse 및 /message 엔드포인트는 인증되지 않으며 mcp-go 의존성이 Access-Control-Allow-Origin: *를 설정합니다. 따라서 악의적인 웹 페이지가 로컬 서버에 대한 교차 출처 EventSource를 열고 메시지 스트림을 구독하여 자격 증명이나 사용자 동의 없이 MCP 도구를 구동할 수 있습니다.
왜 중요한가
이는 로컬 에이전트에 대한 브라우저 드라이브-바이 공격입니다: 단일 악성 페이지가 UI 자동화 에이전트를 조용히 제어할 수 있습니다. MoLing의 도구가 컴퓨터/브라우저 작업 및 셸 명령을 실행할 수 있으므로, 개발자의 로컬 에이전트가 임의 코드 실행 및 데이터 탈취 수단으로 전환되어 'localhost는 안전하다'는 가정을 우회합니다.
공격 경로
/sse 및 /message HTTP 엔드포인트는 인증되지 않은 요청을 허용하고 mcp-go는 Access-Control-Allow-Origin: *를 설정하므로, 악의적인 웹 페이지가 로컬에서 실행 중인 MoLing 인스턴스에 대한 교차 출처 EventSource를 열고 호스트 사용자로 MCP 도구(셸/컴퓨터 사용 도구 포함)를 호출할 수 있습니다.
영향받는 시스템
SSE 모드(-l)로 실행 중인 MoLing(gojue/moling) 0.5.0 미만
완화 방안
MoLing 0.5.0으로 업그레이드하세요. 로컬 MCP 서버를 보안 경계로 취급하세요(localhost에 바인딩, 요청 인증, CORS 출처 제한). 수정 커밋: https://github.com/gojue/moling/commit/ae07f704cbc88d4419fc0fbaec278090fcd0502d