一天40个Commits,HiClaw发布v1.0.6:凭证零暴露,Skills+MCP>2

admin 2026-03-19 17:00:30 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍HiClawv1.0.6版本如何通过HigressAIGateway与mcporter实现企业级MCPServer管理,核心价值在于凭证零暴露:Worker仅获得临时consumertoken而无法接触真实API密钥,网关层统一存储凭证并实现MCPServer粒度的权限控制。文章阐述了MCP与SKILLS的互补关系,MCP提供工具定义与权限治理,SKILLS负责场景化能力包装与持续迭代。技术架构包括Manager自动生成YAML配置、网关签发临时token、Worker通过mcporter调用工具的完整流程,支持从Swagger/OpenAPI或curl命令快速生成MCP工具,并提供了端到端的实战示例。该方案解决了AIAgent在生产环境中凭证泄露、权限管理混乱等安全困境,是安全开发领域具有高度可操作性的解决方案。 综合评分: 85 文章分类: 安全开发,安全工具,AI安全,应用安全,安全建设


cover_image

一天40个 Commits,HiClaw 发布 v1.0.6:凭证零暴露,Skills + MCP > 2

爱唠叨的Nil

2026年3月17日 18:12 江苏

以下文章来源于Higress ,作者澄潭

Higress .

开源项目:Higress 网关、HiClaw 多 Agent 协作网络、HiMarket Agent 开放平台。

💡 目录 💡

    01  凭证安全的困境

    02  什么是 MCP?为什么它很重要?

    03  介绍 mcporter:通用 MCP CLI

    04  MCP 与 SKILLS:互补而非替代

    05  架构:一切如何运作

    06  端到端示例:添加自定义 API

    07  从 Swagger/OpenAPI 到 MCP 工具

    08  从 curl 到 MCP 工具

    09  Worker 生成的 Skills:自我完善的文档

    10  安全模型:深度防御

    11  这对路线图意味着什么

    12  其他改进

    13  快速开始

    14  接下来是什么

01

凭证安全的困境

如果你在生产环境中运行 AI Agent,可能面临过这样的两难选择:

“我想让 Agent 用 GitHub,但不想把我的 PAT 给它” — 一个泄露的 token 就可能导致仓库被攻击。

“我需要 Worker 调用内部 API,但那些密钥太敏感了” — 计费系统、数据库、支付网关的 API key… 给 Agent 用风险太大。

“不同 Worker 需要不同权限,但管理起来简直是噩梦” — 前端 Worker 应该有生产数据库的访问权限吗?大概不应该。但怎么强制执行?

在 1.0.6 版本中,我们带来了全面的解决方案:基于 Higress AI Gateway + mcporter 的企业级 MCP Server 管理

02

什么是 MCP?为什么它很重要?

MCP (Model Context Protocol) 是一个开放标准,用于将 API 暴露为 AI Agent 可以发现和调用的工具。可以把它理解为”给 AI Agent 用的 OpenAPI”—— 你不需要手动给 Agent 讲解每个 API 端点,只需要定义一次 MCP 工具,任何兼容 MCP 的 Agent 都可以立即使用。

MCP 的美妙之处在于它将工具定义凭证管理分离。工具的 schema 说明了”这个 API 做什么,需要什么参数”,但不会说”这是 API key”。这种分离是企业级安全部署的基础。

03

介绍 mcporter:通用 MCP CLI

在深入了解 HiClaw 的集成之前,让我们先介绍 mcporter [1]—— 由 Peter Steinberger[2](OpenClaw 作者)开发的强大 MCP 工具包。

mcporter 是一个 TypeScript 运行时、CLI 和代码生成工具包。核心能力:

  • 零配置发现:自动发现 Cursor、Claude Code、Codex、Windsurf、VS Code 中配置的 MCP 服务器。
  • 友好的 CLI:用cporter call server.tool key=value 调用任意 MCP 工具。
  • 类型安全:生成带有完整类型推断的 TypeScript 客户端。
  • 一键 CLI 生成:将任意 MCP 服务器转换为独立的 CLI 工具。
