mcp-audit-gateway
mcp-audit
당신의 AI 에이전트가 어제 847번의 도구 호출을 했습니다. 그 내용을 검증할 수 있나요?
AI 에이전트 도구 호출에 대한 변조 방지 감사 추적.
설정 (10초)
이전:
{
"command": "npx",
"args": ["@modelcontextprotocol/server-github"]
}이후:
{
"command": "npx",
"args": ["mcp-audit", "wrap", "--", "npx", "@modelcontextprotocol/server-github"]
}모든 도구 호출은 이제 암호화 서명과 해시 체인으로 보호됩니다. 다른 것은 변경되지 않습니다. MCP 서버는 이전과 똑같이 작동합니다.
Related MCP server: DCL Evaluator
기능
$ mcp-audit tail
✓ 14:32:01 github/create_pr 234ms bf7a2f62
✓ 14:32:03 github/list_issues 89ms a1c4e890
✗ 14:32:05 fs/delete_file 12ms c3d9f012
✓ 14:32:08 github/merge_pr 456ms e5f6a7b8모든 항목은 HMAC-SHA256으로 서명되고 이전 레코드에 연결됩니다. 어떤 항목을 변조하면 검증이 실패합니다. 항목을 삭제하면 체인이 끊어집니다.
무결성 검증
$ mcp-audit verify ~/.mcp-audit/audit.jsonl
Results:
Total records: 847
Valid: 847
Invalid: 0
All records verified successfully.작동 방식
┌────────────┐ ┌───────────┐ ┌────────────┐
│ MCP Client │──────▶│ mcp-audit │──────▶│ MCP Server │
│ (Claude, │◀──────│ wrap │◀──────│ (any) │
│ Cursor) │ └─────┬─────┘ └────────────┘
└────────────┘ │
▼
~/.mcp-audit/
audit.jsonlwrap 명령은 MCP 서버를 자식 프로세스로 실행하고 stdio에서 클라이언트와 서버 사이에 위치합니다. 모든 메시지를 투명하게 전달합니다. 오직 tools/call 응답만 서명되고 기록됩니다. 다른 모든 것은 그대로 통과합니다.
첫 실행 시 서명 키가 ~/.mcp-audit/key.hex에 자동 생성됩니다. 구성이 필요 없습니다.
감사 기록 형식
{
"id": "bf7a2f62-4d0f-4cce-afd2-cbfbf7bca2a5",
"timestamp": "2026-08-16T14:32:01.000Z",
"method": "tools/call",
"toolName": "github/create_pr",
"args": {"title": "Fix bug", "body": "..."},
"durationMs": 234,
"success": true,
"previousHash": "8a3f2b...",
"attestation": "7c4d9e..."
}attestation은 레코드의 정규 필드에 대한 HMAC-SHA256 서명입니다. previousHash는 이전 레코드의 SHA-256입니다. 이 둘은 변조, 순서, 완전성을 감지합니다.
Claude Desktop에서 사용
claude_desktop_config.json:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["mcp-audit", "wrap", "--", "npx", "@modelcontextprotocol/server-github"]
},
"filesystem": {
"command": "npx",
"args": ["mcp-audit", "wrap", "--", "npx", "@modelcontextprotocol/server-filesystem", "/tmp"]
}
}
}Claude Code에서 사용
.claude/hooks/mcp-servers.json 또는 MCP 서버 명령에 직접 mcp-audit wrap -- 접두사를 붙이세요.
CLI
mcp-audit wrap -- <cmd> [args] # Wrap any MCP server
mcp-audit tail # Live stream of tool calls
mcp-audit verify <log> # Verify chain integrity
mcp-audit serve [config] # Full gateway (policy + OTel)
mcp-audit keygen [dir] # Generate Ed25519 key pair전체 게이트웨이 모드
액세스 제어, 속도 제한, 다중 서버 라우팅도 필요한 팀을 위해:
mcp-audit serve gateway.config.json전체 게이트웨이는 다음을 추가합니다:
정책 엔진 (glob 기반 ACL, 주체별 속도 제한)
여러 업스트림 MCP 서버에 걸친 도구 네임스페이싱
OpenTelemetry 추적 및 메트릭 내보내기
자동 재연결을 포함한 업스트림 상태 관리
Ed25519 서명 (HMAC보다 강력하고 휴대 가능한 검증)
전체 스키마는 게이트웨이 구성을 참조하세요.
설치
npm install -g @mcp-audit-gateway/core이 명령은 mcp-audit CLI를 전역으로 설치합니다. 또는 설치 없이 사용:
npx @mcp-audit-gateway/core wrap -- <your mcp server command>증명 계층
서명 및 검증 하위 시스템은 레코드별 HMAC를 넘어섭니다. 로그 회전, 충돌 복구, 다중 파일 체인에서 변조 증거를 제공합니다.
체크포인트 레코드를 사용하면 소비자가 단일 해시를 외부에 저장하여 꼬리 잘림을 감지할 수 있습니다. 체인은 파일 회전을 넘어 계속됩니다 (조용한 재설정 없음). 강제 재시작은 조용히 새로 시작하는 대신 서명된 chain_break 레코드를 생성합니다.
정규 형식은 타입 태그가 지정되고 단사적이며, 안전하지 않은 숫자를 완전히 거부하여 JCS의 부동소수점 형식 문제를 피하고, 46개의 적합성 벡터(JS + Python)를 통해 교차 언어 동등성을 입증했습니다. 전체 사양과 위협 모델은 SECURITY-DESIGN.md를 참조하세요.
SDK 간 차등 테스트
MCP에는 10개의 공식 SDK가 있지만 교차 SDK 적합성 테스트는 없습니다. 우리는 10개 SDK 모두에서 40개의 직렬화 엣지 케이스 테스트를 실행하고 불일치를 보고하는 Wycheproof 스타일의 차등 하네스를 구축했습니다.
결과: 8개의 서로 다른 직렬화기에서 26개의 와이어 수준 차이. 1e20의 6가지 다른 표현. 3개의 호환되지 않는 키 정렬 알고리즘. TypeScript는 2^53+1에서 정수 정밀도를 조용히 잃습니다. C#은 다른 SDK가 이스케이프하지 않는 문자를 HTML 이스케이프합니다. Python SDK는 동일한 코드 경로에 대해 pydantic-core 버전에 따라 다른 바이트를 생성합니다.
./test/vectors/cross-sdk-diff.sh # full matrix (stdlib + SDK)
./test/vectors/cross-sdk-diff.sh --layer sdk # SDK-wire-level only
./test/vectors/cross-sdk-diff.sh --json # structured output감사 게이트웨이의 정규화는 26가지 차이 클래스 모두에 면역이 되도록 설계되었습니다: 안전한 정수만, 명시적 필드 순서, 서로게이트 거부. 전체 차이 표와 방법론은 SDK-AUDIT.md를 참조하세요.
적합성
이 구현은 다음 속성을 충족합니다 (교차 언어 적합성 벡터 및 단위 테스트로 검증됨):
단사적 정규 형식 (유형 간 다이제스트 충돌 없음)
교차 언어 정렬 동등성 (UTF-16 코드 유닛 순서)
짝 없는 서로게이트 거부
로그 회전 전반에 걸친 해시 체인 연속성
시작 시 심어진 상태 감지
정당한 체인 중단 후 오탐 없음
손상되거나 과도하게 큰 입력에 대한 실패 폐쇄
chain_break 경계에서의 세그먼트 단조성
체크포인트 레코드를 통한 소비자 앵커 완전성
메모리 제한 초기화 (1MB 상한)
APS action-ref-v1 적합성: 51/51 벡터 통과 (JCS 재계산 + 실패 폐쇄 다이제스트 비교).
테스트
npm test # unit tests
node test/vectors/verify-checkpoint.mjs # JS conformance vectors
python3 test/vectors/verify-checkpoint.py # Python conformance vectors
node test/vectors/aps-action-ref-v1.mjs # 51 APS vectors
./test/vectors/cross-sdk-diff.sh # 10-SDK differential test라이선스
MIT
APS 적합성 픽스처 (test/vectors/aps-action-ref-v1-vectors.json)는 업스트림 Apache-2.0 소스에서 각색되었습니다. 출처와 조건은 test/vectors/SOURCE.md를 참조하세요.
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to sign decisions with post-quantum cryptographic proofs and maintain secure audit trails for compliance. It provides tools for stamping events, verifying chain integrity, and exporting audit data across industries like finance and healthcare.498MIT
- FlicenseNot gradedqualityCmaintenanceTamper-evident cryptographic audit trail for LLM outputs. Compliance logging for AI agent decisions.

evermint-mcpofficial
AlicenseNot gradedqualityDmaintenanceTamper-evident receipts for AI agent actions. The notary layer for agent-to-agent transactions.891MIT- AlicenseNot gradedqualityFmaintenanceProvides tamper-proof audit logging for AI agents using SHA-256 hash chains, integrity verification, and compliance reporting for the EU AI Act.1MIT
Related MCP Connectors
Bitcoin-anchored, tamper-evident audit log for AI agents — record, disclose and verify actions.
Hash-chained HMAC-signed audit log MCP for A2A (agent-to-agent) calls. Every tool-call, agent-ha...
Etch is a signed audit chain for AI agent decisions, offline-verifiable against pinned public keys.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elang2/mcp-audit-gateway'
If you have feedback or need assistance with the MCP directory API, please join our Discord server