Token导航 LogoToken导航TokenDH.com
mcptrust (9968f5) logo
安全风控未说明官方级别未说明来源级核验

mcptrust (9968f5)

MCP Server

MCPTrust是一个默认拒绝的运行时代理和CI门控工具,用于确保MCP服务器的安全运行,通过锁定工具、提示和资源来防止未经授权的更改。

工具数

0

提示词数

0

GitHub Stars

6

资源数

0
GoClaude安全Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mcptrust

提供方

mcptrust

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCPTrust

默认情况下拒绝MCP服务器的运行时代理+CI门。\ 钉上你跑的东西。核实来源。强制执行允许使用的工具/提示/资源。

适用于: 在Claude Desktop、LangChain、AutoGen、CrewAI或内部AI代理中运行MCP服务器的团队。

______________________________________________________________________

它阻碍了什么

MCPTrust是您的AI代理和MCP服务器之间的防火墙。
  • 🚫 运行时的阴影工具 --服务器添加新 exec_shell 在您批准后使用该工具?此 路 不通。
  • 🚫 锁定文件后漂移 --自上次CI检查以来服务器是否已更改?构建失败。
  • 🚫 供应链互换 --焦油球哈希值与固定工件不匹配?执行被拒绝。

没有MCPTrust,任何MCP服务器都可以默默地添加危险的功能。对于MCPTrust,默认情况下是拒绝的。

______________________________________________________________________

2分钟快速入门

# 1. Install
go install github.com/mcptrust/mcptrust/cmd/mcptrust@latest

# 2. Lock the server's capabilities
mcptrust lock -- "npx -y @modelcontextprotocol/server-filesystem /tmp"

# 3. Run with enforcement (blocks anything not in lockfile)
mcptrust proxy --lock mcp-lock.json -- npx -y @modelcontextprotocol/server-filesystem /tmp

就这样 代理现在位于主机和服务器之间,阻止任何不在锁文件中的工具/提示/资源。

______________________________________________________________________

尝试“失败关闭”演示

请参阅MCPTrust实时阻止流氓工具:

# Lock a server
mcptrust lock -- "npx -y @modelcontextprotocol/server-filesystem /tmp"

# Now imagine the server adds a new tool after you locked it...
# The proxy blocks unknown tools and logs:

mcptrust proxy --lock mcp-lock.json -- npx -y @modelcontextprotocol/server-filesystem /tmp
# → [BLOCKED] tools/call: unknown tool "exec_shell" not in allowlist

工具被阻塞时的预期输出:

mcptrust: action=blocked method=tools/call tool=exec_shell reason="not in allowlist"

______________________________________________________________________

运作原理

┌──────────┐      ┌─────────────────────┐      ┌────────────┐
│   Host   │ ──── │   mcptrust proxy    │ ──── │ MCP Server │
│ (Claude) │      │                     │      │            │
└──────────┘      └─────────────────────┘      └────────────┘
                          │
                          ▼
              ┌─────────────────────────────┐
              │  • ID translation (anti-    │
              │    spoofing, server never   │
              │    sees host request IDs)   │
              │  • List filtering           │
              │  • Call/read blocking       │
              │  • Drift preflight check    │
              │  • Audit logs/receipts      │
              └─────────────────────────────┘

______________________________________________________________________

特征网格

功能它做什么
运行时代理默认情况下拒绝主机和服务器之间的强制执行
锁定文件v3允许列表工具、提示、资源、模板
漂移检测CI在关键/中等/信息更改时失败
策略预设baseline (警告)或 strict (故障关闭)
工件钉扎SHA-512/256完整性+来源验证
ID转换反欺骗:服务器永远看不到真实的主机ID
仅审核模式记录所有内容,不阻止任何内容(培训/推广)
仅筛选模式筛选列表,不阻止呼叫(可见性)

______________________________________________________________________

信任和安全保证

MCPTrust明确保证其他工具不会:

不变性机制
服务器永远看不到主机请求ID代理生成的ID;主机ID从未转发
丢弃了未知/重复的响应反欺骗:响应必须与挂起的请求匹配
在等待饱和时失败关闭如果跟踪表已满,则拒绝(无静默传递)
RNG故障时故障关闭如果ID生成失败,则拒绝请求
校验和不匹配时失败关闭工件哈希必须匹配或执行被拒绝
NDJSON行限制线路>10MB掉线(OOM防御)
仅支持HTTPS的tarball下载HTTP被阻止;私有IP被阻止(SSRF防御)
CI动作固定在SHA上复合操作使用固定依赖关系

担保_担保.md 了解全部细节。

______________________________________________________________________

集成

MCPTrust适用于您现有的堆栈:

平台状态注释
克劳德桌面版✅ 作品要点 mcpServersmcptrust proxy --
克劳德代码✅ 作品使用 claude mcp add 使用mcptrust代理
节点MCP服务器✅ 适用任何基于stdio的服务器(npx、节点等)
Python代理✅ WorksLangChain、AutoGen、CrewAI——使用代理作为子流程
GitHub操作✅ 原住民复合作用 用于CI门
码头工人✅ 作品mcptrust run 支持 docker run IMAGE

Claude桌面示例

