피드로 돌아가기
MCP Filesystem Path Boundary Checklist
Dev.toDev.to
Security

Runtime Canonical Path 검증을 통한 MCP Filesystem 권한 탈취 원천 차단

MCP Filesystem Path Boundary Checklist

Rhumb2026년 5월 17일4advanced

Context

단순한 Read-only 설정이나 Schema 검증만으로는 Symlink, Path Traversal 등을 통한 Host State 및 Secret 노출 위험을 방어하기 어려운 한계 존재. 모델이 제공하는 Path를 단순 문자열이 아닌 Authorization Input으로 처리하여 Runtime 수준의 엄격한 경계 검증이 필요함.

Technical Solution

  • Path Normalization 및 Canonicalization 과정을 통한 Symlink 및 Relative Segment 해결 후 Allowed Root 접두사 비교 구조 설계
  • Read, Write, Execute 등 Operation Class별 권한을 분리하여 특정 경로의 Read 권한이 Write 권한으로 전이되지 않도록 격리
  • Allowed Path와 대응되는 Denied Sibling Path를 쌍으로 구성하여 Parent Traversal 및 Hidden Config 접근 차단 여부를 검증하는 Fixture 기반 테스트 도입
  • 단순 에러 반환이 아닌 Requested Path, Canonical Path, Rule ID가 포함된 Typed Denial Receipt를 생성하여 감사 가능한 추적성 확보
  • 파일 크기 제한, 확장자 Allowlist, Secret Redaction 규칙을 적용하여 Context 내 과도한 데이터 유입 및 민감 정보 유출 방지

1. 모델 입력 Path를 Canonical Path로 변환 후 Root Prefix 일치 여부 확인

2. ../, ..%2f 등 Traversal 패턴에 대한 Deny Receipt 생성 여부 테스트

3. .env, .aws/credentials 등 Secret-bearing paths에 대한 기본 차단 및 Redaction 적용

4. Operation Class별(Read vs Write vs Execute) 최소 권한 원칙 적용

원문 읽기