Devotd Github
새 소식보안

ezed9/mcp-bouncer — MCP 호출 목적지를 막는 결정론적 방화벽

MCP 클라이언트와 툴 서버 사이에서 도구 호출이 향하는 목적지를 LLM 없이 결정론적으로 판정하는 로컬 stdio 프록시 ezed9/mcp-bouncer를 소개한다.

저장소 정보ezed9/mcp-bouncer ↗

MCP 클라이언트와 툴 서버 사이에서 도구 호출이 향하는 목적지를 LLM 없이 결정론적으로 판정하는 로컬 stdio 프록시 ezed9/mcp-bouncer를 소개한다.

GitHub 설명: A deterministic exfiltration firewall for MCP tool calls — gates the destination, not the tool. No LLM in the decision path.

스타
★ 2
포크
0
언어
Python
라이선스
MIT
원문 보기 ↗GitHub에서 보기 ↗

ezed9/mcp-bouncer는 MCP 클라이언트와 기존 툴 서버 사이에 들어가는 로컬 stdio 프록시다. 도구를 1:1로 재노출하면서 호출을 검사해, 그 값이 어떤 목적지로 나가는지를 LLM을 거치지 않고 결정론적으로 판정한다. 판정 기준은 도구를 쓸 수 있는지가 아니라 값이 나가는 목적지다. Python으로 작성됐고 라이선스는 MIT다.

판정 재료는 기록된 스키마, 정책, taint(오염) 로그다. 데이터 출처와 인자 제약, 호출 예산을 규칙으로 계산해 호출 하나를 allow, deny, ask 중 하나로 분류하고, 결과를 로컬 감사 로그에 남긴다. 판정이 LLM이나 분류기를 거치지 않는 순수 파이썬 규칙 엔진으로만 내려가므로 같은 입력에는 같은 판정이 나오고, 분류기 기반 가드와 달리 재현성과 감사 가능성이 구조적으로 다르다. AgentDojo v1 workspace 스위트에서 실제 측정한 결과도 케이스 단위로 공개되어 있다. 기준선 공격 성공은 1/3이었고 Bouncer 적용 시 0/3이었다. 사용자 과제 유틸리티는 0.33에서 1.00으로, 무해 조건 유틸리티는 1.00이었다.

다만 표본이 작다는 한계는 기록이 스스로 밝힌 대로다. v1 초기 단계이고 정책 DSL 확장성은 검증되지 않았다. 스타는 2개이고 릴리스도 아직 없다. 제시된 조건에서 차단과 과제 유틸리티 유지가 함께 나타났지만, 이 수치만으로 일반적인 MCP 환경의 결과를 단정하기는 이르다.