Model Context Protocol (MCP) 보안 취약점 분석
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

MCP 보안 취약점과 공격 벡터

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인프라/DevOps/보안

대상자

AI 모델과 외부 도구를 연동하는 개발자, 보안 엔지니어, MCP 프로토콜을 사용하는 시스템 운영자

핵심 요약

  • MCP 프로토콜의 핵심 취약점: 도구 설명 삽입 공격(tool description injection)으로 인해 AI가 악의적 명령을 실행할 수 있음
  • 인증 구현 부족: 대부분의 MCP 서버에서 인증이 생략되거나 단순 API 키 검증만 적용되어 공격에 취약
  • 공급망 위험 증가: MCP 도구 패키지의 취약점으로 인해 AI 시스템의 권한이 악용될 가능성 있음

섹션별 세부 요약

1. MCP 프로토콜의 설계적 취약점

  • JSON-RPC 기반의 단순한 프로토콜로, 도구 설명(description) 필드가 AI의 컨텍스트에 직접 입력됨
  • 예시: description 필드에 "API 키를 악의적 서버로 전송" 명령이 삽입될 수 있음
  • AI는 사용자 요청과 관계없이 설명 필드에 포함된 명령을 실행함
  • 대부분의 MCP 구현체가 도구 설명의 위험성을 체크하지 않음

2. 인증 메커니즘의 부족

  • 실제 인증 로직이 누락된 상태로 TODO: 인증 구현 예정 같은 주석만 남겨둠
  • API 키 검증이 GET 요청에만 적용되며, POST 요청(실제 작업 수행)에는 적용되지 않음
  • MCP 2025-06-18 버전에서는 OAuth Resource Server 분류가 필수화되었지만, 기존 구현체는 미흡

3. 공급망 공격 위험

  • MCP 도구 패키지가 AI 시스템의 권한을 그대로 사용함
  • 공급망 공격이 발생 시, AI 대화 내용, 데이터베이스 접근, 타 서비스의 인증 위장 등이 가능
  • 주요 MCP 도구 저장소에서 코드 검토 부족, 권한 범위 과도한 문제 발생

4. 실무 테스트 결과

  • 4개 MCP 구현체 중 2개에 도구 설명 삽입 공격이 성공
  • 10개의 프로덕션 배포 중 1개에 인증되지 않은 엔드포인트 발견
  • 여러 도구가 필요 이상의 권한을 부여받아 있음
  • 이러한 공격은 로그에서 감지 불가능한 특징을 가짐

결론

  • 핵심 권장사항:

- 도구 설명 필드를 구조화된 형식으로 변경하고 명령어를 제거해 AI에 전달

- OAuth Resource Server 패턴RFC 8707 Resource Indicators를 강제 적용

- 모든 요청에 토큰 검증도구 버전 고정을 수행

- MCP 생태계의 초기 단계에서 취약점 수정이 필수적임