{
  "mcpServers": {
    "filesystem": {
      "command": "mcptrust",
      "args": ["proxy", "--lock", "/path/to/mcp-lock.json", "--", "npx", "-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
    }
  }
}

Claude代码示例

# Generate lockfile
mcptrust lock --v3 -- npx @modelcontextprotocol/server-filesystem /tmp

# Add MCP server with MCPTrust proxy
claude mcp add my-server -- mcptrust proxy --lock mcp-lock.json -- npx @modelcontextprotocol/server-filesystem /tmp

______________________________________________________________________

GitHub行动(CI门)

在30秒内将MCPTrust添加到您的CI:

- uses: mcptrust/mcptrust/.github/actions/mcptrust@
  with:
    mode: check
    lockfile: mcp-lock.json
    fail_on: critical
    policy: baseline
    server_command: 'npx -y @modelcontextprotocol/server-filesystem /tmp'
模式目的
lock从服务器生成锁文件
check如果检测到漂移,则失败
policy执行CEL治理规则
\[!提示\] 固定到用于安全工具的提交SHA。看 行动自述.

______________________________________________________________________

代理模式

                          ┌─────────────────────────────┐
                          │        Proxy Modes          │
                          └─────────────────────────────┘
                                       │
           ┌───────────────────────────┼───────────────────────────┐
           │                           │                           │
           ▼                           ▼                           ▼
   ┌───────────────┐          ┌───────────────┐         ┌────────────────┐
   │    ENFORCE    │          │  FILTER-ONLY  │         │  AUDIT-ONLY    │
   │   (default)   │          │               │         │                │
   ├───────────────┤          ├───────────────┤         ├────────────────┤
   │ ✅ Filter lists│         │ ✅ Filter lists│         │ ❌ No filtering│
   │ ✅ Block calls │         │ ❌ Allow calls │         │ ❌ Allow calls │
   ├───────────────┤          ├───────────────┤         ├───────────── ──┤
   │  Production   │          │    Rollout    │         │   Training     │
   └───────────────┘          └───────────────┘         └────────────────┘
模式列表已筛选呼叫已阻止用例
enforce (默认)生产
--filter-only可见性卷展栏
--audit-only培训/记录
# Enforce mode (default) — blocks unknown tools
mcptrust proxy --lock mcp-lock.json -- npx -y ...

# Audit-only — log but don't block (safe for rollout)
mcptrust proxy --audit-only --lock mcp-lock.json -- npx -y ...

# Filter-only — filter lists, don't block calls
mcptrust proxy --filter-only --lock mcp-lock.json -- npx -y ...

______________________________________________________________________

供应链安全

MCPTrust锁定并验证您运行的确切工件:

# Lock with artifact pinning + provenance
mcptrust lock --pin --verify-provenance -- "npx -y @modelcontextprotocol/server-filesystem /tmp"

# Enforced execution (verifies everything, then runs)
mcptrust run --lock mcp-lock.json
保证机制
焦油球SHA-512匹配lockfile.artifact.integrity
焦油球SHA-256匹配lockfile.artifact.tarball_sha256
SLSA来源验证共同签名认证验证
没有安装后脚本--ignore-scripts 强制执行
仅限本地执行已验证的二进制文件 node_modules/.bin/

______________________________________________________________________

安全态势

MCPTrust自己的供应链得到加强:

  • GitHub操作被固定到SHA --所有动作依赖项都使用提交SHA
  • 启用Dependabot --GitHub操作的自动更新
  • 释放校验和失败关闭 --需要二进制验证
  • 仅HTTPS下载 --HTTP和私有IP被阻止
  • 责任揭秘 --请参阅 安全.md

______________________________________________________________________

CLI参考

命令目的
scan检查MCP服务器功能
lock创建 mcp-lock.json 从服务器状态
diff检测锁文件和实时服务器之间的漂移
proxy作为stdio强制代理运行
run已验证固定工件的执行情况
sign / verifyEd25519或Sigstore签名
policy check执行CEL治理规则
bundle export创建确定性ZIP进行分发

docs/CLI.md 供充分参考。

______________________________________________________________________

签名与验证

Ed25519(本地)

mcptrust keygen                           # Generate keypair
mcptrust sign --key private.key mcp-lock.json
mcptrust verify --key public.key mcp-lock.json

Sigstore(CI/CD,无钥匙)

mcptrust sign --sigstore mcp-lock.json
mcptrust verify mcp-lock.json \
  --issuer https://token.actions.githubusercontent.com \
  --identity "https://github.com/org/repo/.github/workflows/sign.yml@refs/heads/main"

docs/SIGSTORE.md GitHub操作示例。

______________________________________________________________________

可观测性

结构化日志记录

mcptrust lock --log-format jsonl --log-output /var/log/mcptrust.jsonl -- "..."

收据(审计跟踪)

mcptrust lock --receipt /var/log/mcptrust/receipt.json -- "..."

开放遥测

mcptrust lock --otel --otel-endpoint localhost:4318 -- "..."

docs/observatory-otel.md 完整的选项。

______________________________________________________________________

文档

______________________________________________________________________

路线图

  • 🔜 策略包 --可共享的治理规则集
  • 🔜 收据模式v2 --SIEM集成的稳定模式
  • 🔜 资源/提示模板锁定 --完全覆盖MCP表面

______________________________________________________________________

局限性

MCPTrust确保 接口,而不是 实施:

超出范围为什么
恶意逻辑一个名为 read_file 运行 rm -rf 通过模式看起来完全相同
运行时提示注入MCPTrust不监视代理↔ 工具对话
关键妥协如果 private.key 被盗,攻击者可以签署恶意锁文件
开发开销对于快速原型制作,lockfile工作流程可能过于繁琐

线程_模式.md 了解全部细节。

______________________________________________________________________

发展

go test ./...                              # Unit tests
bash tests/gauntlet.sh                     # Integration suite
MCPTRUST_BIN=./mcptrust bash scripts/smoke.sh  # Smoke test

______________________________________________________________________

贡献

欢迎发布问题和PR。看 安全.md 用于漏洞报告。

许可证

阿帕奇-2.0

目录标签

目录标签

GoClaude安全安全代理本地部署CI/CD门控MCP服务器运行时保护供应链安全

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP