MCP 서버에 대한 정적 보안 및 위생 감사 도구
요약
본 문서는 Model Context Protocol (MCP) 서버의 보안 및 위생 상태를 감사하는 도구인 `mcp-server-audit`에 대해 설명합니다. 이 도구는 툴 포이즈닝, 느슨한 스키마, 오해의 소지가 있는 주석 등 잠재적 위험을 정적으로 분석하여 보고서를 생성하고 CI 환경에서 병합을 차단할 수 있습니다.
핵심 포인트
- MCP 서버의 보안 취약점을 정적으로 감사하는 도구 제공
- 툴 포이즈닝 지표 및 스키마 오류를 탐지 가능
- CI/CD 파이프라인에 통합하여 배포 전 검증 강화
- 런타임 제어(격리, 게이트웨이)와 병행 사용 권장
MCP 서버를 위한 정적 보안 및 위생 감사. 이 도구를 모든 Model Context Protocol (MCP) 서버(또는 해당 툴 정의의 오프라인 덤프)에 연결하면, 툴 포이즈닝 지표, 느슨한 스키마, 오해의 소지가 있는 주석, 그리고 높은 영향도의 기능에 대한 순위가 매겨진 보고서를 얻을 수 있습니다. CI(지속적 통합) 환경에 포함하여 중요한 발견 사항이 있을 경우 병합을 차단할 수 있습니다.
mcp-server-audit — docker run -i --rm mcp/github (32 tools)
┌──────────┬───────────┬──────────────────┬──────────────────────────────────────────────┐
│ Severity │ Check │ Tool │ Finding │
...
MCP는 AI 에이전트에게 툴을 제공하는 표준 방식이 되었으며, Docker MCP Catalog와 같은 생태계에는 수백 개의 서버가 호스팅되고 있습니다. 하지만 MCP 서버의 툴 설명은 모델에 의해 실행됩니다: 악성적이거나 손상된 서버는 설명 안에 지침(
mcp-server-audit file tools.json --output json
mcp-server-audit file tools.json --output markdown --out-file audit-report.md
mcp-server-audit stdio "docker run -i --rm mcp/github" --fail-on warning # 발견 시 종료 코드 2
| ID | 심각도 | 탐지 항목 |
|---|---|---|
| POISON001 | Critical | 설명 또는 스키마 내의 명령어 주입 구문 (명령어 재정의, 사용자 은폐, 도구 간 강제, 컨텍스트 유출, 자격 증명 요구) |
| ... |
- name: Audit MCP server
run: |
pip install mcp-server-audit
...
이것은 정적 휴리스틱 스캐너이며 안전성 증명이 아닙니다. 호출 시점에 도구에 대해 거짓말을 하거나, 클라이언트별로 다르게 동작하거나, 감사 통과 후 악의적으로 변하는 서버는 탐지할 수 없습니다 (버전을 고정하고 업데이트 시 재감사하십시오). 런타임 제어와 결합해야 합니다: 컨테이너화된 격리, 정책 강제 게이트웨이, 그리고 최소 권한 자격 증명.
- MCP 사양 — 도구 주석을 포함한 프로토콜 자체
- mcp-guardrail-gateway — 사전 배포 감사에 대한 보완적인 런타임 정책 강제
- MCP Inspector — 대화형 디버깅 UI; 이 프로젝트는 대신 비대화형, CI 친화적 보안 검사를 목표로 합니다.
새로운 휴리스틱은 매우 환영합니다. 특히 실제 세계의 오염 패턴이요. checks.py에 해당 패턴을 추가하고, tests/에 픽스처를 추가한 다음, PR을 열어주십시오.
MIT
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기