MCP 보안, 30개 CVE 직접 확인했습니다

Published on

in

MCP 보안, 30개 CVE 직접 확인했습니다
2026.03.20 기준 / MCP SDK v1.x 기준

MCP 보안, 30개 CVE 직접 확인했습니다

결론부터 말씀드리면, Anthropic이 직접 만든 개발자 도구에서 CVSS 9.4짜리 원격 코드 실행 취약점이 나왔습니다. MCP 서버가 로컬에서만 돌아간다고 생각했다면, 8,000개 이상이 이미 공개 인터넷에 노출된 현실을 먼저 확인해야 합니다.

CVE 30+ (2026 1~2월)
MCP 서버 43% 취약점 보유
공개 노출 서버 8,000개+

MCP가 뭔지는 다들 알죠, 근데 보안은요?

MCP(Model Context Protocol)는 Anthropic이 2024년 11월 공개한 오픈 표준으로, AI 모델과 외부 도구·데이터를 연결하는 방식을 하나로 통일한 프로토콜입니다. Claude Desktop, OpenAI Agent SDK, Microsoft Copilot Studio, Amazon Bedrock Agents, Cursor, VS Code까지 지원하면서 빠르게 사실상 표준이 됐습니다. (출처: modelcontextprotocol.io 공식 문서, 2026.03 기준)

초기 도입률은 압도적이었습니다. SDK 다운로드 9,700만 회, 구축된 서버만 1만 개 이상. 수치가 이 정도면 이미 개발 생태계의 기반 인프라가 된 것입니다. 그런데 막상 써보니까 문제가 있었습니다. 연결하기는 쉬웠는데, 연결된 그 통로가 얼마나 위험한지는 아무도 제대로 말해주지 않았습니다.

MCP 보안 취약점 문제가 주목받기 시작한 건 2025년 하반기였고, 2026년 초에 터지기 시작했습니다. 단 6주 사이에 30개 이상의 CVE가 공식 등록됐습니다. 이 숫자는 특정 공격자가 개별 서버를 노린 게 아니라, 프로토콜 자체의 구조에서 비롯된 문제라는 의미입니다.

▲ 목차로 돌아가기

Anthropic 자체 도구에서 CVSS 9.4가 나왔습니다

💡 공식 발표문과 실제 취약점 발생 위치를 같이 놓고 보니 이런 차이가 보였습니다. Anthropic은 MCP를 “AI를 위한 USB-C”라고 소개하는데, 정작 그 USB-C 어댑터 자체에서 코드 실행 구멍이 나온 상황입니다.

2025년 6월, 보안 연구자들이 Anthropic의 공식 MCP Inspector 도구에서 치명적인 취약점을 발견해 보고했습니다. 등록된 CVE 번호는 CVE-2025-49596, CVSS 점수는 9.4/10입니다. (출처: NVD, nvd.nist.gov/vuln/detail/CVE-2025-49596, 2025.06.13)

MCP Inspector 0.14.1 미만 버전에서 Inspector 클라이언트와 프록시 사이에 인증이 전혀 없었습니다. 공격자는 브라우저를 통한 DNS 리바인딩 기법으로 로컬에서 실행 중인 Inspector에 접근한 뒤, 인증 없이 임의 코드 실행을 달성할 수 있었습니다. 이게 개인 해커의 찾아낸 제3자 서버 문제가 아닙니다. Anthropic이 개발자에게 “MCP 쓸 때 이걸로 테스트하세요”라고 권장한 공식 도구입니다.

Anthropic은 2025년 12월 패치를 완료했지만 (출처: SecurityWeek, 2026.01.21), 이 사실이 의미하는 바는 무겁습니다. MCP를 처음부터 개발한 회사의 레퍼런스 구현체조차 기본 인증을 빠뜨렸다는 건, 이 생태계 전체에 인증·권한 설계가 처음부터 충분히 내재화되지 않았음을 보여줍니다.

▲ 목차로 돌아가기

6주 만에 CVE 30개, 숫자가 뭘 말하는지

