피드로 돌아가기
I broke my own governed MCP server by hand, then built the scanner that catches the class
Dev.toDev.to
Security

Runtime Differential Scanning을 통한 MCP 서버 RBAC 취약점 자동 탐지

I broke my own governed MCP server by hand, then built the scanner that catches the class

Alex LaGuardia2026년 6월 27일6advanced

Context

기존 MCP 보안 스캐너는 Tool Manifest 기반의 정적 분석에 의존하여 런타임 권한 제어 결함을 탐지하지 못하는 한계 존재. 특히 Output Redaction이 적용되어도 Input Filter를 통한 데이터 유출이 가능한 Logic Bug를 식별하기 어려운 구조임.

Technical Solution

  • Runtime Authorization 검증을 위해 실제 Role 기반으로 서버에 요청을 보내는 Dynamic Scanning 구조 설계
  • 권한이 가장 높은 Identity를 Baseline으로 설정하고 제한된 Role의 응답 결과와 대조하는 Differential Analysis 기법 적용
  • Redacted-field filter leak 탐지를 위해 출력에서 제거된 필드를 필터 조건으로 주입하여 결과 집합의 크기 변화를 측정하는 로직 구현
  • Row-scope escalation 및 IDOR 탐지를 위해 범위 외 필터 값 주입 및 단일 레코드 조회 경로의 권한 우회 여부 검증
  • Tool-poisoning 방지를 위해 실제 Agent Loop를 구동하여 모델이 공격자의 의도대로 Sink 함수를 실행하는지 관측하는 Behavioral Test 수행

- 출력 데이터의 마스킹 처리뿐 아니라 입력 필터 조건에 의한 데이터 유출 가능성(Inference Attack) 검토 - 정적 Manifest 분석을 넘어 실제 배포 환경에서 Role별 응답 차이를 비교하는 Differential Testing 도입 - 권한 제어 로직 구현 시 List 경로와 Get-by-ID 경로의 Authorization 로직 일관성 확인 - LLM 기반 Tool 사용 시 텍스트 패턴 매칭이 아닌 실제 Agent의 행동 변화를 관측하는 Regression Test 구축

원문 읽기