# 列出所有已配置的 MCP 服务器
mcporter list

# 查看某个服务器的工具和完整参数 schema
mcporter list github --schema

# 调用工具
mcporter call github.search_repositories query="hiclaw" limit=5

在 HiClaw 1.0.6 中,Manager 和 Worker 都使用 mcporter 与 MCP 服务器交互 —— 但通过 Higress AI Gateway 实现了关键的安全增强。

#

04

MCP 与 SKILLS:互补而非替代

在了解 HiClaw 的 MCP 集成架构前,有必要先澄清 MCP 和 SKILLS 的关系

HiClaw 的开放技能生态

HiClaw 通过对接 skills.sh [3]*支持开放的 SKILLS 市场,并且支持对接 Nacos 的企业自建 SKILLS 市场*。SKILLS 是面向实际场景的、可迭代的能力包装:

  • 场景导向:将多个原子工具组合成完整的业务流程。
  • 持续演进:基于实战经验不断优化和改进。
  • 知识沉淀:包含最佳实践、错误处理、参数说明。

#

MCP 在生态中的定位

MCP 并不是要取代 SKILLS,而是作为 SKILLS 生态中的补充,用于快速将已有的 API 转换成标准的 Agent 可使用的工具。MCP 的核心价值在于:

  • 明确的约束和规范:对工具有着更严格的定义和类型约束。
  • 权限治理体系:可以复用 MCP 的认证鉴权能力(MCP Server 粒度的权限管理,企业版支持工具粒度)。
  • 批量转换能力:尤其在企业场景下,基于 Higress 的 MCP 网关能力可以无痛地将大量存量 API 批量转换成 MCP 工具,实现精细化管理。

#

mcporter 的桥接作用

通过 mcporter 这样的 CLI 工具,HiClaw 实现了 MCP 工具的重新编排和组织,形成可迭代的 SKILL:

MCP 工具(原子能力)
    ↓ mcporter 编排
SKILL(场景化能力包)
    ↓ 实战使用
SKILL 迭代优化

SKILL + MCP = 1+1 > 2

两者的最佳实践是:

  • SKILL 负责场景演进:贴合实际业务场景,不断迭代技能的组合逻辑和最佳实践。
  • MCP 负责细粒度权限管控:贴合业务能力做好 MCP Server 和工具的权限治理与凭证管理。

这种互补关系实现了 SKILL + MCP 1+1 大于 2 的效果:企业既能享受开放 SKILLS 市场的丰富能力,又能通过 MCP 网关对企业内部 API 实现安全、精细的权限管控。

05

架构:一切如何运作

当你想为 Worker 添加一个新的 API 工具时,完整流程如下:

┌─────────────────────────────────────────────────────────────────────────────┐
│                              你(人类)                                       │
│                                                                             │
│  "添加一个股票指数 API:GET https://api.finance.com/v1/index?symbol={symbol}"  │
│  "通过 X-API-Key header 认证,这是我的 key:sk_xxx"                            │
└────────────────────────────────────┬────────────────────────────────────────┘
                                     │
                                     ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                           MANAGER CLAW                                      │
│                                                                             │
│  1. 根据你的描述生成 MCP Server YAML 配置                                       │
│  2. 运行 setup-mcp-server.sh stock-index "sk_xxx" --yaml-file /tmp/stock.yaml│
│  3. 用 mcporter 验证:mcporter call stock-index.get_index symbol=000001.SH    │
│  4. 通知 Worker:"新 MCP 服务器 'stock-index' 已就绪"                           │
└────────────────────────────────────┬────────────────────────────────────────┘
                                     │
                                     ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                        HIGRESS AI GATEWAY                                   │
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │  MCP Server: stock-index-mcp-server                                 │    │
│  │  ├─ 真实凭证: sk_xxx(安全存储,永不暴露)                               │    │
│  │  ├─ 工具: get_index(symbol: string) → 股票指数数据                    │     │
│  │  └─ 授权消费者: manager, worker-alice, worker-bob                     │    │
│  └─────────────────────────────────────────────────────────────────────┘    │
│                                                                             │
│  向 Worker 签发临时 consumer token                                            │
│  Token 只能调用已授权的 MCP 服务器                                              │
│  真实 API key 永远不会离开网关                                                 │
└────────────────────────────────────┬────────────────────────────────────────┘
                                     │
                                     ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                           WORKER CLAW                                       │
