피드로 돌아가기
Dev.toSecurity
원문 읽기
Admission-time 승인을 넘어 Runtime Capability Manifest 기반의 MCP Tool Drift 방어 체계 구축
MCP Security Starts After Tool Approval | Focused Labs
AI 요약
Context
MCP(Model Context Protocol) 환경에서 서버의 최초 연결 승인(Admission-time) 이후, 도구 정의가 동적으로 변경되는 Tool Drift 현상 발생. 단순 신원 검증만으로는 Read-only 도구가 Mutate 도구로 변질되거나 PII 데이터 접근 권한이 확장되는 'Rug Pull' 공격 및 보안 취약점 대응에 한계가 있음.
Technical Solution
- Tool Definition을 보안 민감 자산으로 정의하여 Hashing 및 Pinning을 통한 무결성 검증 체계 도입
- 서버 승인 시점의 권한 범위를 명시한 Capability Manifest를 생성하여 Runtime의 비교 기준점으로 활용
- Live Tool Definition과 Manifest 간의 Diff 분석을 통해 Effect, Data Class, External Reach, Schema Shape의 변경 사항 탐지
- Drift Score 산출 로직을 통해 고위험 변경 사항 발견 시 모델의 도구 호출 전 즉각적인 Quarantine 처리
- 개별 Tool Call의 실행 내역을 Trace 및 Incident Evidence로 기록하여 관찰 가능성(Observability) 확보
- Runtime 수준의 Enforcement 계층을 구축하여 프로토콜 표준화와 보안 강제 사항을 분리 설계
실천 포인트
1. MCP 서버 도입 시 도구의 입력/출력 스키마 및 설명(Description)을 포함한 전체 정의를 해싱하여 기록했는가?
2. 런타임 환경에서 도구 호출 전 Capability Manifest와 실제 도구 정의를 비교하는 Diff 로직이 구현되어 있는가?
3. 데이터 클래스 변경(예: 일반 데이터 → PII)이나 권한 확장(예: Read → Write) 시 이를 차단할 Scoring 정책이 존재하는가?
4. Tool Drift 발생 시 이를 알림으로 전달하고 격리(Quarantine)할 수 있는 제어 평면이 마련되어 있는가?