- 인터넷에 직접 노출된 MCP 서버는 21,000대 이상이며, 감사 대상 운영 서버 640대의 91.8%가 OAuth 대신 정적 API 키, 공유 토큰을 쓰거나 인증이 없었다.
- MCP 서버에서 반복해 공개되는 취약점은 임의 파일 쓰기, 경로 탐색, 명령 주입, 서버 측 요청 위조(SSRF) 같은 전통적 서버 취약점이다.
- MCP 서버는 권한이 큰 도구를 한곳에 모으므로, 서버 한 곳의 평범한 결함이 그 서버를 쓰는 모든 에이전트의 권한 확대로 이어진다.
- 명세 차원의 방어가 정비되기 전까지는 서버 앞단의 관문이 인증과 행위 판정을 함께 맡아야 한다.
1.개요
MCP는 2024년 11월 공개된 이후 1년 반여 만에 에이전트와 도구를 잇는 사실상의 표준이 됐다. 확산 속도에 비해 보안 기반은 뒤처졌다. MCP 인가 명세는 인가를 구현의 선택 사항으로 두고 있으며, 6월 NSA 지침도 이를 핵심 공백으로 지적했다.
8월 13일과 14일 서울에서 열린 MCP Dev Summit에서는 이 문제가 주요 의제로 다뤄졌고, 같은 흐름에서 OWASP MCP Top 10이 정리됐다. 도구 포이즈닝, 서버 간 도구 가리기(tool shadowing), 인증 부재가 공통 위험으로 꼽혔다.
2.노출과 인증 실태
| 지표 | 보고된 값 |
|---|---|
| 인터넷 노출 MCP 서버 | 21,000대 이상 |
| OAuth 인증 미사용 비율 | 감사 대상 운영 서버 640대 중 91.8% |
| 주요 인증 방식 | 정적 API 키, 공유 토큰, 또는 인증 없음 |
규모는 노출 서버 수에 그치지 않는다. 4월 OX Security 조사는 MCP 공급망에서 관련 패키지 다운로드 1억 5천만 건 이상, 노출 서버 7,000대 이상, 영향받는 오픈소스 프로젝트 200개 이상을 확인하고, 취약 인스턴스를 최대 20만 개로 추산했다. 원인으로는 표준 입출력(STDIO) 전송이 입력 검증 없이 운영체제 명령을 실행하는 설계 결함을 지적했다.
3.반복되는 서버 취약점 유형
| 식별자 | 대상 | 유형 | CVSS |
|---|---|---|---|
| CVE-2026-27825 | mcp-atlassian | 임의 파일 쓰기에서 원격 코드 실행으로 | 9.1 |
| CVE-2026-27826 | mcp-atlassian | 서버 측 요청 위조(SSRF) | 8.2 |
| CVE-2025-6514 | mcp-remote | 운영체제 명령 주입 | 9.6 |
| CVE-2025-49596 | MCP Inspector | 인증 부재로 인한 원격 코드 실행 | 9.4 |
| CVE-2025-53110 | Filesystem MCP 서버 | 경로 탐색 | 7.3 |
| CVE-2025-53109 | Filesystem MCP 서버 | 심볼릭 링크 해석 우회 | 7.3 |
목록의 어느 것도 AI 고유의 취약점이 아니다. 보안 교과서의 첫 장에 나오는 결함이다. mcp-atlassian의 경우 네트워크에 접근할 수 있는 공격자가 인증 없이 루트 권한으로 코드를 실행할 수 있었다. 차이는 이 결함이 놓인 자리다. 사람이 직접 쓸 때는 승인을 받아야 하는 도구를, 에이전트는 하나의 창구로 초당 여러 번 호출한다.
OWASP MCP Top 10도 같은 문제를 항목으로 정리했다. 토큰 관리 부실과 시크릿 노출, 권한 범위 확대, 도구 포이즈닝, 공급망 공격, 명령 주입, 의도 흐름 전복, 불충분한 인증·인가, 감사·관측 부재, 섀도 MCP 서버, 컨텍스트 주입과 과다 공유다.
4.분석: 권한의 집중과 공격 지점의 이동
권한의 집중
MCP 서버는 설계상 데이터베이스, 시크릿 저장소, 배포 파이프라인, 메일 발송 같은 권한이 큰 도구를 한곳에 모은다. 서버 한 곳의 평범한 결함이 그 서버를 쓰는 모든 에이전트의 권한 확대로 번지는 이유다. 노출과 인증 부재는 이 위험이 수면 위로 드러난 부분이다.
공격 지점의 이동
같은 시기 연구에서는 악성 지시를 여러 도구 설명에 나눠 넣어 개별 검사를 통과시키고, 에이전트가 이를 모으는 순간에만 지시가 재구성되게 하는 기법이 제시됐다. 공급망 쪽에서는 오염된 에이전트 스킬 파일에 들어간 '백업' 지시 한 줄로 에이전트가 문서를 외부로 내보내는 사례가 보고됐다.
공격 지점은 프롬프트에서 도구 설명으로, 다시 공급망으로 내려가고 있다. 유입 경로가 다양해질수록 유입 지점마다 탐지를 두는 방식은 따라가기 어렵다. 반면 피해가 실현되는 지점은 일정하다. 시크릿을 읽고, 외부로 보내고, 데이터를 삭제하는 도구 호출이다.
5.위협 분류 매핑
이 사건의 공격 단계를 OWASP 에이전트 애플리케이션 Top 10(2026)과 MITRE ATLAS 기법에 대응시키면 다음과 같다. GuardTrail은 판정 결과에 같은 분류의 태그를 붙여 기록하고, SIEM으로 내보낼 때 함께 전달한다.
| 체계 | 항목 | 이 사건에서 |
|---|---|---|
| OWASP MCP Top 10 | 불충분한 인증·인가 | 운영 서버 91.8%가 OAuth 미적용 |
| OWASP MCP Top 10 | 섀도 MCP 서버 | 관리되지 않는 노출 서버 21,000대 이상 |
| OWASP ASI | ASI02 도구 오용 | 권한이 큰 도구가 인증 없이 호출될 수 있다 |
| MITRE ATLAS | AML.T0086 Exfiltration via AI Agent Tool Invocation | MCP 도구를 통한 데이터 반출 |
6.젠아이랩스 GuardTrail의 대응: 서버 앞단의 관문
젠아이랩스(GenAI Labs) GuardTrail은 AI 에이전트의 도구 호출을 실행 직전에 가로채 기록·판정·차단하는 Agent EDR이다. 개발자 PC의 코딩 에이전트(Claude Code 훅, stdio 래퍼)와 사내 MCP 서버(게이트웨이)에 설치되며, 차단 판정은 언어 모델이 아닌 결정적 정책으로 내린다. 제품 소개 · 위협 차단 · 도입 방식
- 인증을 강제한다. 인증이 약한 서버라도 게이트웨이가 발급한 에이전트 신원으로 접근을 통제한다.
clientInfo·serverInfo는 인가 근거로 쓰지 않는다. - 권한이 큰 도구를 정책 뒤에 둔다. 도구 이름, 서버, 에이전트, 데이터 분류, 목적지 조건으로 차단하거나 승인 대상으로 지정한다.
- 행위로 판정한다. 최종 판정은 서버가 스스로를 무엇이라 밝히는지가 아니라 호출이 무엇을 하려는지로 내린다. 자격증명 값이 발급처가 아닌 곳으로 향하면 서버 응답과 무관하게 차단한다.
- 모든 호출을 기록한다. JSON 응답과 SSE 스트림 모두에서 결과를 요청과 연결해 지연, 결과 크기, 상태를 남긴다.
고객 정책 예시
배포·삭제·권한 부여 도구는 승인 대상으로, CRM 서버의 데이터가 조직 밖으로 향하는 호출은 차단으로 지정한다. 도구 ID는 서버 ID:도구 이름 형식이며 게이트웨이의 서버 ID는 업스트림 호스트다.
policies:
- id: privileged-mcp-tools-approval
name: 권한이 큰 MCP 도구 승인
effect: REQUIRE_APPROVAL
mode: enforce
reason: 배포·삭제·권한 변경 도구는 담당자 승인이 필요합니다.
match:
tool: ["*:deploy_*", "*:delete_*", "*:grant_*"]
- id: no-customer-data-outside
name: 고객 데이터 외부 반출 금지
effect: BLOCK
mode: enforce
failure_mode: fail_closed
reason: 고객 데이터는 조직 밖으로 보낼 수 없습니다.
match:
server: ["mcp:crm*"]
destination:
external: true
판정 결과
운영 배포 도구 호출은 승인 대기로 멈추고, CRM 고객 데이터를 외부 공유 주소로 내보내는 호출은 차단된다. 아래 표는 위 정책을 GuardTrail 정책 엔진에 적용하고 guardtrail policy test --mode enforce로 각 호출을 판정한 실제 결과다. 인자에 넣은 키와 토큰은 공개 문서의 예시 값이다.
| 도구 호출 · 에이전트 | 판정 | 정책·사유 |
|---|---|---|
deploy_service {"service": "billing", "env": "prod"}agent:ops · 내장 정책 + 고객 정책 | 승인 필요 | privileged-mcp-tools-approval배포·삭제·권한 변경 도구는 담당자 승인이 필요합니다. |
export_customers {"segment": "vip", "to": "https://share.example.net/u"}agent:sales · 내장 정책 + 고객 정책 | 차단 | no-customer-data-outside고객 데이터는 조직 밖으로 보낼 수 없습니다. |
7.시사점
권한이 집중된 MCP 서버를 인증 없이 노출하는 것은 그 자체로 위험이며, 서버 앞에 인증과 정책을 강제하는 관문이 필요하다. 다만 관문의 가치는 접근 통제에 그치지 않는다. 관문이 내리는 최종 판정이 서버의 자기 신고가 아니라 실행되려는 행위에 근거할 때, 유입 경로와 무관하게 성립하는 마지막 통제가 된다.
참고 문헌
- Forkast, The Model Context Protocol Reaches a Security Inflection Point. forkast.news
- MCP Directory, MCP Security: 노출 서버, OWASP MCP Top 10, CVE 정리. mcp.directory
- MCP 운영 서버 인증 실태 감사 연구, arXiv 2608.00150. arxiv.org
- Trend Micro, Network-Exposed MCP Servers Are Backdoors to Your Private Data. trendmicro.com
- Pluto Security, MCPwnfluence: CVE-2026-27825. pluto.security
- OX Security, The Mother of All AI Supply Chains. ox.security
- awesome-agent-skills-security, 에이전트 스킬 공격·방어 자료 모음. github.com
관련 제품 · 보안 권고
- Model Context Protocol 명세. modelcontextprotocol.io
- OWASP MCP Top 10. owasp.org
- NVD, CVE-2026-27825 (mcp-atlassian). nvd.nist.gov
- NVD, CVE-2025-6514 (mcp-remote). nvd.nist.gov
- Model Context Protocol 참조 서버 저장소. github.com
- 젠아이랩스 GuardTrail. guardtrail.gensapps.com · 표준 커버리지
수치와 경위는 각 출처가 공개한 내용을 따랐다. 접근 확인 2026-08-31.