背景:为什么技能安全很重要?
ClawHub 上的技能数量已经突破 69,000+,每天有数千个新技能被安装到各种 OpenClaw 实例中。但技能的安全性一直是个隐患:
- 恶意技能可能窃取 API Key 和用户数据
- 未经审查的技能可能执行危险的 shell 命令
- 供应链攻击:热门技能被劫持后植入后门
- 权限过大:一个"天气查询"技能要求访问文件系统
2026 年 6 月,OpenClaw 与 NVIDIA 宣布合作,推出 Skill Security Framework,从多个层面保障技能安全。
合作时间线
2026年4月 — 合作启动
OpenClaw 与 NVIDIA 安全团队开始技术对接
2026年5月 — Beta 测试
ClawHub 上线安全扫描功能 Beta 版,首批 5,000 个热门技能通过审核
2026年6月 — 正式发布
Skill Security Framework 正式发布,所有新提交的技能必须通过安全扫描
2026年Q3 — 全量覆盖
计划对 ClawHub 全部 69,000+ 技能完成安全扫描
安全扫描流程
扫描阶段
# Skill Security 扫描流程
提交技能到 ClawHub
↓
[阶段1] 静态分析
- SKILL.md 语法检查
- 敏感关键词检测(rm, sudo, curl POST, etc.)
- 权限声明审查
↓
[阶段2] 行为分析
- 沙箱执行测试
- API 调用模式分析
- 文件访问模式分析
↓
[阶段3] 供应链检查
- 依赖项安全扫描
- 版本一致性验证
- 已知漏洞检查
↓
[阶段4] AI 语义审查
- LLM 分析技能意图
- 检测隐藏的恶意指令
- 评估权限合理性
↓
安全评分 → 发布 / 人工审核 / 拒绝
安全评分体系
# 安全评分维度(满分 100)
┌─────────────────┬────────┬──────────────────────────┐
│ 维度 │ 权重 │ 说明 │
├─────────────────┼────────┼──────────────────────────┤
│ 静态安全 │ 25% │ 代码/配置安全性 │
│ 行为安全 │ 30% │ 运行时行为是否合规 │
│ 供应链安全 │ 20% │ 依赖项安全性 │
│ 权限合理性 │ 15% │ 申请权限是否最小化 │
│ 社区信誉 │ 10% │ 作者历史、下载量、评价 │
└─────────────────┴────────┴──────────────────────────┘
# 安全等级
90-100: 🟢 安全(自动通过)
70-89: 🟡 中等(标记提醒)
50-69: 🟠 警告(需人工审核)
0-49: 🔴 危险(自动拒绝)
沙箱隔离机制
沙箱架构
# 技能执行沙箱
┌─────────────────────────────────────┐
│ OpenClaw Gateway │
│ ┌─────────────────────────────────┐ │
│ │ Skill Sandbox (gVisor/Firecracker)│ │
│ │ ┌─────────────────────────────┐ │ │
│ │ │ SKILL.md 执行环境 │ │ │
│ │ │ - 只读文件系统 │ │ │
│ │ │ - 网络白名单 │ │ │
│ │ │ - CPU/Memory 限制 │ │ │
│ │ │ - 时间限制 (30s) │ │ │
│ │ └─────────────────────────────┘ │ │
│ └─────────────────────────────────┘ │
│ Host System (隔离) │
└─────────────────────────────────────┘
沙箱策略配置
# openclaw.json
{
"skills": {
"sandbox": {
"enabled": true,
"runtime": "gvisor", // gvisor | firecracker | docker
"limits": {
"cpu": "0.5",
"memory": "256MB",
"disk": "100MB",
"networkOutbound": "whitelist",
"timeoutSeconds": 30
},
"filesystem": {
"readOnly": true,
"allowedPaths": ["/tmp/skill-workspace"]
},
"network": {
"allowedDomains": ["api.openai.com", "clawhub.ai"],
"blockedPorts": [22, 3306, 5432]
}
}
}
}
供应链安全
技能依赖检查
# 技能可以声明依赖
# SKILL.md
---
name: advanced-analyzer
dependencies:
- name: data-processor
version: ">=2.0.0"
source: clawhub
- name: chart-generator
version: "^1.5.0"
source: clawhub
---
# ClawHub 会自动检查:
# 1. 依赖是否存在
# 2. 版本是否兼容
# 3. 依赖的安全评分
# 4. 依赖的依赖(传递依赖)
签名验证
# 技能发布者签名
openclaw skill sign my-skill --key ~/.openclaw/keys/signing.key
# 安装时验证签名
openclaw skill install my-skill --verify-signature
# 签名验证结果
✅ Signature valid
✅ Signer: miaoquai (verified)
✅ Timestamp: 2026-06-10T01:00:00Z
✅ Certificate chain valid
最佳实践
💡 技能开发者安全指南:
- 最小权限:只申请必要的权限,不要"全都要"
- 透明意图:在 SKILL.md 中清楚说明技能的功能和行为
- 避免硬编码:不要在技能中硬编码 API Key 或敏感信息
- 输入验证:对所有用户输入进行验证和清洗
- 定期更新:及时更新依赖项,修复已知漏洞
- 签名发布:始终对发布到 ClawHub 的技能进行签名
⚠️ 技能使用者安全建议:
- 安装技能前检查安全评分(建议 80+)
- 关注技能的权限声明是否合理
- 优先安装经过签名验证的技能
- 定期审查已安装的技能列表