1. 기준선 지문
첫 접촉 시 게이트웨이는 서버의 광고된 툴 세트의 정규 해시를 계산하고 그것을 승인된 기준선으로 저장합니다:- 해시는 모든 툴의 이름, 설명, 그리고 입력 JSON 스키마를 커버합니다 — 정확히 러그풀이 변경할 표면(유출 인자를 얻는 툴, 또는 프롬프트 인젝션을 위해 무기화된 설명이 해시를 뒤집습니다).
- 그것은 순서 독립적입니다: 서버가 툴 목록을 재정렬하거나, 스키마 내부의 키를 재정렬해도 변경처럼 보이지 않습니다. 진짜 정의 변경만이 해시를 움직입니다.
2. 스키마 상태 수명 주기
각 등록된 서버는schema_status를 담습니다. 상태들과 그것들이 서버의
툴이 제공되는지에 영향을 미치는 방식:
| 상태 | 의미 | 툴 제공? |
|---|---|---|
| (기준선화 안 됨) | 첫 사용 — 아직 기준선 미기록. | 발견 자세: 예(trust-on-first-use — 현재 스키마가 기준선으로 캡처됨). 엄격 자세: 아니요 — 아래 pending 참조. |
verified | 라이브 스키마가 승인된 기준선과 일치. | 예 |
changed | 드리프트 탐지 — 라이브 스키마가 기준선과 다름. | 아니요 — 닫힘으로 실패 |
pending | 엄격(no trust-on-first-use) 자세 하의 기준선화되지 않은 서버 — 승인 대기. | 아니요 — 닫힘으로 실패 |
quarantined | admin이 서버를 보류함. | 아니요 — 닫힘으로 실패 |
세 가지 닫힘 상태 —
changed, pending, quarantined — 는 모두 서버의
툴이 게이트웨이를 통해 제공되는 것을 중단시킵니다. verified는 항상
제공합니다; 기준선화되지 않은 서버는 발견 자세(trust-on-first-use) 하에서만
제공되고 엄격 자세 하에서는 pending으로 보류됩니다. 드리프트는 결코
조용히 통과하지 않습니다.3. 드리프트 시 일어나는 일
다시 검사할 때 라이브 스키마가 더 이상 기준선과 일치하지 않음을 발견하면:4. 드리프트된 서버를 다시 승인하기
다시 기준선화는 단일 호출(또는 콘솔 액션)입니다:verified로 되돌립니다. (서버를 격리하는 것은
변경이 적대적이라고 결정할 때를 위한 별도 액션입니다 — approve_schema는
verified로 다시 기준선화만 합니다.) 그 액션은 감사 추적에 기록됩니다.
5. 이것이 들어맞는 곳
스키마 드리프트 탐지는 러그풀 방어의 스키마 레이어 절반입니다; 나머지 절반은mcp 표면에서의 호출별 평가입니다(모든 tools/call이 디스패치 시
당신의 정책에 대해 검사됨). 함께 그것들은 “정의가 변경되었다”와 “이 특정
호출이 위험하다” 둘 다를 커버합니다.
러그풀 방어
전체 러그풀 그림 — 스키마 기준선 더하기 호출별 평가.
MCP 보안 개요
MCP 게이트웨이, 스킬, 그리고 자격 증명.
MCP 툴 포이즈닝
이 상태 기계가 방어하는 위협.
MCP 감사 이벤트
스키마 변경과 게이트웨이 결정 모니터링.
