MCP · 2026년 7월 10일 ★★★

MCP 서버 70종을 샌드박스에서 실행해 실제 동작을 기록한 런타임 감사 실험 mcp-audit

개발자 Bhavesh Thapar가 npm에서 많이 쓰이는 상위 20개와 롱테일 50개를 합친 MCP 서버 70종을 각각 도커 컨테이너 안에서 strace로 추적하며 파일 접근(openat)과 네트워크 연결(connect)을 기록한 실험이에요. 가짜 자격증명을 미끼로 심어 유출 여부까지 확인했는데, 67개는 시작 시점에 이상이 없었고 3개(okx-trade-mcp, razorpay/blade-mcp, notebooklm-mcp-server)만 예상된 외부 HTTPS 연결을 만들었으며, 1개(bullmq-mcp)는 표준 라이브러리 조회 과정에서 /etc/passwd를 읽었지만 민감정보를 전송한 서버는 없었어요. 다만 저자도 시작·대기 상태만 관찰했고 개별 도구 호출 시점의 동작은 아직 다루지 못한다는 한계를 밝혔고, 저장소는 스타 6개·커밋 1개 수준의 초기 프로토타입이에요.

용어 풀이
MCP
AI 모델이 외부 도구·데이터에 연결하도록 표준화한 규격. 여러 프로그램이 같은 방식으로 붙게 해 준다.
샌드박스(sandbox)
프로그램을 바깥과 격리된 임시 공간에서 돌려, 문제가 생겨도 실제 시스템에는 영향이 없게 하는 방식.
strace
프로그램이 운영체제에 파일 열기·네트워크 연결 같은 작업을 요청하는 통로(시스템 콜)를 가로채 기록하는 도구.
카나리 자격증명(canary credential)
일부러 심어 둔 가짜 계정 정보. 누군가 몰래 읽거나 밖으로 보내면 바로 탐지되도록 쓰는 미끼.
유출(exfiltration)
내부 데이터를 외부로 몰래 빼내는 것.
운영자 인사이트

MCP 서버의 공급망 위험을 게시자 신원 확인이 아니라 실제 시스템 콜 수준의 런타임 행위로 검증하려는 접근이 핵심이에요. 다만 시작·대기 구간만 봐서 정작 위험이 큰 도구 호출 시점은 빠져 있어, 지금은 확정된 결론보다 '이런 방식으로 감사할 수 있다'는 방법론 참고 자료로 보는 게 맞아요.

여러 관점으로 보기
  • 1차 출처(도구·방법론) 70종 MCP 서버를 도커와 strace로 추적해 파일·네트워크 접근을 기록한 방법과 결과를 정리했어요. GitHub
  • 저자 설명·한계·반응 저자가 게시자 신원만 검증하는 기존 레지스트리의 공백을 지적했고, 시작·대기만 관찰한다는 한계를 인정했으며, 한 댓글은 설명 글이 AI로 작성된 듯하다고 지적했어요. Hacker News

원본 보기 (hn:mcp-server)