MCP 서버 70개를 격리 실행해 실제 행동을 점검

MCP 서버 70개를 격리 실행해 실제 행동을 점검

mcp-를 샌드박스 안에서 실행해, 실행 중 어떤 파일을 열고 어디로 인터넷 연결을 보내는지 기록한다. 공식 MCP 등록소는 서버를 누가 올렸는지는 확인하지만, 실행했을 때 실제로 무엇을 하는지는 확인하지 않는다. 기존의 정적 분석은 코드와 설명을 훑는 방식이라, 나중에 버전이 바뀌어 다른 행동을 하거나 목적과 맞지 않는 곳에 접속하는 문제를 놓칠 수 있다.

이 도구는 안의 버릴 수 있는 리눅스 환경에서 서버를 실행하고, s로 파일 접근과 네트워크 연결을 잡아낸다. 가짜 비밀값인 카나리도 넣어 두어, 서버가 그 값을 읽거나 밖으로 보내려는지 확인한다. 70개 를 살펴본 결과, 시작 단계에서는 67개가 민감한 파일을 읽거나 예상 밖의 인터넷 연결을 하지 않았다.

3개 서버는 시작할 때 외부 HTTPS 연결을 만들었지만, 각각 거래소 연동, GitHub 가져오기, 클라우드· 접속처럼 기능과 맞는 연결이었고 민감한 파일이나 카나리를 건드리지 않았다. bullmq-mcp는 시작할 때 /etc/passwd를 읽었지만, 표준 glibc 사용자 조회 과정으로 확인됐고 내용이 밖으로 전송되지는 않았다. 이번 점검은 서버가 켜져 대기하는 상태만 본 것이며, 실제 중 생기는 행동은 아직 살피지 않았다.

핵심 포인트

  • 70개 중 67개는 시작 단계에서 민감한 파일 접근이나 예상 밖의 외부 연결이 없었다.
  • 3개 서버는 외부 HTTPS 연결을 만들었지만, 기능과 맞는 연결로 확인됐다.
  • bullmq-mcp의 /etc/passwd 읽기는 glibc 사용자 조회 때문에 생긴 정상 동작으로 판단됐다.
  • 샌드박스와 카나리를 써서 서버가 실제 컴퓨터나 진짜 비밀값을 건드리지 않게 했다.
  • 아직 실제 중 행동은 점검하지 않아, 에이전트 운영 전 검증으로는 추가 확인이 필요하다.
원문 보기