这里的每一个配置步骤都从控制台(或使用你的会话/访问令牌的 REST
API)完成,并受角色门控。只有防火墙网关路由和
/v1/* 中继调用
才携带 sk-orca-... 样式的密钥。1. 审核 mcp 服务器连接的清单
自上而下地做。前三步对任何你不自己运营的服务器都是强制的;其余的 加固它。1. 信任前先探测
在编写一条规则之前发现真实的工具列表和可达性。
2. 默认拒绝,然后允许列表
只放行你审查过的工具;其他一切被拒绝。
3. 加密凭据
存储鉴权,使其静态加密、读取时屏蔽、永不被模型看到。
4. 锁定出站
约束该服务器的工具在网络上可以触及哪里。
5. 隔离自安装的技能
把智能体自行安装的任何东西挂起,直到一个人审查它。
6. 先 shadow,然后观察
以仅审计推出,然后在执行之前读取事件和异常。
2. 信任前先探测
你无法审查你从未见过的工具,而一个服务器的声明工具列表是最有可能 在你不知情的情况下改变的东西。注册该服务器,然后**探测(probe)**它 ——网关针对端点运行一次 MCPinitialize + tools/list,并返回带其
输入 schema 的真实工具,外加一个 ok、degraded 或 down 的可达性
status。
shell.exec 或 http_fetch 的服务器是一个发现项,不是一个细节
——那正是先探测的全部意义。
完整的注册和探测参考住在
防火墙:MCP 服务器;端到端的演练是
连接一个 MCP 服务器。
3. 默认拒绝,然后允许列表你审查过的工具
一个允许列表是”服务器可以做六件事”与”服务器可以做它的运营者明天 决定的任何事”之间的区别。把策略的default_verdict 设为 deny,
然后为你审查过并信任的每个工具添加一条规则。因为网关把每个工具
命名为 <server>.<tool>,你可以把规则限定到一个服务器而不触及
其他的。
github.create_issue 运行、github.get_issue 运行,而一个新近
引入的 github.delete_repo 在你审查并允许它之前被拒绝。一次被拒绝的
tools/call 作为一个工具错误(firewall deny: …)回到模型——
智能体适应而不是崩溃。
完整的菜谱参见
允许列表 MCP 工具,匹配 DSL
参见 防火墙规则。
4. 加密凭据——绝不手工搞鉴权
一个第三方服务器几乎总是需要一个凭据,而一个凭据是你最不想让它 坐在明文里或到达模型的东西。通过 OrcaRouter 注册该服务器的鉴权, 使其静态加密、读取时屏蔽,并只在派发时注入。auth_mode 是 none、bearer、oauth 或 basic 之一:
5. 锁定出站:它的工具能触及哪里?
每次调用的判定决定哪个工具运行;出站决定它可以触及哪里。一个 “返回数据”的工具和一个”把你的密钥外泄到攻击者主机”的工具,可以是 带不同参数的同一个工具——出站控制就是把它们区分开的东西。 网关已经在每一跳上对照一个 SSRF 策略校验每个远程端点及其解析出的 拨号 IP,拒绝内网范围和云元数据地址,并重新核查 IP 以挫败 DNS 重绑定。在那之上,为这个服务器永不应触及的主机和 CIDR 编写你自己的 出站 deny 规则:6. 隔离智能体自行安装的东西
你注册的服务器是一个风险;智能体之后自安装的技能、BYO MCP 服务器和插件是另一个。OrcaRouter 扫描每一个可安装的能力,赋予它 一个风险等级,并推导出一个执行模式——allow、quarantine 或
block——它叠加在每一条规则判定之上。
首次使用时被自动检测的任何东西都在一个人审查它之前被隔离:
一个没人批准的能力不会仅仅因为它扫描结果良性就得到一张通行证。
一个 quarantine 能力把任何低于 deny 的判定升级为 pending_approval,
因此它的工具只在你看过之后运行。
7. 先 shadow,然后观察轨迹
不要把一个全新的服务器直接翻转为执行。把策略放进 shadow 模式 ——执行判定被降级为审计并记录为[shadow] would …——因此你可以在
它实际拦截之前看到本会被拦截的内容。当审计轨迹看起来正确时,
撤掉 shadow 模式并执行。
上线之后,这些控制持续观察:
防火墙事件
防火墙事件
每一次受治理的调用记录它的判定、面和匹配的规则。读取它们以确认
允许列表和出站规则按预期行事。参见
审计 MCP 事件。
异常信息流
异常信息流
对照一个学习到的基线的速率和成本激增,加上重试循环和新颖的工具
路径,作为异常浮现——可由任何 Member 读取。
已发现工具
已发现工具
打开 observe 模式,把一个策略尚未覆盖的调用记录为缺口,因此你从
一个智能体实际做的事而不是从猜测来收紧。
8. 快速路径:挑一个自治级别
如果你宁愿不为一个你不完全信任的服务器手工构建第 3–5 步,应用一个 自治级别并从那里编辑。这些级别写出真实、可编辑的策略和防护栏行 ——它们是一个起点,不是一个黑盒:| 级别 | 它设置什么 |
|---|---|
permissive | Observe 模式开——记录一切,不执行任何东西。 |
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 治理面的完整地图。
