피드로 돌아가기
We scanned 50+ MCP servers and found HIGH-severity bugs in Atlassian, GitHub, Cloudflare, and Microsoft — here's what we learned
Dev.toDev.to
Security

50개 이상의 MCP 서버 분석을 통한 고위험 보안 취약점 식별 및 AIVSS 기반 정량 분석

We scanned 50+ MCP servers and found HIGH-severity bugs in Atlassian, GitHub, Cloudflare, and Microsoft — here's what we learned

Truong Bui2026년 5월 13일5advanced

Context

Model Context Protocol(MCP) 서버가 외부 데이터를 LLM 컨텍스트로 전달하는 과정에서 데이터 출처 구분 기작 부재로 인한 보안 취약점 발생. 특히 신뢰할 수 없는 외부 콘텐츠가 시스템 명령어로 오인되는 구조적 한계 노출.

Technical Solution

  • Provenance Delimiters 도입을 통한 외부 콘텐츠와 신뢰 명령어를 분리하는 구조 설계
  • System Prompt 내 전용 태그(<external_content>) 처리 로직 정의를 통한 Indirect Prompt Injection 차단
  • ReadOnlyHint 설정을 엄격히 제한하여 클라이언트의 승인 프로세스 우회 및 Privilege Escalation 방지
  • Outbound HTTP 요청 시 Allowlist 기반의 URL Scheme 검증 로직 구현을 통한 SSRF 공격 경로 제거
  • LLM Judge Panel과 AIVSS(AI Vulnerability Severity Score) 루브릭을 활용한 자동화된 취약점 스캐닝 파이프라인 구축

- 외부 획득 콘텐츠를 LLM에 전달 전 Provenance Delimiter로 래핑했는가? - readOnlyHint:true 설정 시 실제로 부수 효과(Side Effect)가 전혀 없는지 검증했는가? - 외부 URL 호출 시 프로토콜 및 도메인 Allowlist 검증 로직이 포함되었는가? - Dockerfile 내 실행 사용자를 root가 아닌 non-root 계정으로 설정했는가? - GitHub Actions 워크플로우에서 태그 대신 Commit SHA를 사용하여 의존성을 고정했는가?

원문 읽기