피드로 돌아가기
We Scanned 12 Popular MCP Servers. Here's What We Found.
Dev.toDev.to
Security

MCP 서버 12종 전수 조사, Prompt-to-RCE 위험성 발견

We Scanned 12 Popular MCP Servers. Here's What We Found.

Pico2026년 4월 2일6intermediate

Context

MCP 생태계 내 보안 표준 및 베이스라인 부재. AI 에이전트가 사용자 입력을 MCP 도구로 전달하는 구조적 특성 존재. 입력값 검증 미비로 인한 원격 코드 실행(RCE) 가능성 상존.

Technical Solution

  • execFile() 대신 spawn() 또는 exec()를 사용하여 셸 인젝션에 취약한 명령 실행 패턴 사용
  • 템플릿 리터럴을 통한 셸 명령어 직접 삽입으로 입력값 검증 단계 생략
  • 프로덕션 코드 내 API 키 및 OAuth 클라이언트 시크릿 하드코딩
  • Python exec() 함수를 이용한 동적 코드 실행 및 샌드박스 격리 미비
  • Claude Desktop 설정에서 nodepython 런타임을 직접 호출하는 셸 인터프리터 구성
  • CI/CD 파이프라인 내 MCP 전용 보안 스캐닝 및 입력값 유효성 검사 로직 누락

Impact

  • 분석 대상 12개 저장소 모두 보안 취약점 발견 (발견율 100%)
  • 총 58건의 취약점 식별 (Critical 12건, High 17건, Medium 29건)
  • Command Injection 패턴 46건 검출
  • 하드코딩된 자격 증명 7건 발견
  • 2026년 1~2월 보고된 MCP CVE 중 Command Injection 비중 43%

Key Takeaway

AI 에이전트와 시스템 셸 사이의 신뢰 경계가 모호할 때 발생하는 Prompt-to-RCE 파이프라인의 위험성 확인. 런타임 수준의 격리가 아닌 애플리케이션 코드 수준의 엄격한 입력 검증과 정적 분석 도구 도입이 필수적임.


MCP 서버 개발 시 `exec()` 사용을 금지하고 `execFile()`로 대체하며, agent-audit을 CI 파이프라인에 통합하여 하드코딩된 시크릿과 인젝션 패턴을 자동 검사할 것

원문 읽기