│                                                                             │
│  1. 收到 Manager 的通知                                                       │
│  2. 从 MinIO 拉取最新的 mcporter 配置                                          │
│  3. 发现工具:mcporter list stock-index --schema                              │
│  4. 测试工具:mcporter call stock-index.get_index symbol=000001.SH            │
│  5. 基于理解生成 SKILL.md                                                     │
│  6. 后续任务中即可使用该工具!                                                   │
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │  Worker 的视角:                                                     │    │
│  │  ├─ 拥有:Consumer token(就像一张"工牌")                              │    │
│  │  ├─ 可以:通过网关调用 stock-index.get_index                           │    │
│  │  └─ 不可以:看到真实的 API key sk_xxx                                  │    │
│  └─────────────────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────────────────┘

如下图所示,也可以直接上传swagger文件给Manager自行分析:

配置完成后,Manager 可以在 Higress 控制台查看 MCP Server 下的工具列表,并进行进一步的权限管理:

通过控制台,你可以:

  • 管理调用凭证(例如不用告诉manager真正的凭证,而是到控制台手动配置)
  • 查看 MCP Server 包含的所有工具
  • 为每个 Consumer(Worker)配置 MCP Server 级别的访问权限
  • 监控工具调用情况和性能指标
  • 动态调整权限策略,无需重启服务

权限管理说明:

  • Higress 开源版:支持 MCP Server 粒度的权限管理(例如:Worker A 可以访问整个stock-index MCP Server )

  • Higress 企业版:支持 工具粒度的权限管理(例如:

    Worker A 只能调用istock-index.get_indext ,

    但不能调用istock-index.update_indext )

HiClaw 1.0.6 基于开源版实现了 MCP Server 级别的安全隔离,已能满足大部分企业场景的权限管控需求。

核心安全原则:Worker 永远看不到真实凭证。

即使 Worker 被完全攻破,攻击者也只能获得一个 consumer token:

  • 只能调用你授权的特定 MCP 服务器
  • 可以被 Manager 瞬间吊销
  • 不包含任何可复用的凭证信息

#

06

端到端示例:添加自定义 API

让我们走一遍真实场景。你有一个内部计费 API,想让 Worker 查询客户数据。

步骤 1:向 Manager 描述 API

在你的 Matrix 房间,告诉 Manager:

你:我想添加计费 API 作为 MCP 工具。
    端点:GET https://billing.internal.company.com/api/v1/customers/{customer_id}
    认证:Authorization header 里的 Bearer token
    这是 token:Bearer eyJhbGciOiJSUzI1NiIs...

步骤 2:Manager 完成繁重工作

Manager 会:

  1. 生成 YAML 配置
   server:
     name: billing-mcp-server
     config:
       accessToken: ""# Manager 在这里替换你的真实 token
   tools:
   - name: get_customer
     description: "通过 ID 获取客户详情"
     args:
     - name: customer_id
       description: "客户 ID(如 CUST-12345)"
       type: string
       required: true
     requestTemplate:
       url: "https://billing.internal.company.com/api/v1/customers/{{.args.customer_id}}"
       method: GET
       headers:
       - key: Authorization
         value: "Bearer {{.config.accessToken}}"
  1. 部署到 Higress MCP Gateway
   setup-mcp-server.sh billing "eyJhbGciOiJSUzI1NiIs..." --yaml-file /tmp/mcp-billing.yaml
  1. 用 mcporter 验证
   mcporter list billing --schema
   mcporter call billing.get_customer customer_id=CUST-12345
  1. 通知相关 Worker
   Manager:@alice @bob 新 MCP 服务器 `billing` 已配置完成,包含工具:get_customer。
           请使用 file-sync skill 拉取更新后的配置,然后使用 mcporter skill 发现并学习新工具。

