跳转到主要内容
一个第三方 MCP 服务器是一束未审查的工具、一份活的凭据和全新的 网络可达性。一个智能体直接拨入其中一个的那一刻,没人在看那次 调用——而”服务器在你批准之后更改了它的工具”是一种真实的攻击, 不是一个假设。在你把一个智能体指向别人运营的服务器之前,你想要 一个可重复的预检。 本页就是那个预检:一份简短、有序的清单,用已经存在的控制 ——每次调用的评估、默认拒绝的允许列表、出站限制、加密凭据和技能 隔离——来在 OrcaRouter 上审核 mcp 服务器连接。每一步都链接到 聚焦的操作指南以求深入。每个新服务器运行它一次;每当服务器变化时 重新运行对漂移敏感的步骤。
这里的每一个配置步骤都从控制台(或使用你的会话/访问令牌的 REST API)完成,并受角色门控。只有防火墙网关路由和 /v1/* 中继调用 才携带 sk-orca-... 样式的密钥。

1. 审核 mcp 服务器连接的清单

自上而下地做。前三步对任何你不自己运营的服务器都是强制的;其余的 加固它。

1. 信任前先探测

在编写一条规则之前发现真实的工具列表和可达性。

2. 默认拒绝,然后允许列表

只放行你审查过的工具;其他一切被拒绝。

3. 加密凭据

存储鉴权,使其静态加密、读取时屏蔽、永不被模型看到。

4. 锁定出站

约束该服务器的工具在网络上可以触及哪里。

5. 隔离自安装的技能

把智能体自行安装的任何东西挂起,直到一个人审查它。

6. 先 shadow,然后观察

以仅审计推出,然后在执行之前读取事件和异常。

2. 信任前先探测

你无法审查你从未见过的工具,而一个服务器的声明工具列表是最有可能 在你不知情的情况下改变的东西。注册该服务器,然后**探测(probe)**它 ——网关针对端点运行一次 MCP initialize + tools/list,并返回带其 输入 schema 的真实工具,外加一个 okdegradeddown 的可达性 status
# 控制台路由,用你的会话/访问令牌(UserAuth)调用。Developer+。
curl -X POST \
  https://api.orcarouter.ai/api/workspace/firewall/mcp_servers/42/probe \
  -H "Authorization: Bearer <your-access-token>"
读取每一个工具名以及它的参数接受什么。一个声明了你没料到的 shell.exechttp_fetch 的服务器是一个发现项,不是一个细节 ——那正是先探测的全部意义。
每当一个服务器易手或你怀疑漂移时重新探测。列表中出现一个新工具 ——那个”rug pull”——正是你在留意的东西。参见 Rug-pull 防御
完整的注册和探测参考住在 防火墙:MCP 服务器;端到端的演练是 连接一个 MCP 服务器

3. 默认拒绝,然后允许列表你审查过的工具

一个允许列表是”服务器可以做六件事”与”服务器可以做它的运营者明天 决定的任何事”之间的区别。把策略的 default_verdict 设为 deny, 然后为你审查过并信任的每个工具添加一条规则。因为网关把每个工具 命名为 <server>.<tool>,你可以把规则限定到一个服务器而不触及 其他的。
// mcp 面上的策略:默认拒绝,只允许你审查过的。
// tool_name_glob 支持一个整段通配符:"github.*"(前缀)、
// "*.exec"(后缀)或 "*.shell.*"(中缀)。像 "github.get_*" 这样的
// 段中 glob 回退为一个精确匹配,不会展开。
{
  "default_verdict": "deny",
  "rules": [
    { "tool_name_glob": "github.create_issue", "verdict": "allow" },
    { "tool_name_glob": "github.get_issue",    "verdict": "allow" }
  ]
}
现在 github.create_issue 运行、github.get_issue 运行,而一个新近 引入的 github.delete_repo 在你审查并允许它之前被拒绝。一次被拒绝的 tools/call 作为一个工具错误firewall deny: …)回到模型—— 智能体适应而不是崩溃。 完整的菜谱参见 允许列表 MCP 工具,匹配 DSL 参见 防火墙规则

4. 加密凭据——绝不手工搞鉴权

一个第三方服务器几乎总是需要一个凭据,而一个凭据是你最不想让它 坐在明文里或到达模型的东西。通过 OrcaRouter 注册该服务器的鉴权, 使其静态加密、读取时屏蔽,并只在派发时注入。 auth_modenonebeareroauthbasic 之一:
# 控制台路由,UserAuth,Developer+。
curl https://api.orcarouter.ai/api/workspace/firewall/mcp_servers \
  -H "Authorization: Bearer <your-access-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "github",
    "endpoint": "https://api.githubcopilot.com/mcp",
    "auth_mode": "bearer",
    "auth_json": "{\"token\":\"ghp_x\"}"
  }'
凭据在它被存储的那一刻被加密和屏蔽——它永不到达模型或客户端, 而在读取时你只会看到屏蔽值。在一次更新时,把屏蔽值回传以保留已 存储的值;只有在你轮换时才发送全新的 auth_json。参见 鉴权凭据轮换

5. 锁定出站:它的工具能触及哪里?

每次调用的判定决定哪个工具运行;出站决定它可以触及哪里。一个 “返回数据”的工具和一个”把你的密钥外泄到攻击者主机”的工具,可以是 带不同参数的同一个工具——出站控制就是把它们区分开的东西。 网关已经在每一跳上对照一个 SSRF 策略校验每个远程端点及其解析出的 拨号 IP,拒绝内网范围和云元数据地址,并重新核查 IP 以挫败 DNS 重绑定。在那之上,为这个服务器永不应触及的主机和 CIDR 编写你自己的 出站 deny 规则:
// 一条 egress 阶段规则把它的判定限定到出站目的地。
// egress_json 携带主机/CIDR allow + deny 列表。
{
  "stage": "egress",
  "verdict": "deny",
  "egress_json": "{\"deny\":[\"10.0.0.0/8\"]}"
}
没有任何预设为你交付 CIDR 规则——你自己编写主机/CIDR deny 列表, 限定到这个服务器合法需要的范围。参见 出站限制数据外泄

6. 隔离智能体自行安装的东西

你注册的服务器是一个风险;智能体之后自安装的技能、BYO MCP 服务器和插件是另一个。OrcaRouter 扫描每一个可安装的能力,赋予它 一个风险等级,并推导出一个执行模式——allowquarantineblock——它叠加在每一条规则判定之上。 首次使用时被自动检测的任何东西都在一个人审查它之前被隔离: 一个没人批准的能力不会仅仅因为它扫描结果良性就得到一张通行证。 一个 quarantine 能力把任何低于 deny 的判定升级为 pending_approval, 因此它的工具只在你看过之后运行。
不要试图手工注册每个技能。预先批准你信任的那些,让其余的被自动 检测并隔离——然后从真实数据审查。模式在重新扫描时更紧地棘轮, 永不更松。参见 防火墙:技能MCP 工具投毒

7. 先 shadow,然后观察轨迹

不要把一个全新的服务器直接翻转为执行。把策略放进 shadow 模式 ——执行判定被降级为审计并记录为 [shadow] would …——因此你可以在 它实际拦截之前看到本会被拦截的内容。当审计轨迹看起来正确时, 撤掉 shadow 模式并执行。 上线之后,这些控制持续观察:
每一次受治理的调用记录它的判定、面和匹配的规则。读取它们以确认 允许列表和出站规则按预期行事。参见 审计 MCP 事件
对照一个学习到的基线的速率和成本激增,加上重试循环和新颖的工具 路径,作为异常浮现——可由任何 Member 读取。
打开 observe 模式,把一个策略尚未覆盖的调用记录为缺口,因此你从 一个智能体实际做的事而不是从猜测来收紧。

8. 快速路径:挑一个自治级别

如果你宁愿不为一个你不完全信任的服务器手工构建第 3–5 步,应用一个 自治级别并从那里编辑。这些级别写出真实、可编辑的策略和防护栏行 ——它们是一个起点,不是一个黑盒:
级别它设置什么
permissiveObserve 模式开——记录一切,不执行任何东西。
balanced默认审计的策略,拒绝破坏性 shell,外加处于 flag-only 模式的 PII Shield 防护栏。
tight默认拒绝的策略,拒绝破坏性 shell 和 fetch 形状的工具(http_fetch/web_search/fetch_url/request——SSRF 向量),外加被执行的 PII Shield 和 Secrets Blocker 防护栏。参数中的密钥由请求上的 Secrets Blocker 防护栏抓住,而不是由一条 tool-arg 规则。
对于一个你仍在审核的第三方服务器,从 tight 开始,探测,然后把 具体的工具放松进一个允许列表。一键撤销恢复应用前的快照。
设置、策略、已发现工具、异常、已注册 MCP 服务器和技能的读取对任何 Member 开放;事件、运行和聚合的读取需要 Developer+,而每一次 写入需要 Developer+。揭示一个令牌的明文密钥也是 Developer+

9. 下一步去哪里

连接一个 MCP 服务器

通过网关注册、探测并暴露一个服务器。

允许列表 MCP 工具

默认拒绝一个服务器,只放行审查过的工具。

Rug-pull 防御

抓住一个在你批准后发生变化的服务器或技能。

MCP 安全总览

MCP 治理面的完整地图。
对这个模型还不熟悉?读 防护栏 vs. 防火墙 了解 MCP 治理落在哪里,然后读 过度代理权危险的工具调用 了解这份 清单关闭的威胁。