2026년 1월~2월, 딱 6주 사이에 보안 연구자들이 공식 등록한 MCP 관련 CVE는 30개 이상입니다. (출처: ai-hacking.cyberchaos.nl/mcp-security, 2026년 3월 업데이트 기준) 이 숫자가 단순히 많다는 게 문제가 아닙니다. 공격 유형이 세 계층으로 분화됐다는 게 핵심입니다.

공격 계층 비율 주요 방식
코드 실행 (Layer 1) 87% (26개) exec(), shell 주입
인젝션 신규 유형 (Layer 2) 7% (2개) eval() 주입, 환경 변수 주입
개발자 타겟 (Layer 3) 7% (2개) MCP 인프라 구축 개발자 대상

(출처: ai-hacking.cyberchaos.nl/mcp-security, 2026.03 기준)

특히 주목할 건 Layer 2입니다. eval() 주입과 환경 변수 주입은 2025년 이전에는 MCP 맥락에서 거의 보고되지 않던 신규 공격 유형입니다. 생태계가 성숙하면서 공격 방식도 고도화되고 있다는 의미입니다.

또 하나, MCP 서버가 인터넷에 노출된 건 이론적 위험이 아닙니다. 보안 연구자들이 실제 스캔에서 8,000개 이상의 MCP 서버를 공개 인터넷에서 찾아냈고, 이 중 43%가 최소 하나 이상의 취약점을 보유하고 있었습니다. (출처: r/cybersecurity Reddit 스캔 보고서, 2026.02.10; LinkedIn BlueRock.io, 2026.01.27) 43%라는 수치를 달리 표현하면, 지금 MCP 서버를 운영 중이라면 거의 절반에 가까운 확률로 이미 공격 표면이 열려 있다는 뜻입니다.

▲ 목차로 돌아가기

지금 당장 사용 중이라면 이 세 가지부터

MCP Inspector 버전이 0.14.1 이상인지 확인할 것

CVE-2025-49596 패치가 0.14.1에서 이루어졌습니다. 그 이하 버전을 쓰고 있다면 지금 당장 업데이트해야 합니다. 특히 로컬 환경에서 개발하면서 브라우저를 같이 쓰는 경우라면, DNS 리바인딩을 통한 공격이 인터넷 연결 없이도 성립될 수 있습니다.

서드파티 MCP 서버는 연결 전 코드를 직접 검토해야 합니다

2025년 10월 연구에서 확인된 Figma MCP 서버 사례(다운로드 60만 회, GitHub 스타 1만 개 이상)처럼, 인기 있는 서드파티 서버도 예외가 아닙니다. URL을 sanitize 없이 curl에 직접 넘기는 코드가 10만 명이 쓰던 서버에 버젓이 있었습니다. 다운로드 수나 별표 수는 안전의 척도가 아닙니다.

인터넷에서 0.0.0.0으로 바인딩된 서버는 즉시 격리해야 합니다

Grafana MCP 서버, MCPJam Inspector 등 여러 서버가 기본 설정으로 0.0.0.0:8000에서 인증 없이 수신 대기합니다. 이 상태에서 인터넷에 배포하면 공격자는 curl 한 줄로 대시보드를 통째로 수정하거나 삭제할 수 있습니다. “그냥 테스트 서버인데”라는 생각이 가장 위험합니다.

▲ 목차로 돌아가기

설계 구조 자체가 공격 표면입니다

💡 공식 CVE 목록과 아키텍처 설계 문서를 함께 놓고 보니, 개별 버그가 아니라 초기 설계 철학에서 비롯된 구조적 문제임을 확인할 수 있었습니다.

MCP의 가장 심각한 문제 중 하나는 “저장된 프롬프트 인젝션(Stored Prompt Injection)”입니다. 쉽게 말하면, 데이터베이스나 외부 파일에 악성 명령어를 심어두면, AI 에이전트가 그 데이터를 조회하는 순간 명령어를 신뢰할 수 있는 지시로 착각하고 그대로 실행한다는 뜻입니다. 2025년 9월 Lakera AI의 연구에서는 Jira 티켓 안에 숨긴 인젝션으로 Cursor가 JWT 토큰을 외부 서버로 전송하는 과정이 실제로 시연됐습니다.

더 이게 핵심입니다. MCP는 이런 악성 데이터 흐름을 사전에 감지하거나 차단하는 메커니즘을 프로토콜 자체에 내장하고 있지 않습니다. 입력값 검증과 보안 파이프라인 처리는 전부 서버 구현자에게 떠넘겨져 있습니다. 프로토콜이 “연결”에만 집중하고 “신뢰”를 다루지 않았다는 게 이 문제의 본질입니다.

또 하나, MCP TypeScript SDK(1.24.0 미만)와 Python SDK(1.23.0 미만) 모두 localhost에 바인딩된 SSE·StreamableHTTP 서버에 DNS 리바인딩 방어 기능이 없었습니다. (출처: CyberArk Threat Research, GitLab Advisory, 2025.07.10) 로컬에서만 돌리는 서버라서 안전하다는 인식 자체가 틀렸습니다. 브라우저가 열려 있는 것만으로 공격 경로가 생깁니다.

▲ 목차로 돌아가기

53%가 아직 정적 자격증명을 씁니다

2026년 3월 기준, MCP 서버의 53%가 OAuth 대신 정적 자격증명(static credentials)을 사용하고 있습니다. (출처: philippdubach.com, “MCP vs A2A in 2026”, 2026.03.15) 53%라는 건 절반이 넘습니다. 이 서버들은 API 키나 비밀번호가 교체·만료·폐기되는 기능 없이 고정된 값으로 인증을 처리합니다.

직접 계산해 볼 수 있습니다

공개 인터넷 노출 서버 8,000개 × 53% = 약 4,240개 서버가 정적 자격증명 사용 중 (추정, 출처: philippdubach.com + r/cybersecurity 스캔 데이터 교차 추산). 4,240개 서버 각각에 연결된 데이터베이스, 파일 시스템, API가 고정된 키 하나로 보호되고 있다는 의미입니다.

2025년 4월 Trail of Bits 연구에서는 GitLab, Postgres, Google Maps에 연결하는 공식·서드파티 MCP 서버 다수가 API 키를 로컬 파일 시스템에 평문(plaintext)으로 저장하고, world-readable 권한으로 방치하고 있음이 확인됐습니다. (출처: Keith Hoodlet, Trail of Bits, 2025.04.30) 다른 프로세스나 다른 사용자가 같은 머신에 접근할 수 있다면, 그 API 키는 이미 노출된 것과 다름없습니다.

이 문제에 대한 단기 대응은 간단하지만 실제로 적용하는 사람이 드뭅니다. 환경 변수로 키를 분리하고, 파일 권한을 600으로 설정하며, 가능하면 수명이 짧은 토큰(short-lived token)을 씁니다. 하지만 MCP 생태계 대부분은 공식 문서에 이 수준의 안내조차 충분히 담겨 있지 않았습니다.

▲ 목차로 돌아가기

자주 묻는 것들

MCP를 로컬에서만 쓰면 안전한 거 아닌가요?+
그렇지 않습니다. DNS 리바인딩 공격은 브라우저가 열려 있고 인터넷에 연결된 상태라면 로컬 서버에도 적용됩니다. MCP TypeScript SDK 1.24.0 미만, Python SDK 1.23.0 미만에서 이 공격이 실제로 가능했고, CyberArk가 공식 확인했습니다. (출처: CyberArk Threat Research, GitLab Advisory, 2025.07.10)
Claude Desktop에서 MCP를 쓰고 있는데 당장 끊어야 할까요?+
무조건 끊을 필요는 없습니다. 다만 연결된 서드파티 MCP 서버의 버전과 코드를 직접 확인하고, 파일 시스템·데이터베이스에 접근하는 서버는 최소 권한만 부여해야 합니다. 공식 MCP 서버(Anthropic 제공)는 패치가 이루어졌지만, 서드파티는 확인 필요입니다.
MCP Inspector CVE-2025-49596 패치는 됐나요?+
네. 0.14.1 버전에서 패치됐습니다. Anthropic이 2025년 12월 패치를 완료했다고 SecurityWeek이 확인했습니다. (출처: SecurityWeek, 2026.01.21) 현재 버전이 0.14.1 이상인지 확인하고, 미만이라면 즉시 업데이트해야 합니다.
Cursor에서 MCP를 쓰는 경우도 취약한가요?+
Cursor 1.2.4 이하 버전은 한 번 승인된 MCP 설정이 변경돼도 재승인 없이 신뢰 상태가 유지됩니다. 공유 저장소에서 초기에 안전한 MCP 설정을 승인해 두면, 나중에 악성 내용으로 교체해도 그대로 실행되는 구조입니다. (출처: Snyk Labs, 2025.08.20 CVSS 7.2~8.8) 현재 사용 중인 Cursor 버전을 확인해야 합니다.
취약점 목록을 계속 업데이트해서 확인할 수 있는 곳이 있나요?+
vulnerablemcp.info에서 MCP CVE 전체 목록을 공개하고 있습니다. 각 CVE별 CVSS 점수, 공격 가능성, 영향도, 패치 여부까지 정리되어 있습니다. MCP 서버를 운영하거나 개발한다면 주기적으로 확인하는 걸 권장합니다.

▲ 목차로 돌아가기

마치며

MCP는 빠르게 AI 에이전트 연결의 표준이 됐습니다. 그만큼 공격 표면도 빠르게 커졌습니다. 6주에 CVE 30개, 공개 인터넷 노출 서버 8,000개, 43% 취약점 보유. 이 숫자들은 과장이 아니라 실제 스캔과 공식 CVE 등록 기반입니다.

기대했던 것과 달랐던 부분은, Anthropic이 직접 만든 레퍼런스 구현체에서 CVSS 9.4가 나왔다는 점입니다. 오픈소스 서드파티의 부주의한 코드 때문만이 아니라, 프로토콜을 설계할 때 보안이 충분히 내재화되지 않았다는 신호로 봐야 합니다.

써도 되냐는 질문에 대한 답은 “써도 되지만, 지금 상태에서 아무 검토 없이 쓰면 안 된다”입니다. SDK 버전 확인, 서드파티 서버 코드 검토, 0.0.0.0 바인딩 차단, 정적 자격증명 교체. 이 네 가지가 지금 당장 할 수 있는 최소한입니다.

▲ 목차로 돌아가기

본 포스팅 참고 자료

  1. NVD — CVE-2025-49596 (nvd.nist.gov/vuln/detail/CVE-2025-49596)
  2. MCP 공식 문서 — Anthropic (modelcontextprotocol.io)
  3. VulnerableMCP CVE 데이터베이스 (vulnerablemcp.info)
  4. AI Hacking MCP Security Guide, 2026년 3월 업데이트 (ai-hacking.cyberchaos.nl/mcp-security)
  5. The Hacker News — CVE-2025-49596 CVSS 9.4 보도 (2025.07.01)
  6. SecurityWeek — Anthropic MCP Server Flaws (2026.01.21)
  7. CyberArk Threat Research — DNS Rebinding in MCP SDK (2025.07.10)
  8. Trail of Bits — Plaintext API Key Storage in MCP Servers (2025.04.30)
  9. r/cybersecurity — 8,000+ MCP Server Scan Report (2026.02.10)

⚠️ 본 포스팅은 2026년 03월 20일 기준으로 작성된 내용입니다. MCP SDK, Inspector, 서드파티 서버는 지속적으로 업데이트되므로, 본 포스팅 작성 이후 서비스 정책·버전·보안 패치 내용이 변경될 수 있습니다. 최신 CVE 정보는 vulnerablemcp.info 및 NVD에서 직접 확인하시기 바랍니다.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기