步骤 3:Worker 自动配置

Worker Alice:

# 从 MinIO 拉取更新的配置
hiclaw-sync

# 发现新工具
mcporter list billing --schema

# 测试工具
mcporter call billing.get_customer customer_id=CUST-12345

# 为将来参考生成 SKILL
mkdir -p ~/skills/billing-operations
# ... 写入 SKILL.md,包含工具文档

步骤 4:Worker 在任务中使用工具

之后,当你分配任务时:

你:@alice 检查客户 CUST-12345 是否有逾期账单

Alice:让我查询计费系统...
       mcporter call billing.get_customer customer_id=CUST-12345

       客户:Acme Corp
       状态:活跃
       逾期:是的,$4,500 自 1 月 15 日起

       该客户确实有逾期账单。

Alice 从未看到真实的 API token。她只使用了 consumer token 通过网关调用。

07

从 Swagger/OpenAPI 到 MCP 工具

如果你有现成的 Swagger 或 OpenAPI 格式的 API 文档?更简单。

你:这是我们的产品目录 API Swagger 文档:
    https://docs.internal.company.com/swagger.json
    通过 X-API-Key header 认证。Key:prod_cat_xxx

Manager:我会将 Swagger 文档转换为 MCP 工具...
         发现 12 个端点,创建 12 个 MCP 工具...
         部署到 Higress 为 `product-catalog` MCP 服务器。

         测试第一个工具... ✓
         测试第二个工具... ✓
         所有工具已验证。

         @warehouse-team 新 MCP 服务器 `product-catalog` 已就绪,包含 12 个工具。

Manager 可以读取 Swagger/OpenAPI 文档并自动生成对应的 MCP 服务器配置。

08

从 curl 到 MCP 工具

更简单 —— 直接粘贴 curl 命令:

你:添加这个 API 调用作为工具:
    curl -X GET "https://api.shipping.com/v1/track?tracking_id=ABC123" \
         -H "X-API-Key: ship_xxx"

Manager:创建 MCP 服务器 `shipping`,包含工具 `track_package`...
         部署并测试完成。@logistics-team 现在可以使用 track_package 了。

09

Worker 生成的 Skills:自我完善的文档

HiClaw 1.0.6 的一个独特功能是:Worker 不仅仅是使用 MCP 工具 —— 它们会为其编写文档

当 Worker 首次遇到一个新的 MCP 服务器时,它会:

  1. 发现所有工具:通过mcporter list --schema
  2. 测试代表性工具:理解其行为
  3. 生成 SKILL.md,包含:
  • 用自然语言描述的工具说明
  • 示例imcporter callt 命令
  • 参数说明和常见模式
  • 测试中发现的注意事项

这个 SKILL 成为 Worker 对该 MCP 服务器的永久参考。随着时间推移,Worker 使用工具越多,可以基于实战经验改进 SKILL

  • 添加错误处理技巧
  • 记录速率限制
  • 记录哪些参数实际上是必需的 vs 可选的
  • 分享最佳实践

就像有一个 AI 在编写自己的文档 —— 并且不断改进它。

10

安全模型:深度防御

让我们明确 Worker 能做什么、不能做什么:

#

Worker 可以做的

  • ✅ 调用任何已授权的 MCP 服务器
  • ✅ 通过 Higress AI Gateway 使用工具
  • ✅ 生成和改进 SKILL 文档
  • ✅ 在授权范围内自主工作

#

Worker 不能做的

  • ❌ 看到真实的 API key、token 或凭证
  • ❌ 调用未授权的 MCP 服务器
  • ❌ 从网关提取凭证
  • ❌ 与其他 Worker 共享凭证

#

如果 Worker 被攻破会发生什么

  1. 攻击者获得一个 consumer token —— 只在 HiClaw 内有用
  2. Manager 立即吊销该 token —— 无需轮换凭证
  3. 真实 API key 保持安全 —— 它们从未离开网关
  4. 创建新 Worker —— 几分钟内恢复工作

