ai supply chain security 的用例落地页;
防火墙 和
技能 参考承载完整的机制。
1. 面向智能体的 ai supply chain security,在网关上
那个咽喉点是中继路径。无论一个能力是手动注册的、由智能体自动 安装的,还是从一个社区注册表拉取的,它的第一次工具调用都穿越api.orcarouter.ai——而那正是防火墙评估它的地方。四个控制组合成
一个单一姿态:
MCP 网关,逐次调用评估
每一次
tools/call 都在派发之前对照你的策略被评估——清单
(manifest)永远不是真理之源。技能风险评级与隔离
已安装的能力被扫描、评分,并被挂起待审查,直到一个人工批准
它们。
加密的 MCP 凭据
服务器认证密钥在静态时被加密、在派发时被注入——绝不暴露给
模型、智能体或调用参数。
Egress 允许列表
钉住工具调用可以把数据发往何处,这样一个被攻陷的依赖就无法
外泄到一个你从未批准的主机。
检测在网关上、于首次使用时——而非在你的包管理器或文件系统里。
这是有意为之:它是那条能看到每一个智能体、每一次工具调用
的唯一路径,无论该能力是怎么进来的。
2. 威胁:一个在你信任它之后增长的依赖
| 向量 | 发生了什么 |
|---|---|
| 抽地毯(Rug-pull) | 一个已注册的 MCP 服务器添加了一个你从未批准的工具(shell.exec、一个新的 fetch)。 |
| 技能蔓延(Skill creep) | 一个已安装的技能使用了它的清单从未声明的工具或主机。 |
| 凭据窃取 | 一个被攻陷服务器的工具实现读取它自己的认证密钥去回拨主控。 |
| Egress 外泄 | 一条 retrieve→send 链把你的数据运往一个攻击者控制的主机。 |
3. 一个具体示例——注册并钉住一个 MCP 服务器
你从控制台注册一个第三方 MCP 服务器 (Settings → Firewall → MCP servers;写入需要 Developer+)。该 服务器的认证密钥被加密存储——你提供它一次,网关在派发时注入它, 此后每一次读取它都被掩码。 一条 MCP 服务器记录携带:| 字段 | 取值 |
|---|---|
auth_mode | none、bearer、oauth、basic |
status | ok、degraded、down(由健康探测设定) |
credentials | 静态时加密,从不以明文返回 |
/api/workspace/firewall/*)操作,需要 Developer+,不是
一把中继密钥——注册、探测和规则编写全都发生在管理平面:
tool_name_glob: <server>.*
的防火墙规则限定为 pending_approval,直到你看到一段干净的
调用历史——来自那个服务器的每一次调用都在它运行之前被挂起交给
一个人工。一旦你信任它,把该规则放松到 audit 或 allow。
从那一点起,MCP 网关会在派发之前于 mcp 执行面上评估每一次
tools/call——因此如果一次抽地毯稍后添加了一个未声明的工具,
是你的策略、而非服务器的清单,来决定它是否运行。
4. 技能风险评级与隔离
每一个可安装的能力——无论是你注册的还是网关在运行时自动检测的 ——都会被跑过 技能扫描器。发现项 汇总为一个风险评级(risk band)和一个执行模式:风险评级
风险评级
low · medium · high · critical。该评级由对清单和声明
范围的确定性扫描遍历推导而来(未声明的工具使用、超出已批准
范围的网络 egress、不安全的文件系统写入、注入形态的清单文本)。执行模式
执行模式
allow(由你的策略规则决定)、quarantine(任何非 deny 判定
都升级为 pending_approval——一个人工批准每一次调用)、block
(无论规则如何,对该技能的所有工具强制 deny)。一个 high
评级的技能会自动隔离;critical 则拦截。为何自动检测 = 始终隔离
为何自动检测 = 始终隔离
一个智能体自行安装的能力,或一次抽地毯添加的工具,无论其扫描
得分如何,都被挂在
pending_approval 中,直到一个人工审查它。
一个操作者无法悄悄添加一个工具就让你的智能体开始使用它。5. Egress 允许列表——遏制”回拨主控”
最具破坏性的供应链结果是一个外泄的被攻陷依赖。防火墙的egress
执行面评估一个工具报告的出站目的地(host / IP / CIDR),因此你
可以钉住数据被允许去往何处。
你自己编写一条 egress 规则:一份带 cidr_match 谓词的主机/CIDR
允许列表会拒绝一切不在列表上的目的地。把它与一条打断
retrieve→egress 链的序列规则组合,那么一个试图把检索到的
文档运往未知主机的被投毒工具就会在网关上被拒绝。
6. 加密凭据——一个被攻陷服务器读不到你的密钥
服务器认证密钥在静态时被加密,并在派发时由网关注入。它们永远 到不了模型、智能体或工具调用参数——因此一个被攻陷或恶意的服务器 无法通过读取它自己的凭据 blob 来外泄你的 API 密钥。控制台总是 返回掩码后的密钥——即便对一个 Admin 也是如此。解密后的值只在 恰好一条路径上被发出:一个携带 firewall-gateway-scoped 令牌 (一种 Admin 专为网关/代理显式铸造的专用令牌类型)的请求, 因此一把普通的泄露中继密钥无法枚举你的 MCP 凭据。7. 把它汇总成一份审计
供应链治理也是一个审计制品。OrcaRouter 映射到 OWASP Top 10 for LLM Applications——包括 LLM05 Supply Chain 控制——作为合规引擎的一部分,与soc2、iso_27001、iso_42001、
nist_ai_rmf 和 eu_ai_act 等框架并列。
安装一个合规包
(POST /api/compliance/packs/:key/install,工作区 Admin,付费
计划)会物化匹配的防护栏和防火墙策略,并以一个 observe-first
姿态起步。合规报告包含一个 AI 供应链证据章节——你的工作区
实际路由到的上游提供商,外加一份特权访问和密钥卫生审查——并
经 Ed25519 签名、可公开验证。浏览目录和就绪度对每个 Member 免费;
完整生命周期参见 合规。
MCP 治理是两个互补的层:在
mcp 执行面上的逐次调用防火墙评估
(对一个依赖做什么的执行),外加一份工具 schema 完整性
基线(声明工具集的首次使用即信任哈希,在每次探测时重新核对
——漂移会把服务器的 schema_status 翻转为 changed 并让派发
故障关闭,直到一个 admin 重新建立基线或将其隔离)。与技能风险
评级和隔离合在一起,那就是对一个依赖做什么的执行,以及一份它
声明了什么的可验证记录。8. 一个供应链基线
在你信任一个新的 MCP 服务器或技能之前
在你信任一个新的 MCP 服务器或技能之前
注册它、探测它的工具集,并把一条
<server>.* 规则限定为
pending_approval 或 audit。阅读扫描发现项——任何未声明
工具或外部 egress 的发现都是把它继续隔离的理由。核实是谁
控制着那个端点 URL。在稳态中
在稳态中
为任何带 fetch/search/export 工具的智能体保持一份 egress 允许
列表被钉住。观察 Discovered tools 视图
里那些无规则就出现的能力,以及异常信息流里新颖的工具到工具
路径。
在疑似一次抽地毯之后
在疑似一次抽地毯之后
禁用该服务器(
PUT .../mcp_servers,"enabled": false)——它
被禁用期间凭据从不被解密。重新探测以浮现新工具、重新扫描
技能,并审查 pending_approval 队列,而不是批量批准。9. 相关威胁与概念
- MCP 工具投毒与抽地毯—— 对恶意和被劫持 MCP 服务器的深入讲解。
- 数据外泄——限制工具调用 可以把数据发往何处的 egress 规则。
- 危险工具调用——无论 工具来自何处,都拦截破坏性动作。
- 密钥泄露——把凭据挡在 提示词、参数和日志之外。
- 保护 AI 智能体 和 控制栈——这些控制如何契合 更广泛的姿态。
防火墙:MCP 服务器
在网关后注册 MCP 服务器、探测它们的工具,并在任何调用到达
真实服务器之前应用一个逐次调用判定。
防火墙:技能
扫描每一个可安装能力并为其评定风险分。在风险技能的工具运行
之前隔离或拦截它们。
