MCP 침투 테스트: AI 에이전트 인프라 보안을 위한 실무 가이드
요약
Model Context Protocol(MCP) 도입으로 발생하는 새로운 보안 공격 표면과 침투 테스트 실무 가이드를 다룹니다. 도구 주입, 데이터 유출, 권한 에스컬레이션 등 MCP 환경 특유의 취약점 패턴과 대응 방안을 분석합니다.
핵심 포인트
- MCP는 동적인 도구 표면을 노출하여 기존 보안 도구로 탐지하기 어려운 새로운 리스크를 생성함
- 도구 주입, 도구 간 데이터 유출, 프롬프트-도구 에스컬레이션이 주요 공격 벡터임
- 검증되지 않은 도구 인자와 권한 경계 누락 등 6가지 핵심 차원의 보안 평가가 필요함
- 실제 운영 트레이스 분석 결과, MCP 배포 사례의 약 25%에서 높은 심각도의 노출이 발견됨
MCP 침투 테스트: AI 에이전트 인프라 보안을 위한 실무 가이드
Model Context Protocol (MCP)의 급격한 도입은 기존의 보안 도구들 — SAST, DAST, WAF — 이 설계될 당시에는 고려되지 않았던 새로운 공격 표면(attack surface)을 만들어냈습니다. AI 에이전트가 데이터베이스, 파일 시스템, 클라우드 API 또는 CI/CD 파이프라인과 통신할 때, 이는 MCP 서버를 통해 이루어집니다. 만약 해당 서버에 취약점이 있다면, 에이전트는 공격을 위한 전달 수단(delivery vehicle)이 됩니다.
이 가이드는 실제 현장에서 **MCP 침투 테스트 (MCP penetration testing)**가 어떻게 이루어지는지, 우리가 실제 운영 중인 AI 시스템 전반에서 식별한 가장 흔한 취약점 패턴은 무엇인지, 그리고 **LLM 취약점 평가 (LLM vulnerability assessment)**가 기존의 웹 애플리케이션 테스트와 어떻게 다른지를 다룹니다.
MCP 보안이 새로운 카테고리인 이유
각 엔드포인트가 문서화되고 버전 관리되는 REST API와 달리, MCP 서버는 동적인 도구 표면(tool surface)을 노출합니다. 도구들은 런타임에 등록되고, 자연어 프롬프트에 의해 호출되며, 종종 여러 백엔드에 걸쳐 결과를 체이닝(chaining)합니다. 이는 세 가지 독특한 리스크를 생성합니다:
- 도구 주입 (Tool injection) — 공격자가 제어하는 입력값이 MCP 도구에 도달하여 에이전트의 권한 수준으로 실행됨
- 도구 간 데이터 유출 (Cross-tool data leakage) — 한 도구의 응답 정보가 더 넓은 접근 권한을 가진 다른 도구로 의도치 않게 전달됨
- 프롬프트-도구 에스컬레이션 (Prompt-to-tool escalation) — 정교하게 설계된 프롬프트가 에이전트로 하여금 위험한 도구 조합을 호출하게 만듦
우리의 AI 보안 감사 (AI security audit) 실무를 통해 13개의 제공업체와 33개의 모델 아키텍처에 걸쳐 80,000개(공개 20K + 내부 60K) 이상의 실제 운영 트레이스를 분석했습니다. 데이터에 따르면 MCP 배포 사례의 약 4개 중 1개는 도구 표면에서 최소 하나 이상의 높은 심각도의 노출을 가지고 있습니다.
MCP 공격 표면: 6가지 핵심 차원
**MCP 침투 테스트 (MCP penetration testing)**를 수행할 때, 우리는 여섯 가지 별개의 차원을 평가합니다:
1. 검증되지 않은 도구 인자 (Unvalidated Tool Arguments)
대부분의 MCP 서버는 타입이 지정된 매개변수(typed parameters)로 도구를 정의하지만, 해당 매개변수로 전달되는 값들을 검증하지는 않습니다. 예를 들어 read_file(path: string)과 같은 도구는 에이전트가 유효한 경로를 제공할 것이라고 신뢰하지만, 침해되었거나 탈옥(jailbroken)된 에이전트는 ../../etc/passwd를 전달할 수 있습니다.
실제 발견 사례: 우리는 인기 있는 MCP 파일 서버 패키지에서 워크스페이스 디렉토리 외부의 임의의 파일을 읽을 수 있는 경로 탐색(path traversal) 취약점을 발견하여 보고했습니다. 해결책으로 모든 도구 엔트리 포인트(entry point)에 정규 경로 검증(canonical path validation)을 추가해야 했습니다.
2. 권한 경계 누락 (Missing Authorization Boundaries)
실제 운영 중인 MCP 배포 환경에서는 여러 사용자나 에이전트가 동일한 MCP 서버를 공유합니다. 도구별 권한 부여(per-tool authorization)가 없다면, 에이전트 A가 오직 에이전트 B만을 위해 설계된 도구를 호출할 수 있습니다.
실제 발견 사례: 한 금융 AI 플랫폼에서 execute_trade와 read_portfolio 도구가 접근 제어 없이 동일한 MCP 서버에 등록되어 있는 것을 확인했습니다. 권장된 해결책은 에이전트 격리(Agent isolation)였습니다.
3. 암시적 도구 체이닝 (Implicit Tool Chaining)
MCP는 한 도구의 출력을 다른 도구의 입력으로 전달할 수 있게 합니다. 공격자들은 다운스트림(downstream) 도구에서 부수 효과(side effects)를 일으키는 입력을 정교하게 만들어 이를 악용합니다.
실제 발견 사례: 우리는 CrewAI MCP 배포 환경에서 쉘 메타문자(shell metacharacters)를 포함한 read_file의 출력이 run_command로 전달되어 원격 코드 실행(RCE)으로 이어지는 RCE 체인을 식별했습니다. 이 발견은 작동하는 PoC(Proof of Concept)를 통해 검증되었으며, 책임 있는 공개(responsible disclosure) 절차를 통해 보고되었습니다.
4. 자원 고갈 (Resource Exhaustion)
비용이 많이 드는 작업(데이터베이스 쿼리, 파일 I/O, API 호출)을 수행하는 MCP 도구는 에이전트에 의해 반복적으로 트리거될 수 있으며, 이는 서비스 거부(denial of service)를 유발할 수 있습니다.
5. 안전하지 않은 기본 설정 (Insecure Default Configurations)
많은 MCP 서버가 디버그 모드가 활성화되어 있거나, 지나치게 허용적인 CORS, 또는 기본 자격 증명(default credentials)을 포함한 상태로 출시됩니다. 이러한 설정들은 배포 전에 강화(hardened)되는 경우가 드뭅니다.
6. 도구 응답을 통한 프롬프트 인젝션 (Prompt Injection via Tool Responses)
MCP 도구가 지침(instructions)을 포함하는 데이터를 반환할 때, 취약한 에이전트는 해당 지침을 명령(commands)으로 해석할 수 있습니다. 이는 간접 프롬프트 인젝션 (Indirect Prompt Injection)의 MCP 특화 변형입니다.
8개 프레임워크에서 53개의 PoC를 발견한 방법
2026년 6월부터 7월 사이, 당사의 보안 연구 팀은 가장 인기 있는 8개의 AI 에이전트 프레임워크를 대상으로 체계적인 **LLM 취약점 평가 (LLM vulnerability assessment)**를 수행했습니다.
| 프레임워크 | 주요 발견 사항 | 유형 |
|---|---|---|
| CrewAI MCP | 1 RCE | 도구 인젝션 체인 (Tool injection chain) |
| ... |
모든 발견 사항에는 샌드박스 환경에서 검증된 작동 가능한 개념 증명 (Proof of Concept, PoC)이 포함되어 있습니다. 당사는 책임 있는 공개 (Responsible Disclosure) 원칙을 따릅니다. 즉, 발견 사항은 공개 전 90일의 공개 유예 기간을 두고 벤더의 PSIRT 또는 버그 바운티 (Bug Bounty) 프로그램에 먼저 전달됩니다.
총계: 80,000개(공개 20K + 내부 60K)의 프로덕션 트레이스 코퍼스에서 53개의 PoC 재현 및 1,730개 이상의 검증된 발견 사항 확보.
CCS를 활용한 자동화된 MCP 보안 감사
수동 MCP 침투 테스트는 심층 분석을 위해 필수적이지만, 자동화된 스캐닝은 규모 있는 수준에서 손쉬운 취약점 (low-hanging fruit)을 잡아냅니다. 당사의 CCS (Correctover Classification System) 엔진은 위에서 언급한 6가지 차원에 매핑되는 24개의 탐지 규칙을 적용합니다.
MCP를 위한 CCS 작동 방식:
- 탐색 (Discover) — MCP 서버에 등록된 모든 도구를 열거
- 퍼징 (Fuzz) — 각 도구 파라미터에 경계값, 특수 문자 및 알려진 익스플로잇 패턴을 주입
- 체이닝 (Chain) — 권한 상승 경로를 확인하기 위해 도구 조합을 테스트
- 보고 (Report) — CVSS 점수와 함께 CCS 규칙 ID별로 발견 사항을 분류
이 엔진은 일반적인 MCP 서버를 30초 이내에 처리하며, 프로덕션 테스트를 거친 구성에서 오탐률 (False Positive Rate)은 3% 미만입니다. 이러한 속도 덕분에 CI/CD 파이프라인의 일부로서 지속적인 감사가 가능합니다.
5단계 MCP 침투 테스트 체크리스트
MCP 기반 시스템에 대해 자체적인 **AI 보안 감사 (AI security audit)**를 수행하고 있다면, 다음 체크리스트를 사용하십시오:
| 단계 | 활동 | 도구 |
|---|---|---|
| 1 | 모든 등록된 도구 및 해당 파라미터 스키마 (parameter schemas) 매핑 | MCP inspector / 커스텀 스크립트 |
| ... |
이 체크리스트는 실제 운영 환경 배포(production deployments)에서 발생하는 가장 일반적인 실패 모드(failure modes)를 다룹니다. 더 심층적인 평가를 위해서는 실제 운영 트레이스(production traces) 및 도구 구성에 접근 권한을 가진 전문 MCP 침투 테스트 (MCP penetration testing) 팀을 고용할 것을 권장합니다.
핵심 요약 (The Bottom Line)
MCP는 AI 에이전트가 세상과 상호작용하는 방식을 변화시키고 있지만, 모든 새로운 기능은 새로운 공격 표면 (attack surface)을 의미합니다. 우리가 2026년 7월에 분석한 프레임워크들은 배포당 평균 2~3개의 고위험 취약점 (high-severity vulnerabilities)을 포함하고 있었습니다.
주요 시사점 (Key takeaways):
- 모든 MCP 도구를 공개 API 엔드포인트 (public API endpoint)로 취급하십시오 — 모든 입력을 검증(validate)해야 합니다.
- 격리(isolation) 조치 없이 권한 경계 (authorization boundaries)를 넘어 MCP 서버를 공유하지 마십시오.
- 모든 새로운 MCP 릴리스에 대해 자동화된 CCS 스캔을 실행하십시오.
- 정기적인 LLM 취약점 평가 (LLM vulnerability assessment) 순환 주기(rotation)에 MCP 도구 체인을 포함하십시오.
Correctover — AI 런타임 보안 (AI Runtime Security) & MCP 침투 테스트 (MCP Penetration Testing)
- 22µs (P50) 내 실시간 RCE, SSRF 및 자격 증명 보호 (Credential Protection)
- 24개 CCS 탐지 규칙 · 80,000개 운영 트레이스 · 1,730개 이상의 검증된 발견 사항
- CVE-2026-2287 · MSRC · ZDI · HackerOne · Bugcrowd
- GitHub · correctover.com/en
이 기사는 실제 운영 중인 AI 시스템에서 검증된 경험적 데이터를 기반으로 작성되었습니다. 모든 취약점 발견 사항은 책임 있는 공개 (responsible disclosure) 프로그램을 통해 공개되었습니다. 벤치마크 데이터는 Correctover 내부 테스트 환경의 결과입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기