这就是凭证零信任原则:Agent 按需知悉原则运作,而它们从不需要知道真实凭证。

#

11

这对路线图意味着什么

本版本完成了路线图中”通用 MCP 服务支持”的规划:

  • 预置 MCP 连接器:GitHub,以及通过 YAML 配置的任意自定义服务
  • 自定义 MCP 集成:接入任意 HTTP API,通过 Swagger/curl/YAML 文档化
  • 细粒度权限控制:Manager 按 MCP 服务器授权 Worker

任何兼容 MCP 的工具现在都可以安全地暴露给 Worker,凭证零泄露。

#

12

其他改进

Slash Commands:跨场景控制

1.0.6 版本还引入了随处可用的 slash commands —— 在 DM 或群聊中都可用:

/reset — 修复卡住或配置错误的 Claw

你:@alice /reset

Alice:上下文已清除。准备好接收新任务。

适用于:

  • Claw 陷入循环
  • 配置错误导致问题
  • 想在任务上重新开始

/stop — 中断长时间运行的任务

你:@bob /stop

Bob:任务已中断。这是我正在做的事情:
     - 已分析代码库的 45%
     - 发现 3 个潜在问题
     - 还没开始修复

     为什么打断我?你想让我改变方向吗?

适用于:

  • 任务耗时太长
  • 想在任务中期提供指导

#

/model – 快速切换当前会话模型

你:@manager /model qwen3.5-plus

manager:Model set to qwen3.5-plus (hiclaw-gateway/qwen3.5-plus).

适用于:

  • 无需重启,快速切换manager或worker到指定模型

#

优化的文件同步

文件同步设计原则已统一:“写入者推送并通知,接收者按需拉取”,5 分钟定时拉取仅作为兜底。Manager 在 task/project 完成流程中增加按需mc mirror 拉取,确保读取 Worker 最新结果。

详见 完整发布说明。[1]****

13

快速开始

已经在使用 HiClaw?升级到最新版本:

bash <(curl -sSL https://higress.ai/hiclaw/install.sh)

HiClaw 新用户?一条命令开始:

# macOS / Linux
bash <(curl -sSL https://higress.ai/hiclaw/install.sh)

# Windows (PowerShell 7+)
Set-ExecutionPolicy Bypass -Scope Process -Force;&nbsp;$wc=New-Object Net.WebClient; iex&nbsp;$wc.DownloadString('https://higress.ai/hiclaw/install.ps1')

安装完成后,在 http://127.0.0.1:18088 打开 Element Web,告诉你的 Manager 添加一些 MCP 工具吧!

14

接下来是什么

我们正在持续改进 HiClaw。即将到来:

  • Team 管理中心:所有 Agent 的实时可视化、任务时间线、资源监控
  • 更多 Worker 运行时:ZeroClaw(基于 Rust,3.4MB)、NanoClaw(极简 OpenClaw 替代品)
  • 增强的 MCP 发现:从流行的 MCP 注册表自动导入

加入我们的社区:

Discord:

https://discord.com/invite/NVjNA4BAVw 钉钉:

https://qr.dingtalk.com/action/joingroup?code=v1,k1,q3lHf2AY4o0W2aBsoyJE0kgYnGcBFqpBuwDTjJ36iu8=

英伟达昨天发布了 NemoClaw,我们整理了简单的对比。

相关链接

[1] mcporter:https://github.com/steipete/mcporter

[2] Peter Steinberger:https://github.com/steipete

[3] skills.sh:https://skills.sh/

[4] 完整发布说明:

https://github.com/alibaba/hiclaw/releases/tag/v1.0.6

本文作者:


📔 推荐阅读:

  • 阿里开源龙虾组合来了:HiClaw + CoPaw,内存占用大幅降低,还能直接操作本地环境
  • Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装
  • HiClaw Star 激增,全网征集实践教程

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:爱唠叨的Nil 《一天40个 Commits,HiClaw 发布 v1.0.6:凭证零暴露,Skills + MCP > 2》

评论:0